Course Schedule
This schedule is tentative and subject to change. Keep in mind that the slides may not include all the material discussed in lecture. You are responsible for any material we present in lecture, even if it does not appear in the posted slides. Notice that code examples can be found in the grace cluster (public directory).

| Week | Topics | Reading | Slides | Work |
|---|---|---|---|---|
| cmsc216 Schedule | ||||
| Week #1 (Sep 2) |
Course Introduction, C Data Types, Operators, Input/Output, Control Statements |
Course-Intro-C-Intro-I.pdf C-Intro-II.pdf |
E1 Out (Fri) | |
| Week #2 (Sep 8) |
Functions, scope, C Storage Types, Linkage, sizeof, GDB, Debugging (lecture), Input/Output Redirection (lab) |
C-Intro-III.pdf Debugging.pdf |
Q1 (Wed) E1 Due (Wed) E2 Out (Fri) |
|
| Week #3 (Sep 15) |
Pointers, Arrays, Math Library(lab) |
Pointers.pdf Pointers-Arrays.pdf |
E2 Due (Wed) Q2 (Wed) P1 Out (Thu) |
|
| Week #4 (Sep 22) |
Strings, Pointer Arithmetic, 2-Dim Arrays, Bitwise Operators (Lab) |
Pointers-Strings.pdf PtrArithmeticArrays.pdf BitwiseOperators.pdf (Lab) |
P1a Due (Thu) E3 Out (Fri) |
|
| Week #5 (Sep 29) |
Structures, I/O (line-oriented-formatted) |
Structures.pdf IO.pdf |
E3 Due (Wed) P1 Due (Tue) P2 Out (Tue) |
|
| Week #6 (Oct 6) |
I/O (Cont.), Preprocessor I, Function Pointers, Make (Lab), Dynamic Memory Allocation, Valgrind Tool |
PreprocessorI.pdf FunctionPtrs.pdf Make.pdf (Lab) DynamicMemAlloc.pdf |
P2 Due (Tue) P3 Out (Tue) Q3 (Wed) E4 Out (Fri) |
|
| Week #7 (Oct 13) |
Dynamic Structures, Assembly |
AssemblyI.pdf |
E4 Due (Wed) P3 Due (Tue) P4 Out (Tue) |
|
| Week #8 (Oct 20) |
Midterm I (Lecture), Assembly |
Midterm I (Tue) P4a Due (Fri) |
||
| Week #9 (Oct 27) |
Assembly |
AssemblyII-If-Loops.pdf AssemblyIII-CallStack.pdf |
P4 Due (Wed) P5 Out (Thu) |
|
| Week #10 (Nov 3) |
Assembly, Process Control |
AssemblyIV-ParamLocal.pdf ProcessControlI.pdf |
P5a Due (Thu) |
|
| Week #11 (Nov 10) |
Process Control (Cont.), System I/O |
ProcessControlII.pdf System-IO-I.pdf System-IO-II.pdf |
P5 Due (Thu) E5 Out (Fri) |
|
| Week #12 (Nov 17) |
Midterm II (Lecture), System I/O (Cont.) |
Midterm II (Tue) P6 Out (Fri) E5 Due (Fri) |
||
| Week #13 (Nov 24) |
Time, Optimization, Thanksgiving Recess |
Time.pdf Optimization.pdf |
Thanksgiving (Thu/Fri, Nov 27/28) |
|
| Week #14 (Dec 1) |
Optimization (Cont.), Concurrency (Flipped-Classroom), Data Representation, Signals, Libraries |
ConcurrencyI.pdf ConcurrencyII.pdf Data-Rep.pdf Signals.pdf |
P6a Due (Tue) P7 Out (Wed) Q4 (Wed) P6 Due (Fri) |
|
| Week #15 (Dec 8) |
Preprocessor, Heap Management, Miscellaneous, Course Evaluations, Review |
PreprocessorII.pdf Libraries.pdf Heap-Management.pdf |
P7 Due (Tue) Last Day of Classes (Fri/Dec 12) Final Exam (Mon/Dec 15 4pm-6pm) |
|