Interested in physics but *Hate* computers....

  • Context: Physics 
  • Thread starter Thread starter Delong
  • Start date Start date
  • Tags Tags
    Computers Physics
Click For Summary

Discussion Overview

The discussion revolves around the challenges faced by a participant in a biophysics lab who is struggling with the necessity of computer programming skills, particularly in Matlab, despite having no formal training in coding. The conversation explores the intersection of physics and computer skills, emphasizing the importance of programming in modern research and the participant's desire to improve without a strong inclination towards software development.

Discussion Character

  • Exploratory
  • Debate/contested
  • Technical explanation
  • Conceptual clarification

Main Points Raised

  • Some participants suggest that while it is possible to get by with minimal coding skills, having better computing skills can provide a significant advantage in physics.
  • Others argue that programming skills can be developed through practice and problem-solving rather than formal education, emphasizing the importance of motivation to solve specific problems.
  • A few participants express that the intimidation felt by the original poster is common and that patience from colleagues can facilitate learning at one's own pace.
  • Some contributions highlight that understanding mathematics is crucial in physics, and while computers can assist with calculations, they also require a level of proficiency to be effective.
  • Several participants recommend taking programming classes to build confidence and skills in coding, particularly for Matlab.
  • There are mentions of the potential for lab work to minimize computer time, though this may vary by field and lab resources.
  • Concerns are raised about the expectation of learning programming skills, especially in unpaid positions, and the need for supportive environments from supervisors and colleagues.

Areas of Agreement / Disagreement

Participants generally agree that programming skills are important in physics research, but there is no consensus on the necessity of being highly skilled in software to succeed. Some express that it is possible to contribute without extensive programming knowledge, while others assert that proficiency is essential for advancement.

Contextual Notes

The discussion reflects varying levels of comfort and experience with programming among participants, as well as differing opinions on the best approach to learning these skills. There are also implications regarding the expectations placed on students in unpaid positions, which may affect their learning experiences.

Who May Find This Useful

This discussion may be useful for students in STEM fields, particularly those in physics or biophysics, who are facing challenges with programming and seeking advice on how to navigate their learning process in a lab environment.

Delong
Messages
400
Reaction score
18
Hi I'm in a physics lab right now (biophysics specifically) and I'm interested in the field of physics and biology. I've already been in this lab for five months now but I'm coming to the point where I have to work with a lot of computer programming (Matlab) and debugging.

I've had absolutely no formal training in coding and I feel like I've been sent to war with some of the projects the lab has given me. I don't really have any desire to be a software engineer or software anything. Is there a way I can survive in physics without being software savvy?
 
Physics news on Phys.org
Well there are certainly different people who have vastly different skill sets when it comes to coding, so it certainly is possible to get by on the minimal end of the curve. But if you plan on going far in physics, the better your computing skills are, the more of an advantage you will have.

One thing to remember as a student is that skills like coding are not inherent. They come with practice, conscious efforts at improvement and constructive feedback. It's frustrating to be the one in the lab who takes a hour to solve a problem that the guy next to you can solve in two minutes. But, the way the guy next to you got that way was from taking so many hours to work on previous problems.
 
  • Like
Likes   Reactions: Delong
I suppose I would like to get better at programming and increase my overall skill set it's just that the skill others in the lab have with programming intimidates me. I feel like I'm out of place with some of their requests but if they're patient enough with me then I'm fine with trying to catch up on software proficiency at my own pace...
 
Here's the advice I tell my students.

In the past, it seemed as if one has to go through most of the major courses
to get to the stage to really contribute to research in physics as an undergraduate [especially in theory projects].
However, nowadays, programming and/or running software to analyze data or perform simulations
is one way that students can contribute earlier. (It can also make you more marketable for summer REUs, summer jobs, or jobs after college.)

In my own experience, it's usually the desire to solve a specific problem at hand
that drove my abilities to program a computer. Taking courses in the computer science department weren't helpful to me.
Getting some library books (or, nowadays, searching the web or watching youtube) and spending the time figuring out how to solve my problem was more useful.
 
You won't get far in physics without an understanding of the mathematics behind theories.
Computers are able to do the grinding part of calculating very quickly, which in principle should give you more time to explore ideas.
Then again my toaster produces infuriatingly unexpected results sometimes.
 
  • Like
Likes   Reactions: Parsifal1
If you are at the point where you have to learn computer to progress, and you have been putting it off, chances are your advisor thinks it is important. You probably should bite the bullet and put in a conscientious effort to learn and tame the computer to do what you (and your supervisor) want. You might bail after 5 months, but what would be different in the next lab position. There is still a good chance you will need to do programming. The short answer to your last question is No, you need to be software saavy.

