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.