uiuc cs course rigor

<p>Junior in CS here. To get a real feel for the difficulty of CS 473, look at the notes, exams, homeworks, and discussion section handouts here: [Jeff</a> Erickson’s Algorithms Course Materials](<a href=“http://compgeom.cs.uiuc.edu/~jeffe/teaching/algorithms/]Jeff”>http://compgeom.cs.uiuc.edu/~jeffe/teaching/algorithms/) . The averages on midterms is quite low… I know that for CS 446 (machine learning) it’s about 40%, and for CS 373 it was 51% this semester. The people I talk to in 473 say it takes about 20 hours a week to complete the problem sets… perhaps more. The 373 work is quite difficult (homework here: [CS</a> 373 Homework](<a href=“http://www.cs.illinois.edu/class/sp11/cs373/hw.html]CS”>http://www.cs.illinois.edu/class/sp11/cs373/hw.html)).</p>

<p>That said, I have very mixed feelings about the curriculum here. I think the rigor at MIT, CMU, and Stanford is certainly higher, even if UIUC officially ranks along these schools. However, I feel this is because UIUC often doesn’t really force you to learn everything being taught (exams and homework are not too difficult in many classes). But… I think if you take your studies really seriously and actually do a lot of study and recommended reading (example: in CS 473 Erickson’s lecture notes are 800 pages), you’ll be in a good position.</p>

<p>Keep in mind, other than CS 242, and perhaps some classes at the 400 level, the classes won’t make you into a good programmer… for this you absolutely need outside practice. You learn Java, C, C++ in CS 125, 241, 225 respectively but only that which is required to do the machine problems.</p>

<p>I ought to write everything I think somewhere but here are a few things I’d tell my freshmen self, now that I’ve been here a while:
-Make lots of friends, because you’ll eventually have to do group projects with people and the work will eventually get difficult
-In general, avoid the electives that lots of people take (those in Siebel 1404)!.. I’ve taken CS 411 and CS 412 and regret taking both… after taking CS 241/225, if you want to learn a lot take the classes that have limits of 30-50 people, like CS 423, 438, 425, classes under CS 498, etc. The professors I had for 411 and 412 I didn’t really like, so perhaps ask around and/or use ratemyprofessor.
-If you know Java and a little bit of CS theory (like sorting algorithms) (perhaps you took AP CS A or AB in high school), at the beginning of the fall go to past CS 125 web pages, study, then take the proficiency exam for CS 125, because you’ll likely find the class very easy. Really wish I had done this…
-Take advantage of engineering career services and the events at Siebel. You can probably get a lot of interview experience as a freshmen even if you don’t expect to ever get hired for anything.</p>