I'm a reasonable man; get off my case.

Help! CS 473 is full!


What happened?

CS 473 reached its registration capacity only a few days after registration opened in the spring. While CS 473 regularly fills up well before the semester begins, this year is notable in that almost every registered student is an undergraduate CS major and either a senior or a James Scholar. Among other things, this suggests that relatively few students will drop the class.

The increased demand for CS 473 reflects a sharp increase in the number of computer science majors (both in Engineering and LAS), computer science minors, and majors in related areas like computer engineering. For several years, the number of new freshman CS majors was fairly constant at just below 200 per year, until 2009. That number grew to 242 in 2010, dropped to 229 in 2011, grew again to 287 in 2012, and grew again to 320 in Fall 2013. Computer engineering majors and computer science minors have seen similar growth. This is the new normal.

This incoming enrollment wave has now worked its way up to our upper-division classes. CS 473 is being hit particularly hard, because it is both required for all CS majors and in high demand by related majors, including graduate students. The registration limit is set by the physical capacity of 1404 Siebel; we cannot increase it. And we do not have the necessary manpower to open another lecture section.


So what do I do?

If you are an undergraduate computer science major (including Math/CS or Stat/CS) and you are graduating in December 2013, contact Steve Herzog or Holly Bagwell in the Computer Science academic office as soon as possible. They will get you in.

For other students who cannot register, we are maintaining a waiting list, which currently holds more than 60 names. Registration is closed so that as students drop, people on the waiting list who need CS 473 to graduate can register without competing for space with others.

To add yourself to the waiting list, you must do ALL of the following:

  1. Fill out this electronic survey no later than Tuesday, August 27 at 5pm. You will need your university NetID and password.

  2. Come to the first lecture on Tuesday, August 27, and sign the paper form. You must come in person.

  3. Submit HW0, HW1, and so on, just as though you were already registered. If you do not submit all homework before you are registered, you will be taken off the waiting list, under the assumption that you are no longer interested in the class. We will not forgive homework grades just because you registered late.
Jeff will prioritize students on the waiting list as follows:
  1. Undergraduate computer science majors (including Math/CS and Stat/CS) who are graduating on or before May 2014 — There are already at least 35 students on the waiting list in this category. We expect to eventually admit most students in this category, but we can't promise to admit them all.

  2. Other undergraduate computer science majors, computer engineering majors, and computer science minors who have taken CS 373 — (CS 373 is a prerequisite; if you haven't taken CS 373 yet, you should take it first.) Some students in this category might eventually be admitted, but we can't promise anything.

  3. Everyone else, including graduate students (but see below) and CS majors who have not yet taken CS 373. — At this point, we don't expect to admit anyone in this category.
Within each category, students will be admitted to the course in decreasing order of their current homework and quiz scores, until that category is empty. No new students will be admitted after the first midterm.

Fortunately, CS 473 is offered every semester. Given the huge cohort this semester, it's unlikely that the class will be quite so full in the spring. (Still, register early!)


Graduate students should take CS 573

With a few exceptions, graduate students in computer science, ECE, CSE, and mathematics should take CS 573 instead of CS 473. In particular, CS 473 does not satisfy any graduate degree requirements at UIUC. Unfortunately, 573 is also full (even after being expanded twice). If you are still interested in taking 573 this semester, you should contact the instructor Sariel Har-Peled as soon as possible.

If you are a CS graduate student with an undergraduate degree in some other area than computer science, like electrical engineering, mathematics, or bioinformatics, you may be concerned that you do not have the right background for CS 573. You probably shouldn’t be. CS 573 and CS 473 intentionally have the same prerequsities. What CS 573 does assume is the intellectual maturity and fearlessness consistent with being a graduate student in one of the very best computer science departments in the world. Like you. Otherwise you wouldn’t be here. Do not let your advisor or your fellow students tell you otherwise. The vast majority of CS grad students, even those with non-CS undergraduate backgrounds, get through CS 573 with no trouble. (I do not consider "hard work" or "getting a B" to be trouble; if you want an easy A, you're in the wrong place.)

However, there are a few exceptions. A very small number of CS graduate students who attempt CS 573 discover that the gaps in their background are a significant barrier. We strongly encourage all such students to take CS 473, and I am reserving a few slots for these students. If you believe you fall into this category, please contact Jeff as soon as possible in addition to filling out the electronic survey. But the key prerequisite is to make a serious attempt at CS 573 first. Dropping after the first week doesn't count as a serious attempt.

Given the number of undergraduate majors on the waiting list (who must have priority because they need the course to graduate) and the small number of expected drops (because so many students are senior CS majors), it is unlikely that there will be room to admit any other graduate students from the waiting list this semester.

Of course, intellectually mature and fearless undergraduates are also welcome in CS 573!


Proficiency Exams

Students who are already comfortable with the course material are invited take the regularly scheduled final exam at the regular time (December 18 at 8am) for proficiency credit. If you plan to take the final exam for proficiency credit, please contact Jeff at least one week in advance.

To pass the proficiency exam, your score must be consistent with the scores of registered students who receive a C- or better in the course; as a rough estimate, your score must be at most one standard deviation below the mean. If you pass, your transcript will show a grade of "Pass" for CS 473, you will receive 3 credit hours, and any degree requirements satisfied by CS 473 will be satisfied, but your GPA will not be affected. Otherwise, nothing will appear on your transcript. See the university's proficiency exam policies for more details.

Do not take the proficiency exam unless you are sure you know the material! Several students have waited until their very last semester to take the CS 473 proficiency exam, and then failed. Those students did not graduate; some even lost pending job offers and visas. Do not do this! As a safety net, we strongly recommend also taking both midterms; these will be averaged in with your final.