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.

Computer Science

9

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 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.

CS 341: System Programming

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

CS 374: Introduction 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 357: Numerical 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 421: Programming 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 221: Calculus I

MATH 221 is UIUC's first calculus course, covering 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 231: Calculus 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 241: Calculus 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 257: Linear Algebra with Computational Applications

MATH 257 is UIUC's modern linear algebra course, covering 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 285: Introduction 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