This is an abbreviated course syllabus.
Like everything else in this course, it is likely to change.
Weeks:
1,
2,
3,
4,
5,
6,
7,
break,
8,
9,
10,
11,
12,
13,
14.
|
Date |
Topic |
Reading |
Lab |
Work Due |
Week 1 |
01 | Friday, 27 August 2010 | An Introduction to the Course | | GNU/Linux I | |
02 | Monday, 30 August 2010 | Linux Basics | | GNU/Linux II | |
03 | Tuesday, 31 August 2010 | Linux Files and Permissions | | GNU/Linux III | |
04 | Wednesday, 1 September 2010 | An Introduction to C | K&R 1 | | Assignment 1: Fun with Linux |
05 | Friday, 3 September 2010 | Getting Started with Emacs and Compiling C Programs | Raymond 1 ; Wikipedia on Emacs | Emacs and Beyond | |
Week 2 |
06 | Monday, 6 September 2010 | Types and Operators | K&R 2 ; GNU Coding Standards, 5.1-5.4 | | |
07 | Tuesday, 7 September 2010 | Basic Input and Output in C | K&R 7.1-7.4 | Input and Output | |
08 | Wednesday, 8 September 2010 | Input and Output, Continued | | Input and Output | Assignment 2: Basic C |
09 | Friday, 10 September 2010 | Input and Output, Continued2 | | Input and Output | |
Week 3 |
10 | Monday, 13 September 2010 | The Command Line | K&R 5.10 | The Command Line in C | |
11 | Tuesday, 14 September 2010 | The Command Line, Continued | | The Command Line in C | |
12 | Wednesday, 15 September 2010 | Binary Representation and Bitwise Operators | K&R 2.9, 6.9 ; Wright: A Tutorial on Binary Numbers. | C's Bitwise Operations | Assignment 3: Explaining Assignments and I/O |
13 | Friday, 17 September 2010 | IEEE Floating Point Representation | Stone & Rebelsky: IEEE Floating Point Representation of Real Numbers. | | |
Week 4 |
14 | Monday, 20 September 2010 | Operators and Precedence | Review K&R 2 | | |
15 | Tuesday, 21 September 2010 | Pause for Breath | | | |
16 | Wednesday, 22 September 2010 | Control Flow: Conditionals (1) | K&R 3.1-3.3 | Conditionals in C | Assignment 4: Fun with Bits and Beyond |
17 | Friday, 24 September 2010 | Review Session | | | |
Week 5 |
18 | Monday, 27 September 2010 | Control Flow: Conditionals (2) | K&R 3.4 | | |
19 | Tuesday, 28 September 2010 | Control Flow: Loops | K&R 3.5-3.6 | | |
20 | Wednesday, 29 September 2010 | Control Flow: Miscellaneous | K&R 3.7-3.8 | Loops in C | Exam 1 |
21 | Friday, 1 October 2010 | Functions and Parameters | K&R 4.1-4.3 | Basic Functions in C | |
Week 6 |
22 | Monday, 4 October 2010 | Discussion of Exam 1 | | | |
23 | Tuesday, 5 October 2010 | Building Libraries | K&R 4.3-4.6 | Simple Libraries in C | |
24 | Wednesday, 6 October 2010 | Unit Testing | Unit Testing 101 for Non-Programmers | | |
25 | Friday, 8 October 2010 | Interactive Testing | | Testing in C | |
Week 7 |
26 | Monday, 11 October 2010 | Program Correctness and assert | Meyer: Applying Design by Contract | | |
27 | Tuesday, 12 October 2010 | Debugging with DDD | Debugging with DDD: Summary and Sample Session | Debugging with DDD | |
28 | Wednesday, 13 October 2010 | More Debugging with DDD | | Debugging with DDD | Assignment 5: Sorting Out Sorting |
29 | Friday, 15 October 2010 | Macros | K&R 4.11 | Macros and the C Preprocessor | |
Fall Break! |
Week 8 |
30 | Monday, 25 October 2010 | Make, Revisited | Managing Projects with GNU Make, Chapters 1 and 2. | | |
31 | Tuesday, 26 October 2010 | Pointers | K&R 5.1-5.2 | Pointers | |
32 | Wednesday, 27 October 2010 | Pause for Breath | | | Assignment 6: A Testing Library |
33 | Friday, 29 October 2010 | Pointers and Arrays | K&R 5.3-5.4 | Pointers, Revisited | |
Week 9 |
34 | Monday, 1 November 2010 | Strings | K&R 5.5, B3 | Strings | |
35 | Tuesday, 2 November 2010 | Pause for Breath | | | |
36 | Wednesday, 3 November 2010 | Multi-dimensional arrays | K&R 5.6-5.9 | Multi-Dimensional Arrays | Exam 2 |
37 | Friday, 5 November 2010 | Sorting | | | |
Week 10 |
38 | Monday, 8 November 2010 | Discussion of Exam 2 | | | |
39 | Tuesday, 9 November 2010 | Pointers to Functions | K&R 5.10-5.11 | Function Pointers | |
40 | Wednesday, 10 November 2010 | Sorting, Revisited | | | Assignment 7: Sorting Out Sorting, Again |
41 | Friday, 12 November 2010 | Pause for Breath | | | |
Week 11 |
42 | Monday, 15 November 2010 | Files | K&R 7.5-7.7 | Files | |
43 | Tuesday, 16 November 2010 | Structures | K&R 6.1-6.5, 6.7 | Structures in C | |
44 | Wednesday, 17 November 2010 | Hash Tables | K&R 6.5 and 6.6 | | Assignment 8 |
45 | Friday, 19 November 2010 | Hash Tables, Continued | K&R 6.6 | | |
Week 12 |
46 | Monday, 22 November 2010 | Hash Tables Lab | | Hash Tables. | |
47 | Tuesday, 23 November 2010 | Linked Lists (1) | | | |
48 | Wednesday, 24 November 2010 | Linked Lists (2) | | | Assignment 9 |
Week 13 |
49 | Monday, 29 November 2010 | Alterative Linked Structures: Doubly-Linked and Circularly Linked Lists | | | |
50 | Tuesday, 30 November 2010 | Designing a List ADT | | | |
51 | Wednesday, 1 December 2010 | Designing More ADTs: Stacks and Queus | | | |
52 | Friday, 3 December 2010 | Building Stacks and Queues from Arrays | | | |
Week 14 |
53 | Monday, 6 December 2010 | Linked Stacks | | | Exam 3 |
54 | Tuesday, 7 December 2010 | Linked Queues | | | |
55 | Wednesday, 8 December 2010 | Shell Programming (1) | | | |
56 | Friday, 10 December 2010 | Discussion of Exam 3 | | | |