Part II: Foundations
Algebra, functions, and trigonometry, side by side with your first programs and proofs.
- Module 01Algebra is the language of calculus8 exercisesAdd and divide fractions, expand and factor expressions, solve equations with restrictions, and explain why a cancellation is legal.
- Module 02Functions, inputs, domains, and graphs8 exercisesRead a function as an input-output rule, evaluate shifted inputs, identify domains and ranges, and translate graph transformations into coordinates.
- Module 03Composition, inverses, exponentials, and logarithms8 exercisesTrace nested inputs, determine an inverse with a domain, use logarithms to undo exponentials, and distinguish inverse functions from reciprocals.
- Module 04Radians, trigonometry, geometry, and units8 exercisesUse exact unit-circle values, solve simple trigonometric equations, interpret slope with units, and write a line from a point and a slope.
- C01Programs as precise state changes5 exercisesTranslate a small specification into state, predict a loop’s behavior, distinguish assignment from equality, and test an implementation without confusing a successful example with a proof.
- C02Functions, recursion, search, and debugging5 exercisesExplain function inputs and returns, trace nested calls, construct a terminating recursive definition, and implement a boundary-safe binary search with an explicit invariant.
- C03C++ values, references, ownership, and lifetimes5 exercisesPredict copies and aliases, distinguish an address from an object, use RAII and move-only ownership, and explain why a resource remains valid or becomes invalid.
- C04Logic, sets, relations, and constructing proofs5 exercisesTranslate quantified claims, negate them correctly, construct direct and contrapositive proofs, find counterexamples, and distinguish a finite test from a general argument.
- C05Induction, counting, recurrences, graphs, and modular arithmetic5 exercisesWrite valid induction proofs, distinguish strong and structural induction, count without confusing order or replacement, analyze a recurrence, and explain Euclid’s algorithm and modular exponentiation.
- Cumulative checkpoint: programming and discrete reasoning6 exercisesUse after C01–C05. Reserve roughly 45–75 minutes, adjusting for your other commitments. Work without AI, solution pages, or execution on the first pass. Record assumptions and predicted behavior before testing. Score each…
- chapter
- workshop: connects two subjects
- checkpoint, review or assessment