Lecture |
Date |
Topics |
P&P Reading |
Materials |
1 |
Tue 16 Jan |
Introduction and review |
Ch. 6-7 |
|
2 |
Thu 18 Jan |
I/O abstractions, keyboard, monitor |
Sec. 8.1-4 |
|
3 |
Tue 23 Jan |
Repeated code: subroutines, TRAPs, interrupts, libraries |
Ch. 9 |
|
4 |
Thu 25 Jan |
Stacks: abstraction and use in assembly |
Ch. 10 |
|
5 |
Tue 30 Jan |
Stacks: conventions and use for subroutines |
Ch. 10 |
|
6 |
Thu 1 Feb |
Re-introduction to C: variables, operators |
Ch. 11-12 |
|
7 |
Tue 6 Feb |
C control constructs |
Ch. 13 |
|
8 |
Thu 8 Feb |
Examples, problem solving with C |
(Ch. 11-13) |
|
9 |
Tue 13 Feb |
Functions in C: implementation and examples |
Sec. 14.1-3 |
|
MT1 |
Thu 15 Feb |
Optional: Review for Midterm #1 |
|
|
10 |
Tue 20 Feb |
Examples using functions, introduction to pointers |
Sec. 14.4, 16.1-2 |
|
11 |
Thu 22 Feb |
Arrays: introduction and examples |
Ch. 16 |
|
12 |
Tue 27 Feb |
Testing and debugging: error taxonomy, examples, and strategies |
Ch. 15 |
|
13 |
Thu 1 Mar |
More examples of testing |
-- |
|
14 |
Tue 6 Mar |
Recursion: introduction and example |
Ch. 17 |
|
15 |
Thu 8 Mar |
Recursion: general strategy, examples, stack frames |
Ch. 17 |
|
16 |
Tue 13 Mar |
Structured data in C |
Sec. 19.1 |
|
17 |
Thu 15 Mar |
Data structures: example, defining types, enums |
Sec. 19.2-3 |
|
|
|
Spring Break Week! |
|
|
18 |
Tue 27 Mar |
Dynamic allocation: resizing, C API, linked lists |
Sec. 19.4-5 |
|
19 |
Thu 29 Mar |
Pointer-based data structures |
-- |
|
20 |
Tue 3 Apr |
Implementation of dynamic memory allocation |
-- |
|
MT2 |
Thu 5 Apr |
Optional: Review for Midterm #2 |
|
|
21 |
Tue 10 Apr |
I/O in Unix and C |
Ch. 18 and notes |
|
22 |
Thu 12 Apr |
Extensive I/O example |
-- |
|
23 |
Tue 17 Apr |
Function pointers, hierarchies of structures |
-- |
|
24 |
Thu 19 Apr |
C++: classes, inheritance, access control |
-- |
|
25 |
Tue 24 Apr |
C++: constructors and destructors, dynamic memory management |
-- |
|
26 |
Thu 26 Apr |
C++: classes, inheritance, access control |
-- |
|
27 |
Tue 1 May |
C++: function overloading and references, copying vs. constructing |
-- |
|
FIN |
Fri 4 May |
Final Exam, 8:00-11:00 a.m. |
|
|