Recommend a Computer Course for Physics Major

May 2009
5
0
ellow there, i'm new :wave:

i'm considering Physics Major..and was wondering if you guys would recommend few computer course to go alone with? Maybe even a minor in computer related stuff? Perhaps a programing language that you would recommend?

I would really like to hear from ya, preferable if your a Physics major.

Greetz!

Rubrix.
 

arbolis

PHF Hall of Fame
Apr 2008
815
287
Hi rubrix and welcome to the forum!
As of programming language I can't say much, but I'm a physics major and I had a course where I was introduced Fortran 90. So I learned the basics of this programming language.
I know that Python might be also a good choice for a physics career.
As of computer course, why not numerical analysis?
I hope someone with a better background than me can give his opinion.
 
  • Like
Reactions: rubrix

physicsquest

PHF Helper
Feb 2009
1,426
474
As mentioned by arbolis, Fortran is what is mostly used. I have done some computation myself using it. You will have to check what is the latest available. They are considerably more user friendly now than they used to be.
Also familiarity with packages like Matlab etc can prove very useful. For graphical work, the package used especially for writing papers etc. is mostly Origin. Brush up on EXcel too. It is extremely useful and convenient as i have discovered at work and in my research. Have won a few bets on it too! However for some reason the sceintific community looks down on it!
 
  • Like
Reactions: rubrix
May 2009
5
0
Apparently there is Fortran 2008. I'll look into this.

Matlab is too much for me, only last year i was using maple.

Excel shouldn't be a problem.

As for Numerical Analysis i can't take it unless i clear up the course before that one. I do plan to take the class before that anyhow but the fact that they only offer Numerical Analysis 1 semester a year will make me change my current future class plans. So, i'm curious is it worth it?
 
Last edited:

Pmb

PHF Hall of Fame
Apr 2009
1,576
331
Boston's North Shore
ellow there, i'm new :wave:

i'm considering Physics Major..and was wondering if you guys would recommend few computer course to go alone with? Maybe even a minor in computer related stuff? Perhaps a programing language that you would recommend?

I would really like to hear from ya, preferable if your a Physics major.

Greetz!

Rubrix.
Scientists often used Fortran so that'd be a good idea. But when I went to work in the field I found that life had other ideas than I did. My job was hit by government cutbacks and I was told I could get layed off or I could work on another contract. The programming language on that contract was C. Later in life I had an interview at MIT to create some of their teaching solftware. The work was going to be done in Java. Java is great for visualization and is object oriented. If I were you here's what I'd do

(1) Have two majors - Physics and Math
(2) Take C/C++, Fortran and Java programming languages
(3) Study object oriented programming (OOP)
(4) Take numerical analysis

In fact that's what I did except that I didn't take C, Java. I never thought to take C and never heard of C++ or object oriented programming. Java didn't exist when I was in college.

If you're a physics major then if you take math courses instead of basket weaving for your electives then its easy to have that second major. It looks great on a resume.

And yes. Numerical analysis is extremely important for physicists.
 
  • Like
Reactions: rubrix and arbolis
May 2009
5
0
Thanks once again.

#1 is on progress. I'll work through those computer courses (C, C++, Real Analysis), will take time tho as i'm newbie on CS.

had no idea what OOP is, never heard about it until u mentioned. Checking wiki now (Blush)
 

Pmb

PHF Hall of Fame
Apr 2009
1,576
331
Boston's North Shore
Thanks once again.

#1 is on progress. I'll work through those computer courses (C, C++, Real Analysis), will take time tho as i'm newbie on CS.

had no idea what OOP is, never heard about it until u mentioned. Checking wiki now (Blush)
Glad to help.

I just recalled two more useful classes; probability & statistics would be useful for quantum theory and combinatorics would be useful for thermodynamics.
 
Mar 2019
2
0
It was also helpful for me as I was searching for the same question. Thank you. Great help!
 
Aug 2010
434
174
Thanks once again.

#1 is on progress. I'll work through those computer courses (C, C++, Real Analysis), will take time tho as i'm newbie on CS.
I would hardly consider "Real Analysis" a computer course!

had no idea what OOP is, never heard about it until u mentioned. Checking wiki now (Blush)
"OOP", "object oriented programming" is the best thing since sliced bread! When I first started learning programming, we had we had variables, "float", "double", "char", "string" and "array", and defined functions using those.

If, for example, I were writing code to keep track of a companies labor pool, I might define several "string" variables for name, address, social security number, hourly wage, number of hours worked, etc. and then write functions that will calculate the person's pay, calculate social security deduction, tax withholding, net pay, print the pay check, etc.

Later the type "struct" was introduced so that you could have a single variable that, unlike an array, could include different types in the same variable. Then you could use that single variable in your functions.

Finally, we had the "object" type that had both data and functions in the same variable. So I could define a type "employee" that had name, address, etc. as "strings", wage and hours worked as "double" and had functions such as "social_security_deduction()", "tax_deduction()", "net_pay()", and "print_check()". Then if I had an employee named "Peter Smith", who was the "18"th entry in an array of "employee", name "employee_list", I could just include "employee_list[18].print_check()" in my program or, more likely, have a loop

"for (int i= 0; i< num_empoyees; i++)
employee_list.print_check();"
 
Jun 2016
1,190
555
England
There are many computer languages
Each has their advantages, and disadvantages.

For simply diving in, getting something working, and getting a feel for programming, I think I would still recommend <BASIC>

It is now getting very dated (no oop) and would never be considered for "serious" coding,
But it is very good for learning the fundamental issues of programming.

You might also consider <python>

These are both dive in and try it style languages.

Probably the most widely used language is <C++>
This is very versatile, but has a steeper learning curve.

I personally am a <FORTRAN> guy, but that is just my age...