UIUC 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.
Fennie is independent and not affiliated with University of Illinois Urbana-Champaign. This is an unofficial study guide.
What makes it hard
The daily-homework cadence is the feature and the challenge: small autograded assignments nearly every day mean there's no coasting week, and missing a stretch compounds fast. Quizzes run frequently through the testing center, so assessment pressure is constant rather than concentrated in two midterms.
What you'll cover
- • Programming fundamentals in Java or Kotlin
- • Control flow and functions
- • Objects and classes
- • Lists, maps, and basic data structures
- • Recursion basics
- • Android app development intro
The CS 124 study guide
How to study for UIUC CS 124, step by step.
- 1
Do the daily homework daily, never in batches
CS 124's small autograded assignments land nearly every day, and saving a week's worth for Sunday defeats the spaced design. Stay current and the course is famously smooth; fall behind and the compounding hurts fast.
- 2
Book your CBTF quiz slots early
The computer-based testing facility's good time slots fill up, and the frequent quizzes mean constant proctored assessment. Reserve slots as windows open so you're never taking a quiz at your worst hour.
- 3
Practice reading code without an IDE
Proctored quizzes test code reading and prediction in a locked-down environment. Trace snippets on paper weekly so the format never adds difficulty on top of the content.
- 4
Recover immediately after any missed stretch
Travel or illness costs days of small deadlines, and the daily cadence punishes drift. Treat catch-up as the week's top priority: a single recovered week is cheap, three is brutal.
Today
Today's CS 124 plan
What a Fennie Daily Plan looks like for CS 124. Yours is built from your own syllabus and adapts every day to your deadlines and progress.
First plan free, no card required. Fennie is independent and unaffiliated with your school.
FAQ
Is CS 124 hard at UIUC?
It's well-supported and beginner-friendly in design, but the relentless daily cadence catches students used to weekly deadlines. Stay current and it's one of the smoothest intro CS experiences anywhere; fall a week behind and the compounding hurts.
Should I choose Java or Kotlin in CS 124?
Both tracks cover the same concepts and both prepare you for CS 128. Kotlin is more modern and concise; Java aligns with AP CS A background. Pick whichever feels comfortable; the choice doesn't gate anything downstream.
Can I skip CS 124 with prior experience?
Yes. UIUC offers a CS 124 proficiency exam, and strong scores let you proceed to CS 128 (and CS 173). If you have solid programming experience, the proficiency route is well-trodden and saves a semester.
More UIUC courses
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 173: Discrete Structures
CS 173 is UIUC's discrete math course, covering logic, proofs, induction, sets, functions, graphs, and counting. It's 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++, covering 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, covering 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.