In what way are computer science and physics related?

Click For Summary
A dual major in Physics and Computer Programming can be beneficial, particularly in fields like quantum computing and electronics, where both disciplines intersect. However, the practical application of computer science concepts in physics is limited, as most physics work relies heavily on programming for simulations and experiments rather than on computer science theory. While programming skills are crucial for physicists, the overlap with computer science is often minimal, focusing primarily on basic algorithms and simulations rather than advanced CS topics. Many discussions highlight the importance of programming in various physics applications, such as robotics and simulations, but emphasize that the theoretical aspects of computer science may not directly contribute to physics research. Overall, while a dual major can provide valuable skills, the direct applicability of computer science to physics is often constrained, making it essential to consider personal interests and career goals when deciding on this academic path.
Niaboc67
Messages
249
Reaction score
3
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
 
Physics news on Phys.org
Quantum computing and quantum information. Exciting and interesting field in the intersection of Physics and Computer science.
 
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.
 
  • Like
Likes ShayanJ
Electronics and communication engeneering... i like building robots. so you need to know programming and good knowledge in circuits.
 
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.
 
  • Like
Likes Jakeness, ellipsis, ShayanJ and 2 others
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.
 
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.
 
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).
 
  • #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.
 
  • #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.
 

Similar threads

  • · Replies 6 ·
Replies
6
Views
3K
  • · Replies 7 ·
Replies
7
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 7 ·
Replies
7
Views
818
  • · Replies 16 ·
Replies
16
Views
4K
  • · Replies 23 ·
Replies
23
Views
6K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 21 ·
Replies
21
Views
4K