View Single Post
Kraetos
Lovable Bastard
 
Join Date: Dec 2005
Location: Boston-ish
 
2009-03-17, 20:02

Quote:
Originally Posted by Unch View Post
You're a CS student, but you don't get chance to do CS classes all the time? Or am I reading that wrong?
Oh, I get to take CS classes all the time. There are 15 CS courses in the catalog, 5 MC courses, (classes considered to be in both the Mathematics and the CS tracks) and one CS course in which one of the professors teaches a topic he thinks is cool. (That's where this Swing class is.)

But... there are only about 20 CS majors (and probably another 20 minors, it's a popular minor among physics and math majors) enrolled here at any given time. There are 3 full time CS professors, plus 3 math professors who know enough CS to get by - they teach the MCs.

Since there are only 3 CS professors, and Intro CS and Data Structures are offered every semester, that only leaves room for 4 or 5 other courses. Thus, those 4 or 5 slots rotate through the other 15 or so CS/MC classes in the catalog on a scheduled basis, plus that one mystery elective. Required classes are offered every other semester; electives every 4th semester. You need Intro CS, Data Structures, Algorithm Design, Discrete Math, Linear Algebra, Theory of Computing, Computer Organization, Programming Languages, and three electives to complete the major.

There are a few reasons I put myself through this craziness:
- I like to take courses in a whole lot of other topics. The government, english, philosophy, etc. departments here are exceptionally strong.
- I like 7:1 student/faculty ratio in the CS department. I probably spend more time with my professors outside of class than in class.
- It's the job experience that counts with CS anyway, so I take good internships over the summer.

Quote:
Originally Posted by Kickaha View Post
Ooooooh, ProgLangs! Taught that meself, I did. Fun stuff.

I like your prof's suggestion - instead of starting at the metal and working up, start with the easiest, and work down.
Oh of course! I am super excited for ProgLangs!

I think his language progression idea is pretty clever too. I suppose Spolsky would argue that C++ for intro CS filters out those who cant hack it, but I feel like students are more likely to be able to get the nitty-gritty it if they have Intro CS and Data Structures under their belt. Even if they cant get C++ and they have to muster out when they hit the 300-level, they walk away with knowledge of Python, which could prove useful for all sorts of reasons, and they only spent two classes towards major they don't end up keeping.

Logic, logic, logic. Logic is the beginning of wisdom, Valeris, not the end.
  quote