| Week 0 | |||||
| # | Day | Date | Topic | Reading | Lab/Assignment |
| 1 | F | 8/25 | Introduction |
Preparing for the first day of class | Linux Basics & Emacs Please complete the introductory survey in Gradescope |
| Week 1 | |||||
| # | Day | Date | Topic | Reading | Lab/Assignment |
| 2 | M | 8/28 | C Overview | Overview of C | Elementary C Programming |
| 3 | W | 8/30 | Program Development | Program Development and Makefiles (through Level 1 section) | Quiz 1 Program Development (Lab Report 1) |
| 4 | F | 9/1 | Types and Variables | Types and Variables and Reading Basic Input |
Types and Variables Lab Report 1 due |
| Week 2 | |||||
| # | Day | Date | Topic | Reading | Lab/Assignment |
| 5 | M | 9/4 | Reading Basic Input | Review Reading Basic Input | Reading Basic Input (Lab Report 2) |
| 6 | W | 9/6 | Booleans and Conditionals | Booleans and Conditionals | Booleans and Conditionals Lab Report 2 due Homework 1 assigned |
| 7 | F | 9/8 | Models of Computation | Models of Computation | Quiz 2 Models of Computation |
| Week 3 | |||||
| # | Day | Date | Topic | Reading | Lab/Assignment |
| 8 | M | 9/11 | Loops | Loops |
Loops (Lab Report 3) |
| 9 | W | 9/13 | Breather Day | Quiz 3 Homework 1 due Lab Report 3 due |
|
| 10 | F | 9/15 | Functions | Functions | Functions Homework 2 assigned |
| Week 4 | |||||
| # | Day | Date | Topic | Reading | Lab/Assignment |
| 11 | M | 9/18 | Functions with Pointer/Address Parameters | Functions and Pointer Parameters | Functions and Pointer Parameters |
| 12 | W | 9/20 | Arrays | Arrays | Arrays (Lab Report 4) |
| 13 | F | 9/22 | Programming Testing and Debugging | Programming Testing and Debugging | Programming Testing and Debugging Quiz 4 Homework 2 due Lab Report 4 due |
| Week 5 | |||||
| # | Day | Date | Topic | Reading | Lab/Assignment |
| 14 | M | 9/25 | Preprocessor | Preprocessor | Preprocessor |
| 15 | W | 9/27 | No Class | ||
| 16 | F | 9/29 | Exam 1 | Exam 1 | |
| Week 6 | |||||
| # | Day | Date | Topic | Reading | Lab/Assignment |
| 17 | M | 10/2 | Pseudo-Random Numbers | Pseudo-Random Numbers | Guess My Number (Lab Report 5) Homework 3 assigned |
| 18 | W | 10/4 | Integer Representation | Binary Integer Representation |
Integer Processing Lab Report 5 due |
| 19 | F | 10/6 | Floating-Point Representation | Floating-Point Representation | Floating-Point Representation Quiz 5 |
| Week 7 | |||||
| # | Day | Date | Topic | Reading | Lab/Assignment |
| 20 | M | 10/9 | Characters and Strings | Characters and Strings | Characters and Strings Homework 3 due |
| 21 | W | 10/11 | Reading Data | Reading Data | Reading Data with scanf (Lab report 6) |
| 22 | F | 10/13 | Character I/O | Character I/O | Character I/O Lab report 6 due Quiz 6 |
| Fall Break 10/15 - 10/20 | |||||
| Week 8 | |||||
| # | Day | Date | Topic | Reading | Lab/Assignment |
| 23 | M | 10/23 | Structures | Structures | Structures |
| 24 | W | 10/25 | Two-Dimensional Arrays | Two-Dimensional Arrays | Two-Dimensional Arrays Homework 4 assigned |
| 25 | F | 10/27 | Image Processing | Image Processing | Image Processing (Lab Report 7)
|
| Week 9 | |||||
| # | Day | Date | Topic | Reading | Lab/Assignment |
| 26 | M | 10/30 | Dynamically Allocated Memory | Pointers, Malloc, and Variable Length Arrays | Pointers, Malloc, and Variable Length Arrays Lab Report 7 due |
| 27 | W | 11/1 | Function Pointers | Function Pointers | Function Pointers Quiz 7 Homework 4 due |
| 28 | F | 11/3 | (No class!) | ||
| Week 10 | |||||
| # | Day | Date | Topic | Reading | Lab/Assignment |
| 29 | M | 11/6 | Command-Line Arguments | Command-Line Arguments | Command-Line Arguments |
| 30 | W | 11/8 | Exam 2 | Exam 2 | |
| 31 | F | 11/10 | File I/O | Function Pointers File Input/Output |
File I/O |
| Week 11 | |||||
| # | Day | Date | Topic | Reading | Lab/Assignment |
| 32 | M | 11/13 | Abstract Datatypes and Sequences | Abstract Datatypes and Sequences | Array-based Lists Homework 5 assigned |
| 33 | W | 11/15 | Linked Lists: Representation | Linked Lists: Representation | Lists and Pointer Diagrams |
| 34 | F | 11/17 | Linked Lists: Motions | Linked Lists: Motions | Linked List Practice |
| Week 12 | |||||
| # | Day | Date | Topic | Reading | Lab/Assignment |
| 35 | M | 11/20 | Linked Lists: Variants | Linked Lists: Variants | Additional Linked List Practice |
| 36 | W | 11/22 | Intermezzo: Build Tools | Intermezzo: Build Tools |
(No class!) Lab 8 Report Due Homework 5 due |
| - | F | 11/24 | Thanksgiving Break | none | none |
| Week 13 | |||||
| # | Day | Date | Topic | Reading | Lab/Assignment |
| 37 | M | 11/27 | Memory Management Revisited | Memory Management Revisited |
Quiz 8 Homework 6 assigned |
| 38 | W | 11/29 | Ownership | Ownership | Lab: Putting Ownership Into Practice |
| 39 | F | 12/1 | Productive C Practices | Productive C Practices |
Lab Report 9 due |
| Week 14 | |||||
| # | Day | Date | Topic | Reading | Lab/Assignment |
| 40 | M | 12/4 | Bit-level Manipulation | Quiz 9 | |
| 41 | W | 12/6 | Stack Smashing | Homework 6 due | |
| 42 | F | 12/8 | The Thrilling Conclusion |
Lab Report 10 due Quiz 10 |
|
| Finals Week | |||||
| # | Day | Date | Test | Location | |
| - | Final Exam depends upon section 01: Friday Dec 15, 9am - 12pm 02: Tuesday Dec 12, 2pm - 5pm |
TBD | |||