Calling all CS majors....

oiprocs

Diamond Member
Jun 20, 2001
3,780
2
0
So I'm an electrical engineering major, and one of the requirements is that we specialize in a field. I decided to go with software systems since I'm actually really interested in programming and I was not able to get into the computer science department (damn impacted majors).

The 6 courses that I will already be taking are:

Basic Data Structures and Object-Oriented Design
Mathematics for Algorithm and Systems
Advanced Data Structures
Design and Analysis of Algorithms
Principles of Computer Operating Systems
Introduction to Computer Architecture

What I found out is that we also need 6 electives, but they can be from any field within engineering! By golly! What luck! :p

So anyways, I figured some of you guys would be able to offer me some advice as to any other CS classes that would be beneficial, other than the ones listed above. I'll be candid and say that I don't really have a certain field that I want to go into; rather, I want a strong solid foundation of computer science, as great as that can be within 12 courses. I included a link to the courses offered by the CS department, in case anyone actually wants to help me out. :D

CS Courses

Thanks for the suggestions!
 

BigJ

Lifer
Nov 18, 2001
21,330
1
81
Didn't look at the list, but because you're doing software systems, I'd say anything that has to do with operating systems/low-level programming.
 

spidey07

No Lifer
Aug 4, 2000
65,469
5
76
Originally posted by: Oiprocs
So I'm an electrical engineering major, and one of the requirements is that we specialize in a field. I decided to go with software systems since I'm actually really interested in programming and I was not able to get into the computer science department (damn impacted majors).

The 6 courses that I will already be taking are:

Basic Data Structures and Object-Oriented Design
Mathematics for Algorithm and Systems
Advanced Data Structures
Design and Analysis of Algorithms
Principles of Computer Operating Systems
Introduction to Computer Architecture

What I found out is that we also need 6 electives, but they can be from any field within engineering! By golly! What luck! :p

So anyways, I figured some of you guys would be able to offer me some advice as to any other CS classes that would be beneficial, other than the ones listed above. I'll be candid and say that I don't really have a certain field that I want to go into; rather, I want a strong solid foundation of computer science, as great as that can be within 12 courses. I included a link to the courses offered by the CS department, in case anyone actually wants to help me out. :D

CS Courses

Thanks for the suggestions!

As long as you understand that focusing purely on CS does not yield a good career path as a EE. Programming monkeys are a dime a dozen, literally.

As a EE you might me interested in architecture. Welcome to college, where what you learn will hardly ever be used. Take a lot of communication and business classes. Golf is also a good one to help you jumpstart your career.

 

oiprocs

Diamond Member
Jun 20, 2001
3,780
2
0
See this is what I was thinking as well. I already have 6 courses to give me some knowledge in the area, so I think I'll just take whatever I feel is of interest to me within engineering fields.

No, this is not welcome to college. This is 3 years done with college, in many many different majors in an attempt to find the perfect one, realizing there is no such thing, and choosing what catches my interest the most. :p

On a side note, any EE's out there? What do you do? Do you like your job?
 

oiprocs

Diamond Member
Jun 20, 2001
3,780
2
0
Originally posted by: tfinch2
Networks
Compilers
Parallel Programming

Eeeech, compilers. I hear a lot of hell comes out of that class. One night in the lab, I was writing a research paper, and some guy kept cursing every 5 minutes at his computer screen. :D

If you don't mind me asking, what do you do in your job? I'm assuming work in that field?
 

spidey07

No Lifer
Aug 4, 2000
65,469
5
76
Originally posted by: Oiprocs
See this is what I was thinking as well. I already have 6 courses to give me some knowledge in the area, so I think I'll just take whatever I feel is of interest to me within engineering fields.

No, this is not welcome to college. This is 3 years done with college, in many many different majors in an attempt to find the perfect one, realizing there is no such thing, and choosing what catches my interest the most. :p

On a side note, any EE's out there? What do you do? Do you like your job?

You will find much better for your career if you focus on soft/communication/leadership skillsl. nobody cares what classes you took.
 

oiprocs

Diamond Member
Jun 20, 2001
3,780
2
0
Originally posted by: spidey07
Originally posted by: Oiprocs
See this is what I was thinking as well. I already have 6 courses to give me some knowledge in the area, so I think I'll just take whatever I feel is of interest to me within engineering fields.

