Module 2: Foundation

1. Programming & Logic

  • Goal: Move beyond syntax to understand computational models and recursion.
  • Core Text: How to Design Programs, Second Edition.

2. Discrete Mathematics

  • Goal: Acquire the “competitive advantage” of applied math, focusing on logic, combinatorics, probability, and set theory.
  • Core Text: Mathematics for Computer Science (Lehman, Leighton, Meyer).

3. Computer Architecture

  • Goal: Develop a solid mental model of how hardware executes software.
  • Core Text: Computer Systems: A Programmer’s Perspective (CS:APP). (Chapters 1–6 are standard for an introductory course.)