At least you can console yourself to the observation, the skill you learn now (i.e. taming computers) will be in higher demand when you look for a job, than if you never learned to use this important tool.
 
You can do more lab work. In a sense, you are either waiting for a centrifuge/PCR/gel or you are behind a computer.

Organic chemistry also seems low in computer work, though I don't know how much that has changed/is changing with high-throughput methods, if your lab has the money to afford that.
 
rootone said:
You won't get far in physics without an understanding of the mathematics behind theories.
Computers are able to do the grinding part of calculating very quickly, which in principle should give you more time to explore ideas.
Then again my toaster produces infuriatingly unexpected results sometimes.
I have no problem with mathematics my enthusiasm for math is more than sufficient. It's the computer part I'm not as keen on. I don't have enthusiasm for debugging or coding or anything involving patience with computers. But I guess it's something I will just have to get over eventually.
 
  • Like
Likes   Reactions: symbolipoint
mpresic said:
If you are at the point where you have to learn computer to progress, and you have been putting it off, chances are your advisor thinks it is important. You probably should bite the bullet and put in a conscientious effort to learn and tame the computer to do what you (and your supervisor) want. You might bail after 5 months, but what would be different in the next lab position. There is still a good chance you will need to do programming. The short answer to your last question is No, you need to be software saavy.

At least you can console yourself to the observation, the skill you learn now (i.e. taming computers) will be in higher demand when you look for a job, than if you never learned to use this important tool.
Sigh I suppose you're right even though I'm not particularly enthusiastic about it. I just hope my superiors are patient enough for me and my learning process. But then again I'm working for them for free anyway so they can just take it or leave it haha...
 
  • #10
Why not take a couple of classes in computer programming? An intro class followed by a class in C++ (Matlab has moved to an object-oriented structure) will give you the background to confidently write Matlab code. You can start in summer school.
 
  • #11
marcusl said:
Why not take a couple of classes in computer programming? An intro class followed by a class in C++ (Matlab has moved to an object-oriented structure) will give you the background to confidently write Matlab code. You can start in summer school.
That is certainly an idea. I will consider my reservoirs of money and will power...
 
  • #12
Learning to use a computer and enjoy using them are two different things.

That said, if you truly enjoy solving physics problems, you enjoy solving them with most powerful problem-solving tools available. And many times, that's a computer.
 
  • #13
Delong said:
I have no problem with mathematics my enthusiasm for math is more than sufficient. It's the computer part I'm not as keen on. I don't have enthusiasm for debugging or coding or anything involving patience with computers. But I guess it's something I will just have to get over eventually.
Learning about computers and programming in the educational institution setting that is the real difficulty. The quote that you said helps to explain that. Students may well find later that a computer program which only they can create will make some of their work better, if they just take the time to formulate, test it, and debug it. Learning how might not all happen during semester time, but reviewing and studying again can make him stronger in program-designing. Working on a programming project for your own goals and interest also helps this happen.
 
  • #14
I may have been too free in giving advice. I did not realize your were not being paid for the position. I think most of my suggestions and observations were valid. I do think your co-workers, and supervisor should exhibit the utmost patience and support in your learning, particularly because you are not being paid for the work.
 
  • #15
Delong said:
I just hope my superiors are patient enough for me and my learning process. But then again I'm working for them for free anyway so they can just take it or leave it haha...

mpresic said:
I may have been too free in giving advice. I did not realize your were not being paid for the position. I think most of my suggestions and observations were valid. I do think your co-workers, and supervisor should exhibit the utmost patience and support in your learning, particularly because you are not being paid for the work.

While the "working for them for free so they can just..." statement was a joke,
let me just add this.

While I agree that the supervisor should exhibit patience,
the reality of working with a student (free or paid, for credit or for a class) is that
time and effort and sometimes resources are taken away from other things [other projects, other students, teaching, etc...].
Hopefully, the time and effort is well spent and pays off for both student and supervisor.
 
  • #16
Hey Delong.

It might help for you to discuss the specifics of why programming and software development are difficult.

The process of problem solving in programming is similar to that of mathematics and the derivative fields (like the sciences and engineering that use it) but there is a lot more specificity involved because not only does the process have to be specific - so does the structure of information.

If you are able to do mathematics, physics, and other mathematically based problem solving but find coding difficult I'd imagine it has more to do with the specificity of the data structures and protocols on a computer than it does for your inherent inability to code.

