Skip to content
Waciuma Wanjohi edited this page Aug 28, 2020 · 1 revision

Summary of changes

  • New section Foundations houses all non-CS prerequisite content
  • Intro CS is now a "wildcard" (students' choice) section, meaning it isn't required to teach a specific language or set of concepts
  • Old Core Theory renamed to Core Structures
  • The old Advanced Theory is the new Core Theory
  • The new Advanced Theory now covers advanced complexity theory and advanced type theory
  • Core/Advanced Math collapsed into Core/Advanced Structures
  • New category: Core/Advanced Software Engineering, focusing on large-scale system architecture and formal verification
  • New category: Core/Advanced Distributed Systems, focusing on information theory, networks and other distributed systems, and distributed programming

Foundations

  • K-8 Math
  • High School Math
  • Single-variable Calculus
  • Multivariable Calculus
  • Linear Algebra
    • Beginner track for all CS students
    • Advanced track for CS students who will study data science, computer graphics, etc.
  • Probability
  • Physics

Tools of CS

  • Modern Technology
  • Version Control
  • Editor
  • Command Line
  • Development Infrastructure

Intro CS

  • Introduction to Computer Science (wildcard)

Core Programming

  • Functional Computation
  • Imperative Computation
  • Parallel and Concurrent Computation

Core Computing Systems

  • Survey (Nand2Tetris)
  • Machine Systems
  • Operating Systems

Core Structures

  • Discrete Mathematics
  • Algorithms and Data Structures
  • Databases

Core Distributed Systems

  • Information Theory
  • Networking
  • Distributed Programming

Core Theory

  • Theories of Computation

Core Software Engineering

  • Software Architecture
  • Formal Methods

Advanced Programming

  • Language Implementation
  • Type Systems

Advanced Computing Systems

  • Operating system internals

Advanced Structures

  • Category Theory
  • Algorithms and Data Structures
  • Databases

Advanced Distributed Systems

  • Distributed systems

Advanced Theory

  • Complexity Theory track
  • Type Theory track

Advanced Software Engineering

  • Software Architecture
  • Formal Methods

Domains of CS

  • Computer Graphics, etc.