• Support PF! Buy your school textbooks, materials and every day products Here!

Take the Math Class or the Programming Class?

  • Thread starter BrainFloss
  • Start date
  • #1

Main Question or Discussion Point

Hi everyone,

It's that time again at my school-registration. I've been picking out my classes but I came across a rather annoying dilemma. My discrete math and data structures and program design classes conflict temporally. The discrete math class would count for my math minor, and the data structures class is the next sequence in the computer science program and it was suggested to me to take at least a year of programming to be a good physicist. However, it is not counted towards my physics degree or my two minors (math and chemistry).

So which one do I take? Is it more important to know the math behind all my physics or be hip with the new technology that's so important nowadays (I keep hearing about physicists who wish they had taken more programming in college). I absolutely hate computer science, I find it to be the most boring and frustrating thing on the planet, but I see as eating my vegetables, I suppose. It's good for me.

This wouldn't be a problem if I could just take a different math class for the time being but I can't because all the other math classes I need to take I am not ready for yet. (pre-reqs...) Pushing a math class back and taking my last GE instead (which is what I would have to do if I cut out discrete because I have no where to go) would make me have one more class left over after my intended graduation date. :/ Argh!!!

Also, I know it would not be a very good idea to hold off on programming, as I would forget everything I have learned in my object oriented programming class this semester, especially since I dislike it so much...maybe I can just take a programming in C class at a community college later if my employer wants me to?

Thanks, guys...
 

Answers and Replies

  • #2
11,804
5,424
why not take a different CS course like algorithms or computer simulation or graphics and then go back to the data structures class later.

For me data structures was one of the most useful CS classes I ever took. True I seldom use all the data structures described or implement anything near as complicated but I do choose Java collections over implementing things as arrays which is the tendency of beginning programmers. It often makes cleaner and easier to debug code.
 
  • #3
why not take a different CS course like algorithms or computer simulation or graphics and then go back to the data structures class later.

For me data structures was one of the most useful CS classes I ever took. True I seldom use all the data structures described or implement anything near as complicated but I do choose Java collections over implementing things as arrays which is the tendency of beginning programmers. It often makes cleaner and easier to debug code.
Good idea. So, okay, just looked at the catalog, and the only one I think I could feasibly take is this:

Comp 162 Computer Architecture and Assembly Language

"An introduction to computer architecture,
assembly language programming, system
software and computer applications.
Topics include: number systems and
data representation; internal organization
of a computer; primitive instructions
and operations; Assembly language;
language translation principles; overview"


So...would that be useful to me as a physicist?
 
  • #4
cgk
Science Advisor
521
42
So...would that be useful to me as a physicist?
Those things will greatly increase your general understanding of what computers are; and in my opinion, every non-novice programmer should know them by heart (and, in particular, also know this stuff before taking actual CS courses --- because going bottom-up gives you lots of context to anchor other low level concepts (e.g. algorithms and data structures) and more complex stuff to).

Will that be useful to you as a physicist? In this form: No. It lies some foundations which you will need if you ever want to learn how to write really fast programs[1]. It will help you understand what you actually do when you program. It will not help you getting better at Labview or Mathematica/Maple/Maxima or scipy/Matlab. And in many areas of physics one can get very very far with such tools.


[1] e.g., memory hierarchies, virtual memory, concurrency, and maybe, since it was listed: Some understanding of how compilers actually translate source code, and what they can do and what they can't do (and how to make it easier for them to generate good code).
 
  • #5
22,097
3,282
If I were you, I would take the data structures class. A class on data structures is in many many ways useful to a working scientist. A class on discrete mathematics is not so useful to you.
 
  • #6
If I were you, I would take the data structures class. A class on data structures is in many many ways useful to a working scientist. A class on discrete mathematics is not so useful to you.
Yeah, I know discrete is very proof based, which I know is not a big deal in physics (from what I've heard) but I have to take it for my minor. It's the only class in the math minor that I would take that wouldn't count towards my physics major. ie, If I plan it all right in my degree I am one class away from the minor so I figured it would look good on a CV or something with a low cost to my time. I guess it doesn't really matter though, then, if discrete is worthless for a physicist. Or maybe I can get it substituted with something else. I dunno...

Thanks for all your advice, everyone, I still have a few weeks to think about all of this. :)
 

Related Threads on Take the Math Class or the Programming Class?

Replies
8
Views
2K
  • Last Post
Replies
8
Views
2K
Replies
21
Views
1K
Replies
19
Views
7K
Replies
5
Views
800
  • Last Post
Replies
1
Views
2K
Replies
10
Views
3K
  • Last Post
Replies
18
Views
5K
Replies
16
Views
6K
Replies
13
Views
3K
Top