Lecture Topics

DateDescription
March 28 Course intro; Linux basics
slides
March 30 Processes, users, shell characters, emacs
slides, command sampler, shell history
April 1 I/O redirection, shell scripts
slides, files, shell history
April 4 Shell variables, more shell scripts
slides, files, shell history
April 6 Shell scripts (concl.)
shell history
April 8 Regular expressions & grep
slides, data files, shell history
April 11 regexp (concl.), sed
slides, shell history
April 13 Introduction to C
slides, files
April 15 C: control, declarations, preprocessor, printf
slides, files
April 18 C: parameters, scope, left vs. right expressions
slides
April 20 More pointers, arrays (concl.)
April 22 C File I/O
Files: slides, files
April 25 Tools: gdb
gdb: slides, files, demo
April 27 Heap: malloc/free
slides
April 29 C structs, linked lists
slides, files
May 4 Preprocessor revisited, multifile programs; hw5 and tries; hw5 demo
slides, files
May 6 Tools: make and build dependencies
slides, files
May 9 make (concl.); Version control & git
slides
May 11 git (cont.)
May 13 git wrapup; Memory management and hw6
May 16 hw6, memory management
May 18 hw6 & memory management wrapup
May 20 Testing
slides: testing
May 23 Specifications; Intro to C++ (start)
specs: slides, C++: slides, files
May 25 C++ (cont.)
May 27 C++ (concl.); hw7
June 1 Linking and libraries
slides
June 3 Wrapup & review
slides