3 ms·
I'm a CS major at CMU graduating this year and I think I can help elaborate on the "potential vs. current level" thing a bit. Things have changed somewhat since
by wrthomps 13y ago
I'm a CS major at CMU graduating this year and I think I can help elaborate on the "potential vs. current level" thing a bit. Things have changed somewhat since I entered the school, but the ideas are mostly the same.
For my class, there were three intro-level programming courses, each a prereq for the next: introductory programming for those with no experience, introduction to data structures, and fundamentals of algorithm and data structure analysis. A pre-test given over the summer was used to establish which class you were put into. According to the department, roughly one-third of the class ended up in each one. I had no programming experience coming in, so I was put in the first class.
The final course of that intro sequence was also the major fundamentals course for one of the three tracks that the curriculum branched out to after the first intro class, focusing on algorithms and their implementations. The other two tracks focused on systems programming and mathematical interaction (via functional programming).
Every student, regardless of their intro class, typically completes these tracks by the end of their second year or early into their third year, which opens up basically all of the 300- or 400-level specialization courses in the department. Which is why the school doesn't need to focus on people with lots of experience coming in--the structure of the curriculum means that everyone gets to the same level of important fundamentals pretty quickly, and once you've done that you get to branch out and specialize into whatever you want. The more experienced newcomers just have more time to do that.
And anecdotally, the approach has definitely worked. I've got a great job lined up starting this summer that I'm excited to start. I am not a woman so I can't speak to its effectiveness in attracting women specifically, but in my experience the school has done a great job accommodating a wide range of experience levels.
- pilom 13y agoAs a CMU alumn, I have to add that part of the reason that the CS department has the 3 levels is that most majors at the school require a programming course. I'd guess that your intro course had more non-CS majors in it than the other 2 freshmen courses which tend to have a higher proportion of CS majors.