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. Labs will be available shortly before the assigned lab day. There may be some revisions to the schedule during the semester, but I will make sure to announce these changes in class. If you view this page with JavaScript enabled you can jump to the current week on the schedule, and you should see the next day of class highlighted in the schedule below.

Week 1
M
Jan 22

Introduction

Reading

W
Jan 24

Overview of C

Reading
Assigned
  • Homework 1: Welcome

F
Jan 26

Expressions

Reading
  • Expressions
    • King – Chapter 4
    • (pp. 53–66)
Activities
Due
  • Homework 1: Welcome (11:59pm)
Week 2
M
Jan 29

Conditionals

Reading
  • Selection Statements
    • King – Chapter 5
    • (pp. 73–90)
Assigned Due

W
Jan 31

Loops

Reading
  • Loops
    • King – Chapter 6
    • (pp. 99–118)
Activities

F
Feb 2

Basic Types

Reading
  • Basic Types
    • King – Chapter 7
    • (pp. 125–151)
Activities
Week 3
M
Feb 5

Arrays

Reading
  • Arrays
    • King – Chapter 8
    • (pp. 161–175)
Activities

W
Feb 7

Functions

Reading
  • Functions
    • King – Chapter 9
    • (pp. 183–209)

F
Feb 9

Models of Computation

Activities
  • Week 3 Quiz
Week 4

W
Feb 14

F
Feb 16

Floating Point Representation

Week 5
M
Feb 19

Debugging

Reading

W
Feb 21

Exam Review Day

Reading

No reading


F
Feb 23

Exam 1

Reading

No reading

Activities
  • Exam 1
    • Covers all material through week 4
Week 6
M
Feb 26

Source and Header Files

Reading
Assigned Due

W
Feb 28

Makefiles


F
Mar 1

Program Organization

Activities
  • Week 6 Quiz
  • Lab
Week 7
M
Mar 4

Pointers

Reading
  • Pointers
    • King – Chapter 11
    • (pp. 241–252)
Activities

W
Mar 6

Pointers, continued

Reading
Activities

F
Mar 8

Arrays as Pointers

Reading
  • Pointers and Arrays
    • King – Chapter 12
    • (pp. 257–271)
Activities
Week 8
M
Mar 11

Strings

Reading
  • Strings
    • King – Chapter 13
    • (pp. 277–304)
Activities
Assigned Due

W
Mar 13

Strings, continued


F
Mar 15

Reading and Writing Files

Reading
Activities
Spring Break
Week 9
M
Apr 1

Sick Day

Reading

No reading


W
Apr 3

Structures

Reading
  • Structure Variables; Structure Types; Nested Arrays and Structures
    • King – Section 16.1–3
    • (pp. 377–395)

F
Apr 5

Unions and Enumerations

Reading
  • Unions and Enumerations
    • King – Section 16.4–5
    • (pp. 396–404)
Activities
Week 10
M
Apr 8

Exam 2 Review

Reading

No reading


W
Apr 10

AddressSanitizer

Reading

No reading

Due

F
Apr 12

Exam 2

Reading

No reading

Activities
  • Exam 2
    • Focused on material from weeks 6–9, but may include earlier concepts.
Week 11
M
Apr 15

Memory Allocation

Reading
  • Dynamic Storage Allocation
    • King – Section 17.1–4
    • (pp. 413–423)
Assigned Due

W
Apr 17

Memory Allocation, continued

Reading

No reading


F
Apr 19

Ownership

Reading
Activities
Week 12
M
Apr 22

Linked Lists

Reading
  • Linked Lists
    • King – Section 17.5
    • (pp. 424–437)

W
Apr 24

Linked Lists, continued

Reading

No reading


F
Apr 26

Linked List Variations

Week 13
M
Apr 29

Abstract Data Types

Reading
Assigned Due

W
May 1

Implementing Stacks and Queues with Linked Lists


F
May 3

Implementing Stacks and Queues with Dynamic Arrays

Reading

No reading

Week 14
M
May 6

Pointers to Functions

Reading
  • Pointers to Functions
    • King – Section 17.7
    • (pp. 439–444)
Assigned
  • Week 14 Lab Report
Due

W
May 8

Drawing in the Terminal with ncurses


F
May 10

Wrap Up

Reading

No reading

Finals Week
F
May 17

Reading

No reading

W
May 15

Final Exam for Section 02 (9am–12pm)

Reading

No reading

Activities
  • Exam 3
    • Focused on material from weeks 11–14, but may include earlier concepts.