-
Notifications
You must be signed in to change notification settings - Fork 21.8k
Outline draft
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.