Welcome to the Fall 2018 web page for CS173
To take this course, you must have completed Calculus I (Math 220 or 221) and CS 125 or ECE 220. In August, 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 the academic office (undergrad@cs.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.
Students with significant programming background in C++ or Java but no formal credit should take the CS 125 proficiency exam given at the start of term. Make sure you have a backup plan (e.g. register for CS 125) in case you don't pass.
Detailed information about prerequisite enforcement will be posted closer to the start of term. This will include instructions for reporting unusual situations such as exchange students, incoming transfer, substantial background in a language other than C++ or Java.