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