CSCI 2021: Course Schedule and Materials
University of Minnesota
Spring 2023
Schedule and Course Materials
All materials are subject to change and are marked internally with their latest update time.
| Week | Dates | Lecture / Projects | Links | Reading | Lab | Homework | Solutions |
|---|---|---|---|---|---|---|---|
| 16-Jan | MLK Jr Day - No Classes | ||||||
| Course Mechanics | Slides Video | Unix Environment | |||||
| 1 | 18-Jan | Introduction, C Basics | Slides Code Videos | BH 1.1-1.10 | 01. Setup | 01. C Intro | Lab01 HW01 |
| 2 | 23-Jan | Pointers, Addresses, Allocation | Slides Code Videos | C Refs | 02. C Basics | 02. C memory | Lab02 HW02 |
| 3 | 30-Jan | Binary Data/Ints | Slides Code Videos | BH 2.1-3 | 03. File I/O | 03. Binary Ints | Lab03 HW03 |
| P1: C Coding, Due Wed 08-Feb | |||||||
| 4 | 06-Feb | Review | Videos | 04. Review | 04. Review | HW04 | |
| Exam 1, Fri 10-Feb-2023 | Practice Solution | ||||||
| 5 | 13-Feb | Bit Ops, GDB, Floats | Slides Code Videos | BH 2.4-5; GDB Guide | 05. Bitwise | 05. Floats/GDB | Lab05 HW05 |
| 6 | 20-Feb | Assembly Language Basics | Slides Code Videos | BH 3.1-3.5; AsmCheat | 06. GDB | 06. Asm Intro | Lab06 HW06 |
| P2: Bits/GDB, Due Mon 27-Feb | |||||||
| 7 | 27-Feb | Assembly Control | Slides Code Videos | BH 3.6-3.7 | 07. Asm Coding | 07. Asm Debug | Lab07 HW07 |
| 06-Mar | Spring Break - No Classes Meet | ||||||
| 8 | 13-Mar | Data, Security, FP Ops | Slides Code Videos | BH 3.8-3.12 | 08. Asm Stack | 08. Asm Stack | Lab08 HW08 |
| 9 | 20-Mar | Processor Arch, Pipelining | Slides Code Videos | BH 4.1-6 (skim) | 09. Reflection | 09. Asm Review | HW09 |
| P3 Due Wed 22-Mar | |||||||
| 10 | 27-Mar | Review | Videos | 10. Timing | 10. Superscalar Procs | Lab10 HW10 | |
| Exam 2, Fri 31-Mar-2023 | Practice Solution | ||||||
| 11 | 03-Apr | Memory Hierarchy and Cache | Slides Code Videos | BH 6.1-6.7 | 11. clock() | 11. Memory Optims | Lab11 HW11 |
| 12 | 10-Apr | Program Optimization Techniques | Slides Code Videos | BH 5.1-5.15 | 12. Macros | 12. Micro Opt | Lab12 HW12 |
| 13 | 17-Apr | Virtual Memory, Paging | Slides Code Videos | BH 9.1-9.12 | 13. mmap() | 13. Virtual Memory | Lab13 HW13 |
| 14 | 24-Apr | Object Code, Linking | Slides Code Videos | BH 7.1-7.11 | 14. Review | ||
| P4 Due Mon 01-May | |||||||
| 15 | 01-May | Last Lecture | Slides Videos | ||||
| Review | Practice Solution | ||||||
| Final Exams | |||||||
| Held in Normal Lecture Location | |||||||
| 05-May | Sec 001: 10:30am - 12:30pm Fri | ||||||
| 06-May | Sec 010: 10:30am - 12:30pm Sat |
BH: Required Textbook: Computer Systems: A Programmer's Perspective, Third Edition by R. Bryant, D. O'Hallaron, Pearson, 2016
C Refs: Optional Textbook The C Programming Language Second Edition by Brian Kernighan and Dennis M. Ritchie, Prentice Hall 1988 OR other C programming references listed at the bottom of the Canvas homepage.