1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

In what way are computer science and physics related?

  1. Dec 12, 2014 #1
    I am considering a dual-major in Physics and Computer Programming. But i'd like some input on how the two can be used together first. What are your thoughts and opinions on a majoring these two? How might this be useful/practical in the real world and how might it be impractical.

    Thank you
  2. jcsd
  3. Dec 12, 2014 #2


    User Avatar
    Gold Member

    Quantum computing and quantum information. Exciting and interesting field in the intersection of Physics and Computer science.
  4. Dec 12, 2014 #3


    User Avatar
    Science Advisor
    Gold Member

    But the CS "component" of quantum computing is at the moment very small, there are only handful of people in the world working on e.g. "general" algorithms; most of the work on quantum computing and QIP is experimental and the theorists in the field are almost exclusively working on particular implementations; it is actually quite difficult to do meaningful work unless you specify the system, and if you do that you are essentially doing theoretical physics, concepts from CS are rarely important.

    Hence, I don't think QC or QIP would be a good reason for choosing a double major.
  5. Dec 12, 2014 #4
    Electronics and communication engeneering... i like building robots. so you need to know programming and good knowledge in circuits.
  6. Dec 12, 2014 #5
    The computer is arguably the physicists most important tool. Programming is done in every field of physics and computers are used for both theory and experiment.
  7. Dec 12, 2014 #6
  8. Dec 12, 2014 #7
    Interesting input guys. So many interesting fields so little time...
    I am really fascinated by electrical & computer engineering as well seems there would be a overlap with physics as well in there.
  9. Dec 12, 2014 #8
    Programming is extremely important for physics*, but programming isn't computer science. Computer science, as the study of algorithms, operating systems, compiler design, etc... has extremely little to do with physics.

    I have a passion in both, but...

    The highest physics you would likely use in computer science is basic kinematics and calculus (to design a physics engine for a game).
    The highest computer science you would likely use in physics is programming (to model a simulation).

    To address QM mentioned earlier: Quantum programming languages exist, but you do not have to know quantum mechanics to use them. Similarly, knowing quantum mechanics will not help you design a quantum algorithm. Also, it's difficult and different from most programming - not something most CS work with. Look up a tutorial.
  10. Dec 12, 2014 #9


    User Avatar
    Science Advisor
    Education Advisor

    It might be worth pointing out that computing skills are one of the major marketable skills that physics majors use to get jobs in the real world once they are finished with academia (at whatever stage).
  11. Dec 12, 2014 #10
    @ellipsis any projects or past projects that you'd care to share with us? I'd like to hear what sort of endeavors you've gotten to into so I know what to expect.

    @Choppy everything nowadays seems to revolve around computers. It was my first inclination to get into programming for financial reasons but I soon began get a knack for it. Now i'd like to make a career out of it. My interests are so broad in the sciences. It's hard to just stick to programming I want to overlap into other fields like physics, engineering, electronics.
  12. Dec 13, 2014 #11
    Niaboc: I was actually on PF today to ask a question about a personal project. Namely, orbital simulation using polar coordinates. If you've ever heard of a game named "Kerbal Space Program", it's about that - I'm interested in what the optimal ascent profile for a given rocket is. My 1D models work (emulating a rocket going straight up, with dynamic gravity and drag), but I'm having trouble implementing vectors correctly... never took vector calculus.

    An old project of mine was using search algorithms (and the Quine McCluskey algorithm) to find the minimal representation of truth tables as digital circuits (logic gates including ANDs, ORs, XORs, etc...). I didn't completely solve the problem to my satisfaction, but I got a number of interesting results. For example, you can use that method to generate gate-minimal circuits, like a seven-segment-decoder in 27 logic gates. The closest thing I've seen to this is superoptimization, where you iterate through every possible machine instruction until you find the shortest that matches your specified function. The problem with both is that proving optimality is NP. Also, the generated circuits are completely incomprehensible to a human.

    Then there was that time I compiled a list of 'mathematical cheat codes'... things like defining a function such that f(x) = 1 when (x==5) but f(x) = 0 when (x!=5) using only the operations we normally use in math. This turns out to be f(x) = 0^abs(x-5). If you wanted a function such that it outputs 1 iff x > 5, you could use (tanh(1000(x-5))+1)/2. There's a bunch like that, but it isn't too useful unless you have to bound functions within their expressions for some rare reason. And of course, when you do need to do it, you will forget how.

    There's a few others things I've done. This is all stuff done of my own volition, though. The things a college (or business) will ask you to do are much less interesting. That would consist of writing a few template-based classes in C++ to demonstrate knowledge of object-oriented nonsense.

    I hope I answered you question, and didn't bore you!

    PS: Oh, you're the guy from the other thread too. That's the second thesis you've evoked from me.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook