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 | Slides | Readings | Work |
|---|---|---|---|---|
| CMSC216 Schedule | ||||
| Week #1 (Jan 25) |
Course Introduction, C Data Types, Operators, Input/Output, Control Statements, Active Learning |
Course-Intro.pdf C-Intro.pdf ActiveLearningWorkshop.pdf |
King's book, Chapters 1 → 6 |
|
| Week #2 (Feb 1) |
Functions, scope, C Storage Types, Linkage, sizeof, Input/Output Redirection (lab) |
C-Lang-I.pdf C-Lang-II.pdf |
King's book, 7.1 → 7.4 7.6 9.1 → 9.4 Chapter 10 |
E1 Out (Mon) E1 Due (Fri) E2 Out (Fri) |
| Week #3 (Feb 8) |
Pointers, Arrays, Debugging/GDB (lab), Math Library(lab) |
Pointers.pdf Debugging.pdf Pointers-Arrays.pdf |
King's book, 8.1 Chapter 11 |
Q1 (Wed) E2 Due (Wed) P1 Out (Thu) |
| Week #4 (Feb 15) |
Strings, Pointers, Command Line Arguments |
Strings.pdf PtrsCommandLineArgs.pdf |
King's book, Chapter 11, Chapter 13 |
Q2 (Wed) P1a Due (Wed) E3 Out (Fri) |
| Week #5 (Feb 22) |
Pointer Arithmetic, 2-Dim Arrays, Structures |
PtrArith2DArrays.pdf Structures.pdf |
King's book, 8.2, Chapter 12, Chapter 16, 17.7 |
Q3 (Wed) E3 Due (Fri) P1 Due (Wed) P2 Out (Wed) |
| Week #6 (Feb 29) |
Formatted I/O, Preprocessor I |
IO.pdf PreprocessorI.pdf |
King's book, Chapter 14, Chapter 22 |
P3 Out (Wed) Midterm I (Thu)(Lecture) P2 Due (Wed) |
| Week #7 (Mar 7) |
Make, Dynamic Memory Allocation, Function Pointers |
Make.pdf (Lab) DynamicMemAlloc.pdf FunctionPtrs.pdf |
King's book, 15.4, 17.1 - 17.7 |
E4 Out (Tue) P3 Due (Thu) |
| Spring Break 2016 (Mar 14-Mar 18) | ||||
| Week #8 (Mar 21) |
Bitwise Operations (Lab), Dynamic Structures, Assembly |
BitwiseOperators.pdf DynamicMemAllocII.pdf AssemblyI.pdf |
King's book, 20.1 |
P4 Out (Tue) Q4 (Wed) E4 Due (Tue) |
| Week #9 (Mar 28) |
Assembly |
AssemblyII-If-Loops.pdf AssemblyIII-CallStack.pdf |
P4a Due (Mon) Q5 (Wed) P4 Due (Thu) P5 Out (Thu) |
|
| Week #10 (Apr 4) |
Assembly, Process Control |
AssemblyIV-ParamLocal.pdf ProcessControlI.pdf |
Bryant's book, 1.7, 8.2 - 8.4 |
P5a Due (Fri) |
| Week #11 (Apr 11) |
Process Control, System I/O (read, write, file descriptors) |
ProcessControlII.pdf System-IO-I.pdf |
Bryant's book, 10.1 - 10.4, 10.8 - 10.12 |
P5 Due (Wed) E5 Out (Thu) |
| Week #12 (Apr 18) |
System I/O (dup2, pipes) |
System-IO-II.pdf |
E5 Due (Tue)
P6 Out (Tue)
Midterm II (Thu) (Lecture) |
|
| Week #13 (Apr 25) |
Libraries, Concurrency, Time |
Libraries.pdf Concurrency.pdf Time.pdf |
P6 Due (Tue) P7 Out (Tue) |
|
| Week #14 (May 2) |
Optimization, Data Representation, Course Evaluations |
Optimization.pdf Data-Rep.pdf |
Bryant's book, Chapter 2, 12.3 - 12.7 |
Q6 (Mon) P7 Due (Fri) |
| Week #15 (May 9) |
Preprocessor, Review |
PreprocessorII.pdf Review.pdf |
Last Day of Classes (Tue/May 10) Final Exam (Thu/May 12 4pm-6pm) |
|