Physics & Programming: Dual Majoring in MEV

In summary, if you're pursuing physics and engineering degrees, you'll probably find programming fun and you don't need any classes to help you. However, if you want to work with code a lot in the future, you should always have some project/software/app/whatever that you're working on.
  • #1
e^(i Pi)+1=0
247
1
I read in the "So you want to be a physicist" thread that it is essential these days for a physicist to be able to program. Since I plan to dual-major in mechanical engineering, will this give me the programming skills I need? I notice that the very first course in the curriculum is Engineering Computations...
 
Physics news on Phys.org
  • #2
Get a CS Minor if you can. If you're dedicated you can take one CS class, learn the basics, and pick up anything else you need. Most people aren't and it's hilarious to see my physics and math friends that took C++ their freshman year or something try to program something nowadays. I program all the time and being relatively good at it allowed me to pick up Mathematica in a few days rather than a few months; a tool which I find indispensable even for research in pure mathematics.
 
  • #3
The good news is, if you are pursuing physics and engineering degrees, you'll probably find programming fun. The best way to get good at programming is to make a hobby out of it. There are plenty of websites with programming challenges to improve your skills such as Project Euler or CodingBat.
 
  • #4
Even as a CS major, the classes you take may not give you enough to do to make you a good programmer. If you want to work with code a lot in the future, you should always have some project/software/app/whatever that you're working on. Plus this gives you things that you can talk about in an interview when they ask you about projects you've worked on in the past. If you contribute to some big open-source effort, you can put it on your resume as well.

Really you don't need classes to help you be a programmer, but of course certain classes help you with some specialized fields such as scientific computing or computational physics. They're generally not the typical CS programming classes, though (they're things like applied numerical methods, networking, parallel algorithms, etc.). Since you have to take a programming class for your engineering major, you could start there and then just learn on your own for the more advanced things.

It probably won't make a big difference that you don't know how to run highly efficient simulations on a supercomputer if your intended field isn't very heavy on the numerical stuff. Still, knowing how to program really well makes for a hell of a fallback plan; writing software is pretty fun.
 
  • #5
thanks for this guys... i really needed the answers as well... i love physics a lot and i also wanted to know .. do i have to learn C++ or java know how to be a hacker?... not for bad intentions off course...
 
  • #6
Nair said:
thanks for this guys... i really needed the answers as well... i love physics a lot and i also wanted to know .. do i have to learn C++ or java know how to be a hacker?... not for bad intentions off course...

Yes.

First of all, computer programming is language independent so that if you are good in one language, you can pick up another language in a few days (or even a few hours). It's expected in programming that someone will be able to give you a language that you've never seen before, and you ought to immediately be able to use it.

Second, C++ tends to be something of a litmus test. You can write C++ that looks like fortran, that looks like python, that looks like lisp, that looks like assembly language, so the assumption is that if you can program decently in C++, then you can program in anything.
 
  • #7
hadsed said:
Even as a CS major, the classes you take may not give you enough to do to make you a good programmer.

Which is why I made the statement that a CS *degree* is not too useful. CS *knowledge* is essential, but I've given interviews in which it was obvious that the person with a *CS* degree just couldn't program at a high level. Conversely, there are people without CS degrees that are excellent programmers.

One thing that I like about the field of programming, is that it's great for people that like to learn stuff on their own.

Really you don't need classes to help you be a programmer, but of course certain classes help you with some specialized fields such as scientific computing or computational physics.

And a lot of those classes are online. Because degrees aren't important in programming, you can get a quite good education by going online and looking for stuff.

Still, knowing how to program really well makes for a hell of a fallback plan; writing software is pretty fun.

Bureaucracies tend to suck the fun out of thing because you end up taking class X merely to get piece of paper Y so that you can get job Z. There is much less of that in programming than in other fields. You figure out that you don't know anything about template metaprogramming, and so instead of having to take a class, you go on google and amazon and buy the books you need and read the papers and lectures you need.

In my life, I've only taken one formal course on computer programming (6.001), and that course is now available for free online.
 
  • #8
e^(i Pi)+1=0 said:
I read in the "So you want to be a physicist" thread that it is essential these days for a physicist to be able to program. Since I plan to dual-major in mechanical engineering, will this give me the programming skills I need? I notice that the very first course in the curriculum is Engineering Computations...

I'm going to provide a bit of a dissenting opinion here. You should be able to develop good enough programming skills in the Engineering Computations class to complete your coursework. Physics classes don't really involve any difficult programming.

That being said, programming is a very valuable and desirable skill. I would recommend taking extra programming classes when possible.
 
  • #9
dedicateddan said:
I'm going to provide a bit of a dissenting opinion here. You should be able to develop good enough programming skills in the Engineering Computations class to complete your coursework. Physics classes don't really involve any difficult programming.

You're right in that you generally don't need to do much (if any) programming in physics courses, but I think the OP's question is more about the importance of programming for a physicist rather than the importance of programming for a physics undergraduate student.
 

FAQ: Physics & Programming: Dual Majoring in MEV

What is the benefit of dual majoring in Physics and Programming?

Dual majoring in Physics and Programming allows you to combine your analytical and problem-solving skills from Physics with the technical knowledge and practical application of programming. This unique combination can open up various career opportunities in fields such as data science, software development, and engineering.

Is it difficult to balance the workload of two majors?

Dual majoring in any field can be challenging, but with proper time management and prioritization, it is definitely achievable. It is important to plan your schedule carefully and seek help from professors and advisors if needed.

How does Physics relate to Programming?

Physics and programming are closely related as both fields require logical thinking, problem-solving skills, and understanding of mathematical concepts. In programming, you can use your knowledge of physics to develop simulations, analyze data, and create algorithms.

Can I pursue a career in both Physics and Programming with this dual major?

Absolutely! With a dual major in Physics and Programming, you can pursue a career in various industries such as aerospace, robotics, finance, and healthcare. You can also choose to work in research and development, where you can apply your knowledge in both fields.

Are there any specific courses that are recommended for this dual major?

It is important to consult with your academic advisor to determine the specific courses required for this dual major. However, some recommended courses may include computational physics, data structures, computer science fundamentals, and programming languages such as Python, Java, or C++. These courses will provide a strong foundation in both fields and prepare you for a successful career.

Similar threads

Replies
3
Views
1K
Replies
3
Views
785
Replies
3
Views
1K
Replies
4
Views
1K
Replies
1
Views
1K
Replies
13
Views
1K
Replies
16
Views
2K
Back
Top