| Week | Date | Class topic (PROBABLY STILL TOTALLY OUT OF ORDER!!!) | Assignment due dates (10:30 AM) |
|---|---|---|---|
| 1 | 2/2 | Welcome, the plan, and intro to Git | |
| 2/4 | Hashes | SB1: Git | |
| 2 | 2/9 | C and Python on the Pico | |
| 2/11 | Crypto, SSH and SSL | P1 | |
| 3 | 2/16 | NO CLASS, Monday schedule | |
| 2/18 | State machines | ||
| 4 | 2/23 | Bootloaders and bitmasks | SB2: Shell customization |
| 2/25 | CPU architecture | P2 and SB3: pastebins | |
| 5 | 3/2 | Hardware timers | |
| 3/4 | Memory maps, DMA | SB4: Puppet or Ansible | |
| 6 | 3/9 | Compilers | |
| 3/11 | Interpreters | P3 | |
| 7 | 3/16 | Linking | SB5: Vim |
| 3/18 | Wifi | SB6: Systemd | |
| 8 | 3/23 | Bluetooth | Nothing: easy week |
| 3/25 | Testing and continuous integration | Nothing: easy week | |
| 9 | 3/30 | Linting | SB7: binary identification |
| 4/1 | Open source licenses | P4 (probably P1 rev 2) | |
| 10 | 4/6 | Threading | |
| 4/8 | AIMLESS 1 | SB8: binary modification | |
| 11 | 4/13 | AIMLESS 2 | |
| 4/15 | Selecting a microcontroller | P5 | |
| 12 | 4/20 | HTTP, HTTP/2 | |
| 4/22 | Reverse engineering | SB9: compile the Linux kernel | |
| 13 | 4/27 | Profiling and optimization | |
| 4/29 | Process scheduling? | ||
| 14 | 5/4 | The frequency domain? | P6 |
Calendar