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.

Week 1
Tu
Jan 20
Reading Extra Resources

Th
Jan 22

Variables, Statements, and Expressions

Reading
Week 2
Tu
Jan 27

Loops and Conditionals

Reading
Due
  • Week 1 Lab Report (10:00pm)

Th
Jan 29
Reading
  • Functions
    • Beej's Guide to C Programming – Chapter 4
Activities
Week 3
Tu
Feb 3
Reading
Activities
Due
  • Week 2 Lab Report (10:00pm)

Th
Feb 5
Reading
  • Arrays
    • Beej's Guide to C Programming – Chapter 6
  • Strings
    • Beej's Guide to C Programming – Chapter 7
Activities
Week 4
Tu
Feb 10

Arrays and Strings, continued

Reading
Due
  • Week 3 Lab Report (10:00pm)

Th
Feb 12

Pause for Breath

Activities
  • Week 4 Quiz
Week 5
Tu
Feb 17

Structures, Unions, and Enumerations

Reading Extra Resources
Activities
  • Lab: Structures, Unions, and Enumerations
Due
  • Week 4 Lab Report (10:00pm)

Th
Feb 19

Integer and Floating Point Representation

Activities
  • Lab: Representing Numbers
  • Week 5 Quiz
Week 6
Tu
Feb 24

Makefiles and Multifile Projects

Reading
  • Multifile Projects
    • Beej's Guide to C Programming – Chapter 17
  • Additional reading will be posted soon
Activities
  • Lab: Writing Makefiles
  • Lab: Multifile Projects
Due
  • Week 5 Lab Report (10:00pm)

Th
Feb 26

Testing and Debugging

Reading
Activities
  • Week 6 Quiz
  • Lab: Debugging with gdb
Week 7
Tu
Mar 3

Exam Review

Due
  • Week 6 Lab Report (10:00pm)

Th
Mar 5

Exam 1

Activities
  • Exam 1
    • Covers all material through week 6
Spring Break
Week 8
Tu
Mar 24

Introduction to ncurses

Activities
  • Lab: Maze Editor (day 1)

Th
Mar 26

File Input and Output

Reading
Activities
  • Lab: Maze Editor (day 2)
Assigned
  • Homework: Lightcycle
Week 9
Tu
Mar 31

Managing Memory

Reading
Activities
  • Lab: Memory Allocation
Due
  • Week 8 Lab Report (10:00pm)

Th
Apr 2

Managing Memory, continued

Reading
Activities
  • Week 9 Quiz
  • Lab: Ownership
  • Lab: Address Sanitizer
Week 10
Tu
Apr 7

Abstract Datatypes

Activities
  • Lab: Implementing Stacks and Queues with Arrays
Due
  • Week 9 Lab Report (10:00pm)

Th
Apr 9

Abstract Datatypes, continued

Activities
  • Week 10 Quiz
Assigned
  • Homework: Pathfinding
Due
  • Homework: Lightcycle (10:00pm)
Week 11
Tu
Apr 14

Linked Lists

Reading
  • Reading will be posted soon
Activities
  • Lab: Implementing Stacks and Queues with Lists
Due
  • Week 10 Lab Report (10:00pm)

Th
Apr 16

Linked Lists, continued

Reading
  • Reading will be posted soon
Activities
  • Week 11 Quiz
Week 12
Tu
Apr 21

Using SDL

Due
  • Week 11 Lab Report (10:00pm)
Th
Apr 23

The Project

Activities
  • Project introduction and planning
Assigned
  • Homework: Final Project
Due
  • Homework: Pathfinding (10:00pm)
Week 13
Tu
Apr 28

Using SDL, continued

Activities
  • Lab: Pong
  • Project Working Time
Due
  • Week 12 Lab Report (10:00pm)

Th
Apr 30

Project Working Day

Activities
  • Project Working Time
Week 14
Tu
May 5

Wrap Up and Exam Review

Activities
Due
  • Week 13 Lab Report (10:00pm)

Th
May 7

Exam 2

Activities
  • Exam 2
    • Covers all material through week 13
Finals Week
Th
May 14

Project Presentations (9am–noon)

F
May 15

Work Due

Work cannot be submitted after 5pm on the Friday of finals week unless you have an approved incomplete. If you believe you need to request an incomplete, please meet with the instructor as soon as possible and review the instructions and deadlines on the Registrar’s page.

Due
  • Homework: Final Project (5:00pm)