Specific dues dates for learning activities and assessments, as well as section specific details, are defined in BYU Learning Suite. This table is the generic schedule template. Readings in the textbook are by sections.
Week | Topic and Reading in Textbook (by sections) | Due |
---|---|---|
Week 1 | Course overview and Linux for Dummies (1.1 - 1.10) | |
Linux for Dummies (Week 1 Screencasts) | ||
Week 2 | Information storage, Bits, Bytes, and Integers (2.1 - 2.2,Week 2 Screencasts) | |
Integer Arithmetic (2.3) | Command-line Development Tools | |
Week 3 | Integer Arithmetic and Floats (2.4, Week 3 Screencasts) | |
Floats (2.4) | ||
Week 4 | Machine code and Accessing Information (3.1 - 3.4, Week 4 Screencasts) | |
Arithmetic operations, Logical Operations, and Control (3.5 - 3.6) | Data Lab | |
Week 5 | Control and Procedures (3.6 - 3.7) | |
Procedures, Array Allocation, and Array Access (3.7 - 3.8) | ||
Week 6 | Arrays and Heterogeneous Data Structures (3.8 - 3.9) | Midterm 1 |
Combining Control and Data in Machine-level Programming (3.10) | Bomb Lab | |
Week 7 | Y86-64 Instruction Set Architecture, Logic Design, and the Hardware Control Language (4.1 - 4.2) | |
Sequential Y86-64 Implementations (4.3) | ||
Week 8 | General Principles of Pipelining (4.4) and Pipelined Y86-64 Implementations (4.4 - 4.5) | |
Pipelined Y86-64 Implementations (4.5) | Attack Lab | |
Week 9 | Optimizing compilers and optimization blockers (5.1 - 5.6) | |
Modern Processors and Improving Program Performance (5.8 - 5.14) | ||
Week 10 | Storage Techniques, Locality, and the Memory Hierarchy (6.1 - 6.3) | |
Cache Memories (6.4) | Architecture Lab (A, B) | |
Week 11 | Writing Cache Friendly Code and the Impact of Caching on Performance (6.5 - 6.6) | Midterm 2 |
Dynamic Memory Allocation (9.9) | ||
Week 12 | Dynamic Memory Allocation (9.9) | |
Garbage Collection/Thanksgiving Break (9.10) | ||
Week 13 | Garbage Collection | |
Common Memory Related Bugs in C Programs (9.11) | ||
Week 14 | Linking (7.1 - 7.14) | |
Exceptions, Processes, and System Call Error Handling (8.1 and 8.3) | ||
Week 15 | Process Control (8.4) | |
Course Wrap-up and Review | ||
Week 16 | Finals | Final |