Schedule

Please note that the schedule may change. Please check back and refresh this page often.
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