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)