UIUC CS 173: Discrete Structures
CS 173 is UIUC's discrete math course — logic, proofs, induction, sets, functions, graphs, and counting — and the theory foundation for CS 225 and the algorithms coursework beyond. For most students it's their first proof-based mathematics.
Fennie is independent and not affiliated with University of Illinois Urbana-Champaign. This is an unofficial study guide.
Build my CS 173 study planWhat makes it hard
The proof-writing adjustment is the wall: knowing why something is true and writing a rigorous argument for it are different skills, and grading rewards only the latter. Induction in particular takes most students several failed attempts to internalize, and the course's pace doesn't wait.
What you'll cover
- • Propositional logic and predicates
- • Proof techniques and induction
- • Sets, functions, and relations
- • Graphs and trees
- • Counting and basic combinatorics
- • Big-O and algorithm analysis foundations
The CS 173 study guide
How to study for UIUC CS 173, step by step.
- 1
Write proofs every day, read them rarely
Reading correct proofs feels like understanding; producing your own is the skill CS 173 grades. Even one written proof a day builds the rigor that the first month's adjustment demands.
- 2
Get every proof checked by someone
Office hours, study groups, or talking through your logic out loud — external checking is how you learn what rigor actually requires. Self-graded proofs hide exactly the gaps that cost exam points.
- 3
Give induction triple the repetitions
Most students need several failed attempts before induction clicks, and the course pace doesn't wait. Start inducting early, write the base case and inductive step in full every time, and expect the struggle — it's the curriculum working.
- 4
Grind PrairieLearn until counting is smooth
Counting quietly costs more exam points than any other CS 173 unit. Work the PrairieLearn practice problems in volume — combinatorics fluency comes from dozens of problems, not from understanding three deeply.
- 5
Build the habit with Fennie
Upload the CS 173 syllabus and Fennie's Daily Plans schedule daily proof practice paced to your exams, generating practice problems and flashcards from the actual course materials you feed it. Free to start.
Start my CS 173 plan free
How Fennie helps with CS 173
Fennie's Daily Plans schedule CS 173 with daily proof practice, because proof skill is built through repetitions, not reading. Use chat to stress-test your proofs — present your induction argument and have Fennie probe the weak steps — and generate practice problems for counting, the unit that quietly costs the most exam points.
FAQ
Is CS 173 hard?
For students new to proofs, yes — it's a different mode of thinking than programming, and the first month is disorienting. The material itself is foundational rather than deep; the difficulty is the rigor adjustment, which rewards early and frequent practice.
How do I get better at proofs in CS 173?
Write proofs daily and get them checked — office hours, study groups, or talking through your logic out loud. Reading correct proofs feels like understanding; producing your own is the skill being graded, and only writing builds it.
Do I need CS 173 before CS 225?
Yes, CS 173 (or MATH 213) is a prerequisite for CS 225. The proof and analysis skills carry directly into 225's theory exams, so taking 173 seriously pays off immediately the following semester.
Pass CS 173 with a plan, not a cram
Upload your CS 173 materials and Fennie generates a Daily Plan paced to your deadline — plus chat, flashcards, and quizzes built from the actual course content.
Get started freeMore UIUC courses
CS 124 — Introduction to Computer Science I
CS 124 is UIUC's first programming course for CS majors, taught in Java or Kotlin (students choose), covering programming fundamentals through basic data structures and even Android development. It replaced the old CS 125 and is known for its polished homework infrastructure with daily small assignments.
CS 128 — Introduction to Computer Science II
CS 128 is the second course in UIUC's CS sequence, moving students into C++ with memory management, object-oriented design, and an introduction to data structures and software engineering practice. It bridges CS 124 and the heavyweight CS 225.
CS 225 — Data Structures
CS 225 is UIUC's famous data structures course in C++ — lists, trees, AVL and B-trees, hashing, heaps, disjoint sets, and graph algorithms — delivered through MPs (machine problems) and weekly labs. It's the make-or-break course of the CS major and the one alumni still talk about.
CS 233 — Computer Architecture
CS 233 is UIUC's computer architecture course — digital logic, MIPS assembly, processor datapaths, pipelining, and caches — taken after CS 225 in the CS core. It's known for its tightly engineered PrairieLearn workflow: practice problems with unlimited retries feeding frequent proctored quizzes.