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 (Jan 30) |
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, 18.1→18.2 |
E1 Out (Tue) E1 Due (Fri) E2 Out (Fri) |
| Week #3 (Feb 6) |
Pointers, Arrays, Debugging/GDB (lab), Math Library(lab) |
Debugging.pdf Pointers.pdf Pointers-Arrays.pdf |
King's book, 8.1 Chapter 11, 23.3 |
Q1 (Wed) E2 Due (Wed) P1 Out (Thu) |
| Week #4 (Feb 13) |
Pointer Arithmetic, Strings, Command Line Arguments, 2-Dim Arrays |
Ptr-Arithmetic.pdf Strings.pdf CmdLine-Args-2DArrays.pdf |
King's book, 8.2, Chapter 11, 12, 13, 23.5, 23.6 |
Q2 (Wed) P1a Due (Wed) E3 Out (Fri) |
| Week #5 (Feb 20) |
Structures, Data Representation, Bitwise Operations |
Structures.pdf Data-Rep.pdf BitwiseOperators.pdf |
King's book, Chapter 16, 20.1 Bryant's book, Chapter 2 |
Q3 (Wed) E3 Due (Fri) P1 Due (Wed) P2 Out (Wed) |
| Week #6 (Feb 27) |
Formatted I/O |
IO.pdf |
King's book, Chapter 14, Chapter 22 |
Midterm I (Thu) (Lecture) P2 Due (Wed) P3 Out (Fri) |
| Week #7 (Mar 6) |
PreprocessorI, Make, Dynamic Memory Allocation, Function Pointers |
PreprocessorI.pdf Make.pdf (Lab) DynamicMemAlloc.pdf FunctionPtrs.pdf |
King's book, 15.4, 17.1 - 17.7 |
E4 Out (Thu) |
| Week #8 (Mar 13) |
Dynamic Structures, Optimization |
DynamicMemAllocII.pdf Optimization.pdf |
King's book, 20.1 |
P3 Due (Wed) E4 Due (Fri) |
| Spring Break 2017 (Mar 19-Mar 26) | ||||
| Week #9 (Mar 27) |
Assembly, Encapsulation in C (Lab) |
AssemblyI.pdf AssemblyII-If-Loops.pdf |
P4 Out (Mon) Q4 (Wed) |
|
| Week #10 (Apr 3) |
Assembly, Process Control |
AssemblyIII-CallStack.pdf AssemblyIV-ParamLocal.pdf |
Bryant's book, 1.7, 8.2 - 8.4 |
P4 Due (Wed) P5 Out (Wed) |
| Week #11 (Apr 10) |
Process Control, System I/O (read, write, file descriptors) |
ProcessControlI.pdf ProcessControlII.pdf System-IO-I.pdf (Lab) |
Bryant's book, 10.1 - 10.4, 10.8 - 10.12 |
E5 Out (Thu) P5 Due (Fri) |
| Week #12 (Apr 17) |
System I/O (dup2, pipes) |
System-IO-II.pdf |
Midterm II (Thu) (Lecture) P6 Out (Thu) E5 Due (Fri) |
|
| Week #13 (Apr 24) |
Concurrency, Time |
Concurrency.pdf Time.pdf |
E6 Out (Wed) |
|
| Week #14 (May 1) |
Signals, Libraries, Preprocessor, Course Evaluations |
Signals.pdf Libraries.pdf PreprocessorII.pdf |
Bryant's book, Chapter 2, 12.3 - 12.7 |
P7 Out (Mon) P6 Due (Tue) |
| Week #15 (May 8) |
Review |
Review.pdf |
E6 Due (Mon) P7 Due (Tue) Last Day of Classes (Thu/May 11) Final Exam (Sat/May 13 4pm-6pm) |
|