Systems Programming
GWU Computer Science
Some Notes:
| Date | Topic | Prep | Due | Issued |
|---|---|---|---|---|
| Week 1 | ||||
| Mon 01/11 | Lecture 1 + Practical 1: Class Mechanics; Smart Things; Electronics Refresher. Slides in Piazza Resources. | |||
| Wed 01/13 | Lecture 2 + Practical 2: Embedded System Design; Working with GitHub Classroom assignments. Slides in Piazza Resources. | |||
| Thur 01/11 | Intro Lab: More Electronics! | |||
| Fri 01/12 | Homework 00: Practice with C (Piazza Resources; Due 01/26) | |||
| Date | Topic | Prep | Due | Issued |
|---|---|---|---|---|
| Week 2 | ||||
| Mon 01/18 | NO LECTURE, but watch video on setting git/GitHub/GitHub-Classroom. | |||
| Wed 01/20 | NO LECTURE. | |||
| Thur 01/11 | Lab 2: Analog Processing and Prep: Rainbow Tuner | Homework 01: Rainbow Tuner (Due 02/01) | ||
| Date | Topic | Prep | Due | Issued |
|---|---|---|---|---|
| Week 3 | ||||
| Mon 01/25 | Lecture 4: States and Input processing | |||
| Wed 01/27 | Lecture 5 + Practical 5: States and Input processing. | |||
| Thur 01/28 | Lab 3: Nuclear Football (Due 02/02) | |||
| Date | Topic | Prep | Due | Issued |
|---|---|---|---|---|
| Week 4 | ||||
| Mon 02/01 | Lecture 6 + Practical 6: Low-Level Control. | |||
| Wed 02/03 | Lecture 7 + Practical 7: Communication Protocols | |||
| Thur 02/04 | Lab 4: I2C Exchange (Due 02/09) | Homework 02: Let's Play a Game(Due 02/17) | ||
| Date | Topic | Prep | Due | Issued |
|---|---|---|---|---|
| Week 5 | ||||
| Mon 02/08 | Lecture 8 + Practical: Testing the Multipass-Ubuntu+VSCode setup. | |||
| Wed 02/10 | Lecture 9: OS Basics | |||
| Thur 02/11 | Lab 5: My LS, working with metadata | |||
| Date | Topic | Prep | Due | Issued |
|---|---|---|---|---|
| Week 6 | ||||
| Mon 02/15 | PRESIDENT'S DAY. | |||
| Wed 02/17 | Lecture 10: Introduction to Memory Management | |||
| Thur 02/18 | Lab 6: HW02 Demos and Virtual Memory exercises | |||
| Date | Topic | Prep | Due | Issued |
|---|---|---|---|---|
| Week 7 | ||||
| Mon 02/22 | MISSED LECTURE (Technical Difficulties). | |||
| Wed 02/24 | Lecture 11: Memory Management: Virtual Address Spaces | |||
| Thur 02/25 | Lab 7: Virtual Memory by the numbers | |||
| Date | Topic | Prep | Due | Issued |
|---|---|---|---|---|
| Week 8 | ||||
| Mon 03/01 | Lecture 12: Replacement policies and Cache mapping | Homework 03: Serial comms: Ubuntu Guest <--> Fake Arduino(Due 03/11) | ||
| Wed 03/03 | Lecture 13: mmap (memory mapping) | |||
| Thur 03/04 | Lab 8: mmap lab | |||
| Date | Topic | Prep | Due | Issued |
|---|---|---|---|---|
| Week 9 | ||||
| Mon 03/08 | Lecture 14: Exceptional Control Flow: Exceptions and Processes | |||
| Wed 03/10 | Lecture 15: Exceptional Control Flow: More Processes | |||
| Thur 03/11 | Lab 9: HW03 Demo + Fork Lab | |||
| Date | Topic | Prep | Due | Issued |
|---|---|---|---|---|
| Week 10 | ||||
| Mon 03/15 To Sun 03/21 | ||||
| SPRING BREAK | ||||
| Date | Topic | Prep | Due | Issued |
|---|---|---|---|---|
| Week 11 | ||||
| Mon 03/22 | Lecture 16: Shells and Signals | |||
| Wed 03/24 | Lecture 17: More Signals, and Jumps | |||
| Thur 03/25 | Lab 10: Intro-HW04 | |||
| Date | Topic | Prep | Due | Issued |
|---|---|---|---|---|
| Week 12 | ||||
| Mon 03/29 | Lecture 18: Dynamic Memory Allocation | Final Project Part 1 (Due April 15th) | ||
| Wed 03/31 | Lecture 19: More Dynamic Memory Allocation | |||
| Thur 04/01 | Lab 11: Work On Final Project Part 1 | |||
| Date | Topic | Prep | Due | Issued |
|---|---|---|---|---|
| Week 13 | ||||
| Mon 04/05 | Lecture 20: Inter-Process Communication | |||
| Wed 04/07 | Lecture 21: More Inter-Process Communication | |||
| Thur 04/08 | Lab 12: Work On Final Project Part 1 | |||
| Date | Topic | Prep | Due | Issued |
|---|---|---|---|---|
| Week 14 | ||||
| Mon 04/12 | Lecture 22: Explanation for Final Evaluation; Intro Final Project Part 2; Review | Final Project Part 2 (due 04/26) | ||
| Wed 04/14 | Lecture 23: Intro: Study Guide and Review | |||
| Thur 04/15 | Lab 13: Demo-Final Project Part 1 | Final Project Part 1 | ||
| Date | Topic | Prep | Due | Issued |
|---|---|---|---|---|
| Week 15 | ||||
| Mon 04/19 | Lecture 24: Review | |||
| Wed 04/21 | Lecture 25: Final Assessment Check + Review | Final Video Presentation (Due Thursday, 04/29 Designated Monday) | ||
| Thur 04/22 | Lab 14: Work On (OR DEMO) Final Project Part 2 | |||
| Date | Topic | Prep | Due | Issued |
|---|---|---|---|---|
| Week 16 | ||||
| Mon 04/26 | Lecture 26: Demo Final Project Part 2 | Final Project Part 2 | ||
| Wed 04/28 | NO LECTURE | |||
| Thur 04/29 | Designated Monday: Used if needed | Final Video Presentation (one per Team) | ||
| Date | Topic | Prep | Due | Issued |
|---|---|---|---|---|
| FINALS | ||||
| Wednesday 05/05 | CSC3410 Final Interview (Blackboard) | 10:20 AM to 12:20 PM | ||