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

  • #1
400
17
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?
 
  • #2
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.
 
  • #3
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...
 
  • #4
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.
 
  • #5
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.
 
  • #6
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.
 
  • #7
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.
 
  • #8
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 symbolipoint
  • #9
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
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
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
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...

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
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).
 
  • #19
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
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
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.
 
  • #23
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
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.
 
  • #25
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.
 
  • #27
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
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
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...
 
  • #31
You mention in your first post you need to learn MATLAB. The good news is MATLAB is much easier to learn and get up to speed than many other lower-level languages like FORTRAN or C. MATLAB is high-level (i.e. further away from the computer). The tradeoff is many MATLAB applications does not run as quickly as the lower level languages. This slowness is likely not going to affect your work because the computer is plenty fast, unless you are doing very number intensive calculations.

MATLAB is quite intuitive if you are familiar with matrix theory.
 
  • #32
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...
The space to do biology/chemistry without knowledge of computers hasn't shrunk as much as it has in physics, but it's shrinking incredibly fast too.

The necessity of computer skills is just sort of a symptom of the times.
 
  • #33

Suggested for: Interested in physics but *Hate* computers....

Replies
3
Views
804
Replies
4
Views
1K
Replies
22
Views
1K
Replies
22
Views
1K
Replies
21
Views
2K
Replies
6
Views
627
Replies
12
Views
767
Replies
8
Views
1K
Back
Top