This course is an introduction to the theoretical side of computer science. In it, you will learn how to construct proofs, as well as read and write literate formal mathematics. You will also get a quick introduction to key theory topics, particularly analysis of algorithm running times. And you will also become familiar with a range of standard mathematics concepts commonly used in computer science.
The course is designed for students who have a B- or above in introductory programming for CS/CE majors (CS 125 or ECE 220) and in one term of calculus (Math 220 or 221). If you have a lower grade in these prerequisites, please talk to your advisor about how to firm up your background before taking CS 173.
Textbook and resources
The official course text is Building Blocks for Theoretical Computer Science (Version 1.3b).
Our course forum will be on piazza. Homeworks and exams will be on PrairieLearn, with the exams taken in-person at the CBTF. Our gradebook will be on either Canvas or Moodle. Use the "Resources" tab in the top menu to access any of these tools.
You can find a calendar of office hours on the main course page.
Meeting times and topics
Our class meets for 75 minutes on Tuesdays and Thursdays. See the campus course schedule for your specific section's time and location. On Tuesdays (and Thursday the first week), class is an interactive lecture. On Thursdays, we hold tutorials.
Schedule of lecture and tutorial topics.
Exams and grading
Exams are held every other week (starting Week 3) in the CBTF. See our exams page for details.
Assigned work and grading formula
Collaboration and academic Integrity
We encourage you to seek help from classmates and course staff when learning the material, e.g. tutorials, homework, study problems. However, you should practice doing problems on your own as much as possible, because you'll need to do that on the examlets. And then seek help as/when you get stuck.
See the student code for general university guidelines and our examlet instructions page for our expectations specific to the CBTF proctored examlets. A typical sanction for a first infraction is an undroppable zero on the grade item (e.g. an examlet) or a 5% reduction in your course average, whichever is larger. A second infraction will result in a larger sanction or (e.g. cheating on two examlets) failing the course.