Also - mathematics and programming organize things in different ways requiring a kind of "translation" between them.

I've had to become sort of fluent in both and if you have specific questions on what is difficult I can do my best to answer them.
 
  • #17
chiro said:
Hey Delong.

It might help for you to discuss the specifics of why programming and software development are difficult.

The process of problem solving in programming is similar to that of mathematics and the derivative fields (like the sciences and engineering that use it) but there is a lot more specificity involved because not only does the process have to be specific - so does the structure of information.

If you are able to do mathematics, physics, and other mathematically based problem solving but find coding difficult I'd imagine it has more to do with the specificity of the data structures and protocols on a computer than it does for your inherent inability to code.

Also - mathematics and programming organize things in different ways requiring a kind of "translation" between them.

I've had to become sort of fluent in both and if you have specific questions on what is difficult I can do my best to answer them.

Well some of the problems I have with programming is that when an error message pops up on the screen most of the time I don't even know how to begin go about solving it or even what it means. Most of this is because a lot of the program was written by grad students before I came. But they expect me to be able to fix something if a bug happens. It just feels too overwhelming I don't even know how to begin to address all the problems and I'm afraid of asking for help because they usually just say "you should be able to do it yourself".

Basically I suppose the problem partly comes from working with people and not so much with programming in and of itself.
 
Last edited:
  • #18
The feeling of overwhelmingness is not unique to yourself. The ability to fix code that someone else wrote (even something you wrote a long time ago!) is a skill that is cultivated over years of banging your head against the wall. My general advice to people new to this process is to break the problem up into bite size pieces. Trace the code step by step, make a flowchart if possible, and then break it and see why it breaks. Is this tedious? Of course, but in order to fix bugs well you often have to understand the general flow of the program and understand the built in assumptions. From there you can start tracing possible error points and creating little test cases.

Anyway, my general advice is just keep working at it. The longer you do it, the easier it becomes. You'll eventually find that after you encounter 1000 bugs, they start to repeat (for the most part :p).
 
  • Like
Likes   Reactions: JorisL
  • #19
Delong said:
Hi I'm in a physics lab right now (biophysics specifically) and I'm interested in the field of physics and biology. I've already been in this lab for five months now but I'm coming to the point where I have to work with a lot of computer programming (Matlab) and debugging.

I've had absolutely no formal training in coding and I feel like I've been sent to war with some of the projects the lab has given me. I don't really have any desire to be a software engineer or software anything. Is there a way I can survive in physics without being software savvy?
Just reread this original posting.
That description seems to mean that the necessary course prerequisites were kept secret, maybe unintentionally. Best thing now is, understand you will have more trouble in your current course/lab, but you need to start studying computer programming at the soonest opportunity. You need a beginning or introductory programming course. If possible, maybe also some course which instructs how to use mathematica, something you indicate you are presently using.
 
  • #20
Thanks everyone for your helpful responses :)!
 
  • #21
symbolipoint said:
Just reread this original posting.
That description seems to mean that the necessary course prerequisites were kept secret, maybe unintentionally. Best thing now is, understand you will have more trouble in your current course/lab, but you need to start studying computer programming at the soonest opportunity. You need a beginning or introductory programming course. If possible, maybe also some course which instructs how to use mathematica, something you indicate you are presently using.
Yea I am thinking about it but I've already taken a lot of classes in college and don't want to throw even more money in that direction right now.

And also I've been thinking that I want to go more into microbiology and molecular biology and not any sort of pure physics research. And even then I enjoy physics but just not computer programming. I'd only take a course on the bare minimum I would need to do well for scientific research, not to like make a computer game or something
 
  • #22
Delong said:
Yea I am thinking about it but I've already taken a lot of classes in college and don't want to throw even more money in that direction right now.

And also I've been thinking that I want to go more into microbiology and molecular biology and not any sort of pure physics research. And even then I enjoy physics but just not computer programming. I'd only take a course on the bare minimum I would need to do well for scientific research, not to like make a computer game or something

STUDY AND LEARN SOME COMPUTER PROGRAMMING, one way or another. Ask your friends. Ask you teachers. Maybe you can find a way to study and learn on your own, as some people say they do. A formal course or two would be better. Think this way: Some data handling can be computerized. Those with the skills to arrange this computerization will have and advantage over those who are without those skills. You could very likely find yourself with a data management problem for which YOUR computer program design skill benefits you.

