How Should Physics Graduates Choose Elective Courses?

  • Thread starter Kaldanis
  • Start date
  • Tags
    Physics
In summary: If you don't know any programming, either take a computer science course or plan to teach it to yourself. It's extremely useful.
  • #1
Kaldanis
106
0
In september I'll be starting an honours degree in Physics. On top of the mandatory classes, there will be 3-4 classes per year that I can take in any discipline I want. I'm really struggling to decide what I want to take but I won't get a better idea of the options available to me until closer to the time. I'm trying to find a balance between what I enjoy and what will increase my chances of finding employment at the end of it. I'm thinking of classes in EE or Computer Science and picking up classes to learn programming as I think programming opens a lot of job opportunities. I'm really interested in Nuclear Physics right now as I've been researching it for several projects during the year, and that makes me think it would be useful to take classes in Chemistry too. (i'm not even sure if you can do a masters/phd in nuclear engineering with a undergrad physics)

When beginning your degree in physics did anyone know for sure in what field they wanted to work after it? How long did it take for you to know?
 
Physics news on Phys.org
  • #2
If you don't know any programming, either take a computer science course or plan to teach it to yourself. It's extremely useful.
 
  • #3
eri said:
If you don't know any programming, either take a computer science course or plan to teach it to yourself. It's extremely useful.
And also surprisingly fun. I used to hate even the thought of perhaps some day having to do programming, but after taking a programming course this year, I have to say that there's probably no better mixture of fun and useful. It's a bit like playing Sudoku, using simple logic to solve problems. I'm sure it gets more frustrating at times when you're dealing with heaps and heaps of code, but at the outset that's what it felt like.
 
  • #4
eri said:
If you don't know any programming, either take a computer science course or plan to teach it to yourself. It's extremely useful.

Could you elaborate on why this is (if it applies to physics majors)? And I assume when you say programming you mean C++ correct?
 
  • #5
There are a few reasons:
(1) Nothing organizes your thought process like programming. Once you ingrain these skills, you will find physics problems much easier to solve.
(2) Physics is more than pencil-and-paper math exercises. These days, many of the major advances depend on parsing through tons of data, or numerically solving equations, etc., stuff that is impossible for any human to do by hand in a reasonable amount of time.
(3) If you decide to leave academia, programming will be one of the most important skills you have when applying to jobs. Engineering is a great, lucrative alternative, and you will be well prepared to enter at least a software engineering career.

Along those lines, I would highly recommend you pick up some circuits knowledge at some point. In addition to leaving electrical engineering as a career option, circuits are essential for many experimental physics fields. They provide the means to translate pure physics phenomena (voltages, temperatures, electric/magnetic fields, etc.) into computerized data for analysis.
 
  • #6
Also C++ is becoming slightly outdated; it seems like the language to learn right now is Java, with Python as a close second.

However, if you REALLY want to learn the programming thought process and have fun doing it, you cannot beat Scheme as a starting point. There's a really nice book called "The Schemer's Guide" that got me hooked from the start. The thing to realize is that once you know one language, you can teach yourself any other language by referring to an online tutorial, just to learn the syntax.

I'd recommend learning Scheme first. Then it's an easy step to Python, you can easily teach yourself. Java is a bit of a messier language, so it takes some mental preparation to be able to deal with the bugs. Use Eclipse software with Java; it's very good at catching bugs before you even try running the code. If you want to continue along the path that Scheme starts, I'd recommend giving Haskell a try. Like Scheme, it is a beautiful language, something I can't really say of Python or Java.

Some more info: Scheme and Haskell are functional programming languages. The programming is done in terms of mathematical functions, which emphasize input and output over all else.

Python is a scripting language, similar to what you'd see in a Linux terminal. Every line is a command, executed in sequence.

Java is an object-oriented language. Every piece of data is an object of a certain type, which has a set of properties associated with it. The programming centers around modifying these properties appropriately.

As a physics major, you'll need to learn to use MATLAB and Mathematica too. Both require some programming, but you'll be amazed at how trivial it is to pick them up after mastering one of the other languages.
 
  • #7
the main questions for physics graduates is that," is there scope after bsc physics" and my answer to them is ,yes there is...
 
  • #8
Thanks drkatzin. I'm not meaning to hijack this thread but I have one more question. I am beginning my second year and I have only taken Physics I and Calc I. Is that enough background to begin to learn some of those languages you listed.
 
  • #9
PCSL said:
Thanks drkatzin. I'm not meaning to hijack this thread but I have one more question. I am beginning my second year and I have only taken Physics I and Calc I. Is that enough background to begin to learn some of those languages you listed.

Yep. You actually don't need any background, other than basic logical thinking.
 
  • #10
PCSL said:
Thanks drkatzin. I'm not meaning to hijack this thread but I have one more question. I am beginning my second year and I have only taken Physics I and Calc I. Is that enough background to begin to learn some of those languages you listed.

