UIUC study guides, course by course
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 UIUCComputer Science
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 — 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.
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 — renumbered from the storied CS 241. 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
MATH 221 — Calculus 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 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 — 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
STAT 100 — Statistics
STAT 100 is UIUC's introductory statistics course for non-majors — descriptive statistics, probability basics, correlation and regression, and inference — and one of the largest courses on campus. It's a popular quantitative-reasoning requirement filler known for well-produced lectures and a heavily structured format.
STAT 107 — Data Science Discovery
STAT 107 is UIUC's introductory data science course, jointly designed by Statistics and Computer Science — Python in notebooks, data manipulation, visualization, simulation-based inference, and machine learning basics, all taught through real datasets. It assumes no programming background and has become one of the most popular ways into data skills on campus.
STAT 400 — Statistics and Probability I
STAT 400 is UIUC's calculus-based probability and statistics course — probability, random variables, common distributions, expectation, the central limit theorem, then estimation, confidence intervals, and hypothesis testing. It's the workhorse statistics requirement for CS + Statistics, actuarial science, and many engineering and quantitative majors.
Chemistry
CHEM 102 — General Chemistry I
CHEM 102 is UIUC's general chemistry lecture for science and pre-health majors, covering stoichiometry, atomic structure, bonding, gases, thermochemistry, and equilibrium, taken with the CHEM 103 lab. It's the standard first chemistry course for the pre-med and life-science population.
CHEM 104 — General Chemistry II
CHEM 104 is the second semester of UIUC's general chemistry sequence — kinetics, equilibrium, acids and bases, thermodynamics, and electrochemistry — taken with the CHEM 105 lab. It's a core requirement for pre-health and many science majors, and the direct gateway to organic chemistry.
Physics
PHYS 211 — University Physics: Mechanics
PHYS 211 is UIUC's calculus-based mechanics course for engineering and science majors — kinematics, Newton's laws, energy, momentum, rotation, and oscillations — delivered through prelectures, large lectures, discussions, and labs in a tightly structured weekly system.
PHYS 212 — University Physics: Electricity and Magnetism
PHYS 212 is UIUC's calculus-based electricity and magnetism course — electric fields, Gauss's law, circuits, magnetic fields, induction, and electromagnetic waves — following PHYS 211 with the same tightly structured weekly system of prelectures, homework, discussions, and labs.
Economics
ECON 102 — Microeconomic Principles
ECON 102 is UIUC's introductory microeconomics course — supply and demand, elasticity, consumer and producer theory, market structures, and market failures. It's the entry point for the economics major and a popular social science elective, filling some of the largest lecture halls on campus.
ECON 103 — Macroeconomic Principles
ECON 103 covers GDP, inflation, unemployment, economic growth, and monetary and fiscal policy — the macro counterpart to ECON 102 and the other half of the economics major's introductory requirement. It fills large lecture halls with majors, pre-business students, and social science requirement seekers alike.
Electrical and Computer Engineering
ECE 120 — Introduction to Computing
ECE 120 is the first course in UIUC's computer engineering sequence, building computing from the bottom up — bits and combinational logic through sequential circuits, finite state machines, the von Neumann model, and LC-3 assembly programming. It's the foundation ECE 220 and the rest of the CompE core stand on.
ECE 220 — Computer Systems and Programming
ECE 220 follows ECE 120 in the computer engineering core, bridging from LC-3 assembly up into C — functions and the run-time stack, pointers, arrays, recursion, linked lists, and dynamic memory — through weekly MPs. It's where CompE students become real programmers.
Molecular and Cellular Biology
English
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