Your second paragraph quoted, very understandable. Microbio., a great course. Regards to Physics research and not have any interest: Your feeling might flip on this when you take the Modern Physics part of the Physics sequence of courses. Other than that, you should become familiar with how Physics ( electrons as particles and as waves, Optics, radiation, refraction) relates to Microbiology.
 
  • Like
Likes   Reactions: Delong
  • #23
symbolipoint said:
STUDY AND LEARN SOME COMPUTER PROGRAMMING, one way or another. Ask your friends. Ask you teachers. Maybe you can find a way to study and learn on your own, as some people say they do. A formal course or two would be better. Think this way: Some data handling can be computerized. Those with the skills to arrange this computerization will have and advantage over those who are without those skills. You could very likely find yourself with a data management problem for which YOUR computer program design skill benefits you.

Your second paragraph quoted, very understandable. Microbio., a great course. Regards to Physics research and not have any interest: Your feeling might flip on this when you take the Modern Physics part of the Physics sequence of courses. Other than that, you should become familiar with how Physics ( electrons as particles and as waves, Optics, radiation, refraction) relates to Microbiology.
Ok I understand the logic behind what you are saying and in all objectivity learning some computer skills will really benefit me in all areas. I should clarify though that I'm not actually a student right now I am simply volunteering in a lab and I have in fact already graduated college. So taking a class at this point would just cost a lot of money. But overall I understand your point and I will try to get better at programming on my own.
 
  • #24
Delong said:
Ok I understand the logic behind what you are saying and in all objectivity learning some computer skills will really benefit me in all areas. I should clarify though that I'm not actually a student right now I am simply volunteering in a lab and I have in fact already graduated college. So taking a class at this point would just cost a lot of money. But overall I understand your point and I will try to get better at programming on my own.
Community Colleges are less expensive than universities, and admissions usually easier to do. Not really a bad path or source for some introductory and sometimes intermediate level courses. You should be able to find some good computer and programming courses.
 
  • Like
Likes   Reactions: Delong
  • #25
symbolipoint said:
Community Colleges are less expensive than universities, and admissions usually easier to do. Not really a bad path or source for some introductory and sometimes intermediate level courses. You should be able to find some good computer and programming courses.
Good suggestion thank you
 
  • #26
If you need help then find someone who is willing to do it and not be an a-hole about it.

Everyone doesn't start out to be the teacher - they (often) start out as the student.

Having the expectation that you should be able to digest what someone has probably allocated years of their life in an instant (or little time) is unrealistic and I think it's not fair for you to think that you have to do this.

It's a lot like a marathon runner who has been running for many years expecting a new-comer to the running scene to run the marathon. It would be crazy and unrealistic.
 
  • Like
Likes   Reactions: Delong
  • #27
chiro said:
If you need help then find someone who is willing to do it and not be an a-hole about it.

Everyone doesn't start out to be the teacher - they (often) start out as the student.

Having the expectation that you should be able to digest what someone has probably allocated years of their life in an instant (or little time) is unrealistic and I think it's not fair for you to think that you have to do this.

It's a lot like a marathon runner who has been running for many years expecting a new-comer to the running scene to run the marathon. It would be crazy and unrealistic.
Yea I agree and thank you. Some of these grad students are really just not helpful it's hard for me as a newcomer to feel productive...
 
  • #28
Delong said:
Yea I agree and thank you. Some of these grad students are really just not helpful it's hard for me as a newcomer to feel productive...
...which is why a community college should be a good place to start. Fewer graduate students. Lab time and debugging for homework assignments is stressful enough without teaching aid/ teaching assistant /lab aid grad students ridiculing you and giving poor guidance.
 
  • #29
The space in physics for people with only math skills is really, really tiny these days from what I understand.

It would not surprise me if by the end of the decade every physics program had required computational physics courses.
 
  • #30
Crass_Oscillator said:
The space in physics for people with only math skills is really, really tiny these days from what I understand.

It would not surprise me if by the end of the decade every physics program had required computational physics courses.
Yea but I came from a biology and chemistry background so my background in computer programming is literally zero. I guess I'll just have to accept that i like learning about physics but not enough where I am able to do research in it especially if it involves a lot of programming and computer work blegh...
 

Similar threads

  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 11 ·
Replies
11
Views
7K
  • · Replies 2 ·
Replies
2
Views
1K
  • · Replies 9 ·
Replies
9
Views
3K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 10 ·
Replies
10
Views
3K
  • · Replies 18 ·
Replies
18
Views
7K
  • · Replies 8 ·
Replies
8
Views
2K
  • · Replies 5 ·
Replies
5
Views
3K