You aren't hijacking it, you're asking questions I have too. I think I'm definitely going to pick up computer science classes for programming along with any electrical engineering ones I can. Seems to give me more options at the end of it
 
  • #11
For anyone who's interested, the Schemer's guide can be found here:
http://www.schemers.com/tsg.html
 
  • #12
drkatzin said:
For anyone who's interested, the Schemer's guide can be found here:
http://www.schemers.com/tsg.html
Thanks a lot, but to restate my question from above, would I be able to understand the introductory lessons with only a background of Calc I and Physics I?
 
  • #13
PCSL said:
Thanks a lot, but to restate my question from above, would I be able to understand the introductory lessons with only a background of Calc I and Physics I?

Yep, programming itself has nothing to do with either calculus or physics. The book is self-contained, and intended for use by all ages (I know fifth and sixth graders who learned to program from it). But I don't think it's dumbed down or anything.
 
  • #14
If you would like to go into Nuclear Engineering a B.S. in Physics would be excellent. Outside of a B.S. in Nuclear Engineering it is probably the best degree you could have to transition to that field.
With your B.S. in Physics you will develop analytically thinking skills, you will become mathematically inclined, and have plenty of background knowledge to be successful in Nuclear Engineering graduate programs.
I am in a Ph.D. program for Optical Engineering and I have a B.S. Physics and I feel that the graduate students that have a bachelors in Physics run circles around students with bachelors in Engineering disciplines.
If you are planning on going to graduate school in Nuclear Engineering I would take Nuclear Physics, an advanced differential equations course if it is offered, you will have to take at least one semester of Quantum but I would suggest taking the second semester of Quantum Mechanics.
 
  • #15
drkatzin said:
Also C++ is becoming slightly outdated; it seems like the language to learn right now is Java, with Python as a close second.

However, if you REALLY want to learn the programming thought process and have fun doing it, you cannot beat Scheme as a starting point. There's a really nice book called "The Schemer's Guide" that got me hooked from the start. The thing to realize is that once you know one language, you can teach yourself any other language by referring to an online tutorial, just to learn the syntax.

I'd recommend learning Scheme first. Then it's an easy step to Python, you can easily teach yourself. Java is a bit of a messier language, so it takes some mental preparation to be able to deal with the bugs. Use Eclipse software with Java; it's very good at catching bugs before you even try running the code. If you want to continue along the path that Scheme starts, I'd recommend giving Haskell a try. Like Scheme, it is a beautiful language, something I can't really say of Python or Java.

Some more info: Scheme and Haskell are functional programming languages. The programming is done in terms of mathematical functions, which emphasize input and output over all else.

Python is a scripting language, similar to what you'd see in a Linux terminal. Every line is a command, executed in sequence.

Java is an object-oriented language. Every piece of data is an object of a certain type, which has a set of properties associated with it. The programming centers around modifying these properties appropriately.

As a physics major, you'll need to learn to use MATLAB and Mathematica too. Both require some programming, but you'll be amazed at how trivial it is to pick them up after mastering one of the other languages.

Best post ever. I never thought about about programming like that before. I haven't started a programming class before but you dispelled my initial biased opinion. Thank you so much!
 

FAQ: How Should Physics Graduates Choose Elective Courses?

What career options are available for physics graduates?

Physics graduates have a wide range of career options, including research and development, engineering, teaching, data analysis, and consulting. They can also work in industries such as aerospace, energy, healthcare, and technology.

Is it necessary to have a graduate degree in physics to find a job?

While a graduate degree in physics can open up more career opportunities, it is not always necessary to find a job. Many companies also hire physics graduates with a bachelor's degree for various roles, especially in industries such as technology and data analysis.

What skills do physics graduates possess?

Physics graduates have a strong foundation in mathematics, critical thinking, problem-solving, and analytical skills. They are also proficient in computer programming and have laboratory experience, making them highly sought after in various industries.

What are the potential salaries for physics graduates?

The salary for physics graduates can vary depending on their specific job role and industry. However, on average, physics graduates can expect to earn a starting salary of around $50,000 to $70,000 per year, with the potential for higher salaries as they gain experience and advance in their careers.

What are some common misconceptions about physics graduates?

One common misconception about physics graduates is that they are all destined for careers in academia. While many do pursue research and teaching positions, physics graduates also have a variety of career options in the private sector. Another misconception is that physics is a difficult and unattainable degree, when in reality, it is a highly rewarding and versatile field of study.

Similar threads

Replies
36
Views
3K
Replies
21
Views
716
Replies
29
Views
2K
Replies
32
Views
2K
Replies
14
Views
2K
Replies
11
Views
1K
2
Replies
40
Views
3K
Replies
4
Views
681
Back
Top