UIUC 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.
Fennie is independent and not affiliated with University of Illinois Urbana-Champaign. This is an unofficial study guide.
Build my CS 128 study planWhat makes it hard
The transition to C++ — pointers, memory, compilation — is the core difficulty, especially for students whose only experience is CS 124's managed languages. Many students take it alongside CS 173, and the combined workload of that pairing is a recurring warning on the UIUC subreddit.
What you'll cover
- • C++ fundamentals
- • Pointers and memory management
- • Object-oriented design in C++
- • Introductory data structures
- • Testing and debugging
- • Software engineering practices
The CS 128 study guide
How to study for UIUC CS 128, step by step.
- 1
Plan the semester load honestly
CS 128 paired with CS 173 is the heaviest lower-division semester in the major and a recurring subreddit warning. If that's your schedule, block the hours for both up front instead of discovering the overload in week six.
- 2
Draw memory for every pointer exercise
C++ exposes the memory management CS 124's languages hid. Sketch the stack and heap until you can predict exactly what each pointer operation does — CS 225 assumes this fluency without mercy.
- 3
Befriend the compiler by breaking things
Compilation errors, segfaults, and undefined behavior teach faster when you trigger them deliberately. Modify working code to fail in specific ways and explain each failure — that's real C++ understanding forming.
- 4
Drill code tracing for the proctored assessments
CBTF-style assessments test reading and predicting C++ behavior under proctored conditions. Regular paper-tracing practice keeps the format from costing you points the content didn't.
- 5
Coordinate the chaos with Fennie
Upload your CS 128 syllabus — and whatever you're taking alongside it — and Fennie's Daily Plans balance the combined load day by day, with pointer and code-tracing quizzes generated from your actual course materials. Free to start.
Start my CS 128 plan free
How Fennie helps with CS 128
Daily Plans coordinate CS 128 with whatever you're taking alongside it — the CS 128 + CS 173 semester is exactly the overload Daily Plans exist to manage. Use Fennie's chat to build real intuition for pointers and memory before CS 225 assumes it, and drill code-tracing quizzes for the proctored assessments.
FAQ
Is CS 128 hard at UIUC?
It's a meaningful step up from CS 124 because C++ exposes memory management the earlier course hid. The course itself is well-run; difficulty spikes mostly for students pairing it with CS 173 in the same semester, which is common and demanding.
Should I take CS 128 and CS 173 together?
It's the standard path and it's doable, but it's the heaviest lower-division semester in the major — budget accordingly. If your schedule allows splitting them, the lighter load makes both courses more learnable.
How does CS 128 prepare me for CS 225?
CS 225 assumes C++ fluency — pointers, classes, memory — and CS 128 is where you build it. Students who limp through 128's memory material are the ones who suffer most in 225, so invest in genuinely understanding it now.
Pass CS 128 with a plan, not a cram
Upload your CS 128 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 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.
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.