UIUC 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.
Fennie is independent and not affiliated with University of Illinois Urbana-Champaign. This is an unofficial study guide.
What makes it hard
It's a math course wearing a programming course's clothes: the quizzes test whether you understand conditioning, error, and convergence, not whether you can call a library function. Students who treat it as light credit get caught by floating-point subtleties and linear algebra that resurfaces with sharper teeth.
What you'll cover
- • Floating-point arithmetic and error
- • Conditioning and stability
- • Linear systems and LU factorization
- • Least squares and SVD
- • Eigenvalue algorithms
- • Randomness and Monte Carlo
- • Optimization basics
The CS 357 study guide
How to study for UIUC CS 357, step by step.
- 1
Refresh linear algebra with intent
CS 357 re-runs matrix factorizations, norms, and eigenvalues at higher speed and with sharper questions. A deliberate MATH 257-level review in the first weeks pays off on every quiz after.
- 2
Internalize floating-point early
Machine epsilon, cancellation, and representation error underpin the whole course and defy intuition. Work the early floating-point material until the surprises stop; it's the unit students most regret skimming.
- 3
Connect every method to cost and error
Quiz questions ask what an algorithm costs and how its error behaves, not just what it computes. For each method, attach its complexity and convergence story as you learn it.
- 4
Grind PrairieLearn before every quiz window
The practice problems mirror the quiz generators directly. Repeating them until each problem type is mechanical is the format's own intended preparation. Then book early CBTF slots.
Today
Today's CS 357 plan
What a Fennie Daily Plan looks like for CS 357. 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 357 hard at UIUC?
It's moderately demanding and frequently underestimated: the quizzes test numerical reasoning (error, conditioning, cost), not library calls. Students with fresh linear algebra and respect for the floating-point unit find it very manageable.
What math do I need for CS 357?
Linear algebra is the core dependency (matrix factorizations, norms, eigenvalues), plus calculus-level comfort with convergence ideas. If your MATH 257 or 415 material has rusted, review it in the first weeks rather than mid-course.
Is CS 357 useful for machine learning?
Directly. Least squares, SVD, conditioning, and optimization are the numerical machinery under ML libraries. For data science and ML paths, its material gets used as often as any course in the major.
More 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 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.