No, this is not welcome to college. This is 3 years done with college, in many many different majors in an attempt to find the perfect one, realizing there is no such thing, and choosing what catches my interest the most. :p

On a side note, any EE's out there? What do you do? Do you like your job?

You will find much better for your career if you focus on soft/communication/leadership skillsl. nobody cares what classes you took.

Sorry for the lack of comprehension, but what exactly do you mean by that? Classes outside of engineering I presume.
 

spidey07

No Lifer
Aug 4, 2000
65,469
5
76
Originally posted by: Oiprocs
Originally posted by: spidey07
Originally posted by: Oiprocs
See this is what I was thinking as well. I already have 6 courses to give me some knowledge in the area, so I think I'll just take whatever I feel is of interest to me within engineering fields.

No, this is not welcome to college. This is 3 years done with college, in many many different majors in an attempt to find the perfect one, realizing there is no such thing, and choosing what catches my interest the most. :p

On a side note, any EE's out there? What do you do? Do you like your job?

You will find much better for your career if you focus on soft/communication/leadership skillsl. nobody cares what classes you took.

Sorry for the lack of comprehension, but what exactly do you mean by that? Classes outside of engineering I presume.

Exactly. Communication, presentation, general business, etc.
 

jman19

Lifer
Nov 3, 2000
11,225
664
126
Depends on what you want to do.

If you are interested in grad school, more theoretical type courses could be good.

Are you interested in systems level programming? Language theory? Graphics? AI?

I would say some necessary/important courses on top of what you mentioned are (in general, not from your list):

- Compilers
- Networks
- Operating Systems
- Artificial Intelligence and/or Machine Learning
- Theory of Computation
- Parallel Programming
- Theory of Languages

 

OneOfTheseDays

Diamond Member
Jan 15, 2000
7,052
0
0
Well I just graduated from UCSD, and if you are really interested in programming you should drop Introduction to Computer Architecture, Mathematics for Algorithms and Systems, and Design and Analysis of Algorithms.

Definitely take CSE12, CSE30, CSE100, CSE120, and the compiler classes if you can. This will give you a pretty solid background in programming from the low level on up.
 

Aikouka

Lifer
Nov 27, 2001
30,383
912
126
Originally posted by: Oiprocs
Originally posted by: tfinch2
Networks
Compilers
Parallel Programming

Eeeech, compilers. I hear a lot of hell comes out of that class. One night in the lab, I was writing a research paper, and some guy kept cursing every 5 minutes at his computer screen. :D

If you don't mind me asking, what do you do in your job? I'm assuming work in that field?

I actually like his suggestions. I took a network course and a parallel programming course in college and they were quite fun. They didn't offer a compiler course, but I've written interpreters for my own personal languages that had functionality ranging from code blocks (meaning variable scopes, etc), functions, loops, etc. It was fun!

Also if you've never sat at a computer screen cursing your program, you've never really programmed :laugh:.
 

DaveSimmons

Elite Member
Aug 12, 2001
40,730
670
126
CSE131 - Compiler Construction (Formerly CSE 131B as of Fall 2007. )

Compilers will help you understand how all languages work under the hood, and build up your state machine skills.

People curse at it because it require more thought than getting Hello World or 4-function calculator to work, and it's much harder to stumble your way though it than a general programming class.

I'm an application software developer rather than an EE, but I've used bits of knowledge from this class many times over the years in import/export filters, internal mini-langauges, etc.
 

mugs

Lifer
Apr 29, 2003
48,920
46
91
Originally posted by: spidey07

As long as you understand that focusing purely on CS does not yield a good career path as a EE. Programming monkeys are a dime a dozen, literally.

You know what I love? When people say "literally," but they really mean "figuratively." Saying literally when you mean the complete opposite - it's the ultimate irony. It makes me want to punch babies. Literally.
 

MrDudeMan

Lifer
Jan 15, 2001
15,069
94
91
I'm a Computer Engineer and I'd squeeze Controls in there if you can. It is one of the most beneficial classes for all engineers.

