Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Question for physics graduates

  1. Jun 22, 2011 #1
    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?
  2. jcsd
  3. Jun 22, 2011 #2


    User Avatar

    If you don't know any programming, either take a computer science course or plan to teach it to yourself. It's extremely useful.
  4. Jun 22, 2011 #3
    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.
  5. Jun 22, 2011 #4
    Could you elaborate on why this is (if it applies to physics majors)? And I assume when you say programming you mean C++ correct?
  6. Jun 23, 2011 #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.
  7. Jun 23, 2011 #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.
  8. Jun 23, 2011 #7
    the main questions for physics graduates is that," is there scope after bsc physics" and my answer to them is ,yes there is............
  9. Jun 23, 2011 #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.
  10. Jun 23, 2011 #9
    Yep. You actually don't need any background, other than basic logical thinking.
  11. Jun 23, 2011 #10
    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
  12. Jun 24, 2011 #11
  13. Jun 24, 2011 #12
    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?
  14. Jun 24, 2011 #13
    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.
  15. Jun 24, 2011 #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.
  16. Jun 24, 2011 #15
    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!
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook