Skip to main content
Top Public Flagships

UIUC study guides, course by course

Urbana-Champaign, ILPublic R1

UIUC is a semester-system public flagship whose CS program ranks among the best anywhere, which makes its intro sequence both excellent and intensely competitive. Large STEM courses lean on autograders, online homework systems like PrairieLearn, and a testing-center exam culture (the CBTF) that's distinctive to Illinois.

UIUC courses use a department abbreviation plus a three-digit number, e.g. CS 225 or MATH 221. The 100-level is intro and 200-level is core; the CS 124/128/173/225 chain is the famous lower-division sequence into the top-ranked CS program.

Fennie is independent and not affiliated with University of Illinois Urbana-Champaign.

Use Fennie at UIUC

Computer Science

9

CS 124Introduction 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 128Introduction 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 173Discrete 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 225Data 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 233Computer 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.

CS 341System Programming

CS 341 is UIUC's system programming course — C at a professional level, memory management, processes and threads, synchronization, file systems, and networking — renumbered from the storied CS 241. The MPs include classics like building your own memory allocator.

CS 374Introduction to Algorithms and Models of Computation

CS/ECE 374 — universally just "374" — covers models of computation (regular and context-free languages, automata), algorithm design (recursion, dynamic programming, graphs), and intractability through NP-hardness and undecidability. It's the theory crucible of the UIUC CS degree, with a reputation that precedes it by semesters.

CS 357Numerical Methods I

CS 357 covers the numerical computing behind scientific computing and machine learning — floating-point arithmetic, linear systems, least squares, eigenvalue methods, randomness, and optimization — implemented in Python with NumPy. It runs on a PrairieLearn-centered format with frequent computer-based quizzes.

CS 421Programming Languages and Compilers

CS 421 covers functional programming in OCaml, lambda calculus, operational semantics, type systems and inference, parsing, and interpreter construction. It's a required core course for UIUC CS majors and most students' first serious encounter with the functional paradigm.

Mathematics

5

MATH 221Calculus I

MATH 221 is UIUC's first calculus course — limits, derivatives, applications, and the beginnings of integration — required across engineering, science, and CS. It's a large-lecture course with discussion sections and online homework, taken by a huge share of incoming STEM students.

MATH 231Calculus II

MATH 231 covers techniques of integration, applications, and infinite sequences and series including Taylor series. It's the second course in UIUC's calculus sequence and a requirement for engineering, CS, and physical science majors, with many students placing into it via AP credit.

MATH 241Calculus III

MATH 241 is UIUC's multivariable calculus course — vectors, partial derivatives, multiple integrals, and vector calculus through Green's, Stokes', and the divergence theorems. It's required for engineering, physics, math, and many CS-adjacent tracks.

MATH 257Linear Algebra with Computational Applications

MATH 257 is UIUC's modern linear algebra course — linear systems, matrix operations, vector spaces, eigenvalues, orthogonality, least squares, and the SVD — taught with computational labs in Python. It replaced MATH 415 in most engineering and CS-adjacent curricula, pairing the theory with the data-scale applications that motivate it.

MATH 285Introduction to Differential Equations

MATH 285 is UIUC's differential equations course for engineering and science majors — first and second-order ODEs, applications like oscillations and circuits, plus Fourier series and an introduction to boundary value problems and partial differential equations. It typically follows MATH 241 in the engineering math core.

Statistics

3

Chemistry

2

Physics

2

Economics

2

Electrical and Computer Engineering

2

Molecular and Cellular Biology

1

English

1

Studying at UIUC?

Upload your course materials and Fennie generates Daily Plans paced to your deadlines — plus chat, flashcards, and quizzes built from your own courses.

Get started free

Other top public flagships schools