Your later classes will all be extremely relevant to what you do for a living should you pursue the engineering route as a career, so choose wisely. Signing up for a course on compilers is a no-brainer by the way. I'd drop Design and Analysis of Algorithms.
 

jman19

Lifer
Nov 3, 2000
11,225
664
126
Originally posted by: mugs
Originally posted by: spidey07

As long as you understand that focusing purely on CS does not yield a good career path as a EE. Programming monkeys are a dime a dozen, literally.

You know what I love? When people say "literally," but they really mean "figuratively." Saying literally when you mean the complete opposite - it's the ultimate irony. It makes me want to punch babies. Literally.

I guess those communication courses didn't help Spidey too much, eh?
 

oiprocs

Diamond Member
Jun 20, 2001
3,780
2
0
Originally posted by: jman19
Depends on what you want to do.

If you are interested in grad school, more theoretical type courses could be good.

Are you interested in systems level programming? Language theory? Graphics? AI?

I would say some necessary/important courses on top of what you mentioned are (in general, not from your list):

- Compilers
- Networks
- Operating Systems
- Artificial Intelligence and/or Machine Learning
- Theory of Computation
- Parallel Programming
- Theory of Languages

Originally posted by: OneOfTheseDays
Well I just graduated from UCSD, and if you are really interested in programming you should drop Introduction to Computer Architecture, Mathematics for Algorithms and Systems, and Design and Analysis of Algorithms.

Definitely take CSE12, CSE30, CSE100, CSE120, and the compiler classes if you can. This will give you a pretty solid background in programming from the low level on up.

Originally posted by: DaveSimmons
CSE131 - Compiler Construction (Formerly CSE 131B as of Fall 2007. )

Compilers will help you understand how all languages work under the hood, and build up your state machine skills.

People curse at it because it require more thought than getting Hello World or 4-function calculator to work, and it's much harder to stumble your way though it than a general programming class.

I'm an application software developer rather than an EE, but I've used bits of knowledge from this class many times over the years in import/export filters, internal mini-langauges, etc.

This is NICE. I was hoping I would get some more responses. That'll teach me to be patient with a thread. :p

OneOfTheseDays, you're a saint. I was planning on doing my depth in EE in software systems, but 3 of those classes you've graciously pointed out as unnecessary. Now I can go with a Networks depth, and the 7 electives resulting out of that I'll fill out with aforementioned CS classes and anything else I want to take.

 

torpid

Lifer
Sep 14, 2003
11,631
11
76
A real world programmer would do well to take these... not sure if that fits with your case or not, but I'd consider them essential to any programmer's cirriculum.

132A/B - Databases
127 - Security
171 - UI
 

OneOfTheseDays

Diamond Member
Jan 15, 2000
7,052
0
0
The professors that teach the classes are also very important. They can be the difference between a great class and a crappy one.

Rick Ord is without a doubt the best CS professor at UCSD. I believe he teaches CSE30 and the new compiler's class (when I was there we had 2 compilers classes but I hear they cut it down to one now). Do whatever you can to get into his classes, don't take any other professors. If your gonna take the Principles of Operating Systems class make sure you take it with either Snoeren or Voelker, the other guy that teaches it does a half-assed job and your assignments are not nearly as challenging. I believe CSE12 is exclusively taught by Gary Gillespi, he's very good as well. But ask any CS friends you have and they'll point you in the right direction.
 

Legendary

Diamond Member
Jan 22, 2002
7,019
1
0
Take a least one database programming class. If you want to be an application coder one day (EE tells me no, but you never know) then you'll need some DB knowledge.
 

spidey07

No Lifer
Aug 4, 2000
65,469
5
76
It really is amazing how people in college place so much on what class, what professor they had. Like it's important. Like this really matters.

You can believe what I say or not...but what classes you took, what professor you had is completely irrelevant. Even if I can't spell.

-edit-
Be well rounded in basic computing, so many grads in CS can't grasp this simple concept.
 

BigJ

Lifer
Nov 18, 2001
21,330
1
81
Originally posted by: spidey07
It really is amazing how people in college place so much on what class, what professor they had. Like it's important. Like this really matters.

You can believe what I say or not...but what classes you took, what professor you had is completely irrelevant. Even if I can't spell.

-edit-
Be well rounded in basic computing, so many grads in CS can't grasp this simple concept.

