All information in the future is subject to change, though this calendar represents my aims.

#

Date

Topic

Reading

Examples

Assignments

Labs

Extras

1

1/17

  • Introduction
  • Why C
  • Policies
  • Compilation
  • Skim King Preface, Ch. 1
  • Read King, Chs. 2-3
  • Skim Shotts Preface, Chs. 1-4

Reading 1 details

Assignment 1 out

Course survey

2

1/19

  • C stretches
  • Command line interaction
  • Submitting assignments on GitHub
  • Skim King Chs. 4-6.
  • Read King Ch. 7
  • Read King Ch. 20, Section 20.1 (pp. 509-515)

Reading 2 details

Lab 1

  • Command-line experiments
  • Basic C programming
  • emacs

3

1/24

  • Memory representation
  • Octal
  • Hexadecimal
  • Bit-string flicking
  • Skim Shotts, Ch. 5
  • Read Shotts, Chs. 6-7
  • Skim Shotts, Ch. 8

Reading 3 details

Assignment 1 due

Assignment 2 out

4

1/26

  • Compilation units
  • Header files
  • Makefiles
  • Unit testing
  • Read King, Ch. 8. Arrays in C are quite different than they are in Java.

Lab 2

  • Bits
  • man
  • Makefiles
  • Unit testing

5

1/31

  • Arrays in C
  • Read Shotts, Chs. 9-10.

rev_chars.c

Assignment 2 due

Assignment 3 out

Array exercise

6

2/2

  • Array algorithms
  • Multi-dimensional arrays
  • Read King, Ch. 9.
  • Skim King, Ch. 10.

Lab 3

  • Array algorithms
  • gdb

7

2/7

  • Functions
  • Recursion
  • Stack frames

Assignment 3 due

Assignment 4 out

2/9

SNOW DAY

  • Read King, Chs. 11-12

2/14

class canceled

  • Read Shotts, table of contents; read further chapters of interest, on your own time

Assignment 4 due

Sample exam questions

8

2/16

  • Stack frames
  • Review for exam

Lab 4

  • Function wats
  • git

9

2/21

Exam 1

  • Read parts of King, Ch. 14-15.

Reading 9 details

Assignment 5 out

10

2/23

  • Pointers
  • git
  • Read King, Ch. 13.

Lab 5

Pointer exercises

11

2/28

  • Strings
  • Read King, Ch. 16.

Reading 11 details

String exercises

solution

12

3/2

  • Structures
  • Read for pleasure

Assignment 5 due

  • no lab

Struct exercise

solution

3/7

SPRING BREAK

relax

3/9

SPRING BREAK

relax

3/14

SNOW DAY

  • Read King, Ch. 17, sections 17.1-17.4.

no new assignment

13

3/16

  • Dynamically allocated arrays
  • Resizable arrays
  • Read King, sections 17.5-17.6.

Lab 6: A resizable array

14

3/21

  • Linked lists

Assignment 6 out (double assignment)

15

3/23

  • git
  • Doubly linked lists

Lab 7: Circular linked lists, valgrind

Exam 2 exercises

16

3/28

  • Trees
  • Review

Solution to Lab 6:

Sample exam 2

17

3/30

Exam 2

  • Read King, Ch. 22, sections 22.1-2, 22.6.

Lab 8: Binary search trees

18

4/4

  • Binary search trees
  • File I/O

19

4/6

  • Graphs

Assignment 6 due

Assignment 7 out

20

4/11

  • Binary files

21

4/13

  • Huffman coding

Assignment 7 due

Assignment 8 out (double assignment)

Lab 9: Huffman coding

22

4/18

  • Function pointers
  • Read King, Section 17.7

23

4/20

  • Huffing and puffing

24

4/25

  • Huffing and puffing

25

4/27

  • Feedback
  • Huffing and puffing

Assignment 8 due