Schedule
The schedule and assignments may be changed until officially covered in class. You are certainly free to work ahead; just be mindful if things do end up changing!
You may encounter some symbols. Here is what they mean:
⊕: key concepts you should be familiar with
▲: additional links to check out
Unit 1: Getting Started
- Setting up the Environment
- Taste of Scala
- Warm Ups / Review
Unit 2: Data Structures
- Linear Structures
- Quiz
- Associative Structures
- Lab 2
Unit 3: Algorithms
- Time and Space Complexity
- Recursion and Induction
- Quiz
- Searching and Sorting
- Lab 3
Unit 4: Automata Theory
- Trees and Graphs
- Deterministic Finite Automata
- Quiz
- Turing Machines
- Computational Complexity
- Lab 4
Unit 5: Hardware
- Computer Architecture
- Assembly Language
- Quiz
- Debugging
- Lab 5