Here's a couple of simple concepts and pieces of information you can't grasp:

-He's not a CS major. He's an EE major with a software systems specialization (he actually updated this to a Networks specialization later in the thread).
-People are only talking about professors in the context of how much you like the class and how difficult it can be. Would you rather take a class with the dick professor who only gives 1 A out to the entire class, or would you rather take the class with the professor who is amicable with his students, makes the topic interesting and fun, and makes you look forward to going to class?
-Since he has to specialize, he's required to take the CS classes. He can take Comm, Business, and whatever the hell else he wants on his own time, but these are classes he HAS TO TAKE for the specialization.

If you're going to talk down to people, pull your head out of your ass for a minute and actually read the posts in the thread.
 

spidey07

No Lifer
Aug 4, 2000
65,469
5
76
Originally posted by: BigJ
Originally posted by: spidey07
It really is amazing how people in college place so much on what class, what professor they had. Like it's important. Like this really matters.

You can believe what I say or not...but what classes you took, what professor you had is completely irrelevant. Even if I can't spell.

-edit-
Be well rounded in basic computing, so many grads in CS can't grasp this simple concept.

Here's a couple of simple concepts and pieces of information you can't grasp:

-He's not a CS major. He's an EE major with a software systems specialization (he actually updated this to a Networks specialization later in the thread).
-People are only talking about professors in the context of how much you like the class and how difficult it can be. Would you rather take a class with the dick professor who only gives 1 A out to the entire class, or would you rather take the class with the professor who is amicable with his students, makes the topic interesting and fun, and makes you look forward to going to class?
-Since he has to specialize, he's required to take the CS classes. He can take Comm, Business, and whatever the hell else he wants on his own time, but these are classes he HAS TO TAKE for the specialization.

If you're going to talk down to people, pull your head out of your ass for a minute and actually read the posts in the thread.

That's fine. Nobody cares what classes you took or take as long as you get the degree. If it's a requirement...I'm sorry if if was a jackass earlier...

Basic Data Structures and Object-Oriented Design
-not suited for a EE-
Mathematics for Algorithm and Systems
-better suited for a EE-
Advanced Data Structures
-helpful, but not really related to EE-
Design and Analysis of Algorithms
-helpful in computing-
Principles of Computer Operating Systems
-not so helpful in EE-
Introduction to Computer Architecture
-essential to EE-

I really am sorry for being rude. Computer Architecture would be a nice, single class to add to augment the understanding of computing, followed by Design and Analysis of Algorithms. These classes will round out a EE.
 

oiprocs

Diamond Member
Jun 20, 2001
3,780
2
0
Originally posted by: BigJ
Originally posted by: spidey07
It really is amazing how people in college place so much on what class, what professor they had. Like it's important. Like this really matters.

You can believe what I say or not...but what classes you took, what professor you had is completely irrelevant. Even if I can't spell.

-edit-
Be well rounded in basic computing, so many grads in CS can't grasp this simple concept.

Here's a couple of simple concepts and pieces of information you can't grasp:

-He's not a CS major. He's an EE major with a software systems specialization (he actually updated this to a Networks specialization later in the thread).
-People are only talking about professors in the context of how much you like the class and how difficult it can be. Would you rather take a class with the dick professor who only gives 1 A out to the entire class, or would you rather take the class with the professor who is amicable with his students, makes the topic interesting and fun, and makes you look forward to going to class?
-Since he has to specialize, he's required to take the CS classes. He can take Comm, Business, and whatever the hell else he wants on his own time, but these are classes he HAS TO TAKE for the specialization.

If you're going to talk down to people, pull your head out of your ass for a minute and actually read the posts in the thread.

Almost, but not quite. I reread my original post and I should have made it clearer. My apologies to all.

The classes I listed are ones that would be required by a CS specialization. However, due to the fact that some of the classes have been pointed out as negligible by some friendly posts, I decided that I would rather specialize in Network Systems. That appeals to me just as much, and after the required courses for a Network specialization, I will have 7 free electives to use in any manner. I'll most likely use 4 or 5 of them on CS courses that have been mentioned as useful by responses in this thread.

What's an application coder? Is it as simple as someone who writes code for applications? What would a database programming class teach you?