General course information:
Projects follow quickly after the readings and lectures in which the associated principles are presented. Project deliverables are spread (relatively) uniformly throughout the course (one per week). This is done to keep you from getting in trouble when you discover that you cannot complete a three week project in two days. Each deliverable is due a few days after the associated lab session, and most of them require you to encounter, recognize and solve one or two non-trivial problems. If you start the projects before the associated lab session, you will have already encountered the difficulties, and we can help you during the lab session. If you wait until the lab session to start a project, the session will be over before you have even encountered the real problems, and you will have to solve them on your own.
|Mon 04/09 23:59||P0. Warmup|
|Mon 04/16 23:59||P1A. I/O and IPC|
|Mon 04/23 23:59||P1B. Compressed Communication|
|Mon 04/30 23:59||P4A. Embedded System Bringup|
|Mon 05/07 23:59||P2A. Mutual Exclusion|
|Mon 05/14 23:59||P2B. Contention|
|Mon 05/21 23:59||P4B. Sensors and communication|
|Mon 05/28 23:59||P3A. File System interpretation (optionally in 2 person teams)|
|Mon 06/04 23:59||P3B. File System analysis (optionally in 2 person teams)|
|Mon 06/11 23:59||P4C. IOT Secure communication|
Projects 2 and 3 are heavily based on the reading and lectures, and would be difficult to do before the associated material (on synchronization and file systems) has been covered. Projects 0, 4 and (to a lesser extent) 1 are much less dependent on reading and lectures and can be started at any time. You will find that, if you start each project as soon as possible, you will earn much better project scores.
|Thu 05/03||Mid-Term (sample questions, solutions)|
|Wed 06/13||Final (part 1, solutions)|
|Wed 06/13||Final (part 2, solutions)|