| Percentage | Letter Grade |
|---|---|
| 91+ | A |
| 89-90 | A- |
| 87-88 | B+ |
| 77-86 | B |
| 75-76 | B- |
| 73-74 | C+ |
| 62-72 | C |
| 60-61 | C- |
| 50-59 | D |
| Below 50 | F |
| Date | Topic | Details |
|---|---|---|
| Mon 08/26 | Intro | GitHub Username Survey |
| Wed 08/26 | C Refresher | Video: Install Ubuntu on Asus Vivo Laptop Debugging Programs (video) Linux Tools (video) |
| Mon 08/31 | Labor Day: No Class | |
| Wed 09/02 | Raspberry Pi OS: Intro | Video: Raspberry Pi OS Quickstart Pi OS Repo Video: Homework 1 Getting Started Homework 1: Clearing the bss segment in your kernel Further Reading: |
| Mon 09/07 | C Refresher | Homework 2 Assigned luc.nmconnection Boot Process Slides Class Video
|
| Wed 09/09 | Polling I/O | In-Class Activity: Delays using system timer IO Slides Homework 3 Assigned Further Reading:
|
| Mon 09/14 | Interrupts | Interrupt Vector Table in AARCH64 Further Reading |
| Wed 09/16 | Execution Level and Privileged Operations | Homework 1 Due Homework 2 Due Homework 4 Assigned: Pi OS Serial Driver | rprintf.c rprintf.h In-Class Activity: Playing with Excecution Levels | code Further Reading: |
| Mon 09/21 | Memory & Memory Allocation | Homework 3 Due In-Class Activity: malloc Fun | GitHub Repo Further Reading: |
| Wed 09/23 | Virtual Memory & Paging | Homework 4 Due Homework 5: Write a page frame allocator In-Class Activity: Paging | GitHub Repo Further Reading: |
| Mon 09/28 | Virtual Memory & Paging | Quiz 1 Practice |
| Wed 09/30 | Setting up the MMU on the Pi | Homework 7: Set up MMU in PiOS Video:Virtual Address Formats in 64-bit ARM ARM64 Page Table Tool mmusetup.S | mmu.c | mmu.h |
| Mon 10/05 | Fall Break: No Class | |
| Wed 10/07 | Syscalls | Quiz: Virtual Memory Homework 5 Due Homework 8: FAT FS Driver | gpio.h | sd.h | sd.c | fat.h Further Reading: |
| Mon 10/12 | Filesystems | Filesystem Slides ELF File Format |
| Wed 10/14 | The FAT Filesystem | Homework 7 Due FAT Cheatsheet Project Ideas
|
| Mon 10/19 | More FAT Filesystem | Filesystem Slides fs.c Canonical Kernel Dev Screening Questions | Code Snippit |
| Wed 10/21 | Processes | In-Class Activity: Write a Shell! | shittyshell.c | GitHub Repo |
| Mon 10/26 | Processes II | Further Reading: |
| Wed 10/28 | Scheduling | Homework 8 Due |
| Mon 11/02 | Virtualization | Project Proposals Due | Project Proposal Guidelines |
| Wed 11/04 | Containers | Activity: Containers from Scratch |
| Mon 11/09 | Guest Lecture: Shea Lutton, VP of Cloud @ Cloudera | |
| Wed 11/11 | Containers | |
| Mon 11/16 | Threads | In Class Activity: pthreadexample.c | Coordinate Rotation Threading Lab Further Reading: |
| Wed 11/18 | Mid-Project Scrum | |
| Mon 11/23 | Project Work Session/Office Hours | |
| Wed 11/25 | Thanksgiving Break: No Class | |
| Mon 11/30 | ||
| Wed 12/02 | ||
| Mon 12/07 | Final Presentations |