Which CS Courses Should a Physics Major Take to Boost Employability?

Click For Summary

Discussion Overview

The discussion revolves around which computer science courses a physics major should take to enhance employability. Participants explore various course options and their relevance to both physics-related and non-physics-related job opportunities.

Discussion Character

  • Exploratory
  • Debate/contested
  • Technical explanation

Main Points Raised

  • One participant expresses interest in taking computer science courses to increase employability, having already completed Python and C.
  • Another participant seeks clarification on whether "employability" refers to broader job opportunities outside of physics or improved chances within physics-related jobs.
  • Some participants suggest that courses like Data Structures and Numerical Methods could be beneficial, but emphasize that the quality of courses can vary significantly.
  • Concerns are raised about the lack of course descriptions and prerequisites, which could impact the decision-making process regarding course selection.
  • One participant notes that Algorithms may only be available to CS majors, which could limit options for the original poster.
  • There is a suggestion to gain practical experience through a physics project involving programming, as programming courses alone may not be sufficient for skill development.
  • Participants express uncertainty about the value of courses like Distributed Systems and Logic for Computer Science without further information on their content.

Areas of Agreement / Disagreement

Participants generally agree that Data Structures and Numerical Methods are strong candidates for courses to take, but there is no consensus on the overall best course selection due to varying opinions on other options and the lack of detailed course information.

Contextual Notes

Limitations include missing course descriptions and prerequisites, which could significantly influence the perceived value of the suggested courses. The discussion also reflects a dependency on the specific offerings and requirements of the institution.

CS courses for a Physics Major?

  • Data Structures

    Votes: 5 83.3%
  • Logic for Computer Science

    Votes: 1 16.7%
  • Computer Architecture

    Votes: 1 16.7%
  • Numerical Methods

    Votes: 4 66.7%
  • Management Information Systems

    Votes: 0 0.0%
  • Computational Finance

    Votes: 0 0.0%
  • Software Engineering

    Votes: 1 16.7%
  • Distributed Systems

    Votes: 1 16.7%

  • Total voters
    6
wj2cho
Messages
20
Reaction score
0
Hello PF :)

I am a physics-major-wannabe who wishes to increase his employability by supplementing my degree with computer science courses. I have already taken Python and C and will most likely take C++ with Unix next semester. I have a room for two more elective courses, but as a non-CS major, I can only access limited number of courses which are list in the poll. I would appreciate your opinions in advance.
 
Physics news on Phys.org
When you say increase your employability, do you mean open up the possibility to a wider range of non-physics-related jobs, or have a better chance at a physics-related job?
 
pascal12 said:
When you say increase your employability, do you mean open up the possibility to a wider range of non-physics-related jobs, or have a better chance at a physics-related job?

I meant the former. Thanks for bringing this up.
 
Data Structures
Numerical Methods
and Algorithms (which is not in your list)

Have the potential to be great courses, but courses very greatly. Keep in mind that programing courses are neither necessary or sufficient to developing useful skills. Try to get on a physics project with some programming for some practical experience.
 
There's no description of those courses, or their prerequisites. For example, if the computation finance course has data structures and numerical methods as prerequisites, you might get a hint of the hairy mathematical techniques needed to be a quant. If it doesn't, you're going to learn spread sheets and accounting.

If you can choose but one, it's a tossup between data structures and numerical methods. If you can take two, those are the two I would recommend. After that, it gets a bit murky. Computer architecture and software engineering are both worthy topics. As for the rest, you didn't give enough information about the courses or about yourself.

Distributed systems -- Without a synopsis, this could be anything between a trade school level class on how to use middleware to a very hard but worthy class on how to use threads, multiple processes, and multiple processors. MIS? My opinion only, but you don't want to go there. Logic for computer science? Without a synopsis I can't even hazard a guess what that course would be about. Surely it's not a semester long course on Boolean algebra. If it is, you don't want to go there. If it's about NAND gates, NOR gates, flip flops, adders, and ALUs: That's a very worthy topic, but only if you want to major in digital electronics and work for a chip maker.
 
lurflurf said:
Data Structures
Numerical Methods
and Algorithms (which is not in your list)

Have the potential to be great courses, but courses very greatly. Keep in mind that programing courses are neither necessary or sufficient to developing useful skills. Try to get on a physics project with some programming for some practical experience.

Algorithms are only open to CS majors who pay twice as much tuition as I do :(

But thanks for the advice, I'll try to get a hands-on project.

D H said:
There's no description of those courses, or their prerequisites. For example, if the computation finance course has data structures and numerical methods as prerequisites, you might get a hint of the hairy mathematical techniques needed to be a quant. If it doesn't, you're going to learn spread sheets and accounting.

If you can choose but one, it's a tossup between data structures and numerical methods. If you can take two, those are the two I would recommend. After that, it gets a bit murky. Computer architecture and software engineering are both worthy topics. As for the rest, you didn't give enough information about the courses or about yourself.

Distributed systems -- Without a synopsis, this could be anything between a trade school level class on how to use middleware to a very hard but worthy class on how to use threads, multiple processes, and multiple processors. MIS? My opinion only, but you don't want to go there. Logic for computer science? Without a synopsis I can't even hazard a guess what that course would be about. Surely it's not a semester long course on Boolean algebra. If it is, you don't want to go there. If it's about NAND gates, NOR gates, flip flops, adders, and ALUs: That's a very worthy topic, but only if you want to major in digital electronics and work for a chip maker.

Sorry for missing so much information. Detailed descriptions of the courses can be found here:http://www.ucalendar.uwaterloo.ca/1314/COURSE/course-CS.html
though I changed the titles little bit.

It seems like I should take data structures and numerical methods. Thank you everyone.
 

Similar threads

  • · Replies 8 ·
Replies
8
Views
2K
  • · Replies 14 ·
Replies
14
Views
2K
  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 3 ·
Replies
3
Views
1K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 6 ·
Replies
6
Views
3K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 6 ·
Replies
6
Views
5K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 7 ·
Replies
7
Views
4K