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.
Build my CS 357 study planWhat 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.
- 5
Keep the numerics on schedule with Fennie
Upload the CS 357 schedule and Fennie's Daily Plans pace linear algebra review and quiz prep to the course's steady assessment calendar, with error-analysis flashcards generated from your actual materials. Free to start.
Start my CS 357 plan free
How Fennie helps with CS 357
Fennie's Daily Plans pace CS 357's quiz calendar with the linear algebra refresh it silently assumes, so each CBTF window meets a prepared student. Chat through conditioning and convergence questions until the reasoning sticks, and drill generated flashcards on the cost-and-error facts the quizzes test.
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. It's one of the most practically leveraged courses in the major for data science and ML paths.
Pass CS 357 with a plan, not a cram
Upload your CS 357 materials and Fennie generates a Daily Plan paced to your deadline — plus chat, flashcards, and quizzes built from the actual course content.
Get started freeMore 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 — 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.