Schedule
The schedule below shows the tentative dates for all class topics, readings, and assignments.
You should complete all assigned reading before class on the day it is listed.
There may be some revisions to the schedule during the semester, but I will make sure to announce these changes in class.
Jump to Current Week
Week 1
Th
Jan 23
Variables, Statements, and Expressions
-
Slides: Variables, Statements, and Expressions
Activities
-
Week 1 Quiz
-
Lab: Setting up Git Access
-
Lab: C Basics
Week 2
Tu
Jan 28
Loops and Conditionals
-
Slides: Loops and Conditionals
Reading
-
Flow Control
- Beej's Guide to C Programming
– Section 3.3
-
Exiting from a Loop
- King
– Section 6.4
- (pp. 111–116)
Extra Resources
-
Selection Statements
- King
– Chapter 5
- (pp. 73–90)
-
Loops
- King
– Chapter 6
- (pp. 99–118)
Activities
-
Lab: Loops and Conditionals
Due
-
Week 1 Lab Report
(11:59pm)
Th
Jan 30
Reading
-
Functions
- Beej's Guide to C Programming
– Chapter 4
-
Defining and Calling Functions
- King
– Section 9.1
- (pp. 183–190)
-
Function Declarations
- King
– Section 9.2
- (pp. 190–193)
Activities
-
Week 2 Quiz
-
Lab: Functions
Week 3
Th
Feb 6
Arrays and Strings
-
Slides: Arrays and Strings
Reading
-
Arrays
- Beej's Guide to C Programming
– Chapter 6
-
Strings
- Beej's Guide to C Programming
– Chapter 7
Activities
-
Week 3 Quiz
-
Lab: Arrays and Strings
Week 4
Tu
Feb 11
Arrays and Strings, continued
-
Slides: More Arrays and Strings
Reading
Extra Resources
-
Arrays
- King
– Chapter 8
- (pp. 161–175)
-
Strings
- King
– Chapter 13
- (pp. 277–304)
Th
Feb 13
Assigned
Due
-
Homework: Yahtzee
(11:59pm)
Week 5
Th
Feb 20
Structs, Unions, and Enums
-
Slides: Structs, Unions, and Enums
Reading
-
Structures, Unions, and Enumerations
- King
– Chapter 16
- (pp. 377–404)
Extra Resources
Activities
-
Lab: Structures, Unions, and Enumerations
-
Week 5 Quiz
Week 6
Tu
Feb 25
Integer and Floating Point Representation
-
Slides: Representing Numbers
Th
Feb 27
Testing and Debugging
-
Slides: Testing and Debugging
Week 7
Tu
Mar 4
Due
-
Homework: Connect Four
(11:59pm)
Th
Mar 6
Activities
-
Exam 1
- Covers all material through week 6
Week 8
Tu
Mar 25
Introduction to ncurses
-
Slides: Introduction to
ncurses
Th
Mar 27
File Input and Output
-
Slides: File Input and Output
Week 9
Tu
Apr 1
Reading
Extra Resources
-
Dynamic Storage Allocation
- King
– Section 17.1–4
- (pp. 413–423)
Th
Apr 3
Managing Memory, continued
-
Slides: Managing Memory, continued
Activities
-
Week 9 Quiz
-
Lab: Ownership
-
Lab: Address Sanitizer
Week 10
Tu
Apr 8
Abstract Datatypes
-
Slides: Abstract Data Types
Activities
-
Lab: Implementing Stacks and Queues with Arrays
Th
Apr 10
Abstract Datatypes, continued
-
Slides: Abstract Data Types, continued
Due
-
Homework: Lightcycle
(11:59pm)
Week 11
Tu
Apr 15
Reading
-
Linked Lists
- King
– Section 17.5
- (pp. 424–437)
Activities
-
Lab: Implementing Stacks and Queues with Lists
Th
Apr 17
Linked Lists, continued
-
Slides: Linked Lists, continued
Week 12
Tu
Apr 22
Multifile Projects
-
Slides: Multifile Projects
Th
Apr 24
Activities
-
Project introduction and planning
Week 13
Tu
Apr 29
Activities
-
Lab: Writing Makefiles
-
Project Working Time
Th
May 1
Activities
-
Week 13 Quiz
-
Project Working Time
F
May 2
Due
-
Homework: Pathfinding
(11:59pm)
Week 14
Tu
May 6
Using SDL2, continued
-
Slides: Using SDL2, continued
Activities
-
Lab: Pong
-
Project Working Time
Finals Week
W
May 14
Section 01 Final Exam (9am–noon)
F
May 16
Section 02 Final Exam (9am–noon)
Due
-
Homework: Final Project
(5:00pm)