Welcome to the Spring 2018 web page for CS173

Most information will be in the subpages for the two lectures and the honors add-on. Links will appear below as we get those pages ready (probably over winter break).

Meanwhile, please read the registration and start-up information below. You can also look at the Fall 2017 and/or Spring 2017 web pages to get a sense of what the course covers and how it normally runs.


The course is now full, but a few people may drop between now and add date.

Seats can appear as late as the second week of classes. (We do not let students join the class or switch lecture after add date.) If you aren't yet registered when clases start, COME TO CLASS and stay caught up with the work. Otherwise, it will be difficult to get caught up when you are able to add the course officially.

Prerequisite checking

To take this course, you must have completed Calculus I (Math 220 or 221) and CS 125 or ECE 220. In December, we will check everyone's background. Around the start of classes, we will remove anyone who does not have the prerequisites. If credit for these courses is not already visible on your transcript, e.g. because you have incoming transfer credit, please email the details to Margaret Fleck (mfleck@illinois.edu).

In particular, this course assumes that you have significant practice with recursion, have worked with basic data structures (e.g. linked lists, trees or graphs), and have seen simple examples of big-O algorithm analysis. Students without this background sometimes think they are ok towards the start of the term, but get into trouble midway through the course.

Notice that if you have informal background in C++ or Java, but no actual credit, you must take the CS 125 proficiency exam to satisfy the prerequisite.

If you need to take the proficiency exam, have a backup plan in case you don't pass. Similarly have a backup plan if you are depending on informal background to get in.

Honors and Proficiency Exam

If you have taken previous proof-based math courses, you may wish to attempt the proficiency exam. For more information, see the CS Proficiency Exams page.

If your background is strong and your schedule is not very full, you may wish to do the Honors Add-on. See the link at the top of this page. You can add this after classes start.