Welcome to the Spring 2019 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 the weekend before classes start).

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

Textbooks etc

The textbook will be available online.

You'll need to buy a copy of the discussion manual, in the textbook section at the Illini Union Bookstore. Used copies are ok: the contents haven't changed in a couple years. On the other hand, it's cheap (sold at cost), so you might as well have a copy that isn't written on or falling apart. If the bookstore runs out of copies, tell the folks at the desk so they can get more printed.


Right now, the course is full. Not just "full" on banner but also projected not to have many seats for non-majors.

Some additional seats may appear quite late. In particular, students who pass the CS 173 proficiency exam (and can therefore drop the course) won't find this out until about a week into classes.

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

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.

To take this course, you must have completed Calculus I (Math 220 or 221) and CS 125 or ECE 220. Banner is starting to enforce prerequisites automatically, so you may be unable to register if you don't have them. If this system is not completely working, we will check everyone's background (starting in December) and remove anyone who does not have the prerequisites.

If you have credit for a prerequisite course but it is not visible on your transcript, you may run into problems with registration and/or the prerequisite checking. This would include students with incoming transfer credit, exchange students, and students who pass the CS 125 proficiency exam at the start of the term.

What can be used to satisfy the prerequisites?

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. The spring exam dates are still being finalized, but will likely be in two evenings early in the first week of classes.

If your background is strong and your schedule is not very full, you may wish to do the Honors Add-on. Registration information will appear soon. Many people add this after classes start.