Disclaimer: This is the tentative plan. It will
almost certainly change. I do not post this as a promise. Instead, I do it
to offer you the flavor and direction of the course. Changes will be
announced in class and this will occasionally be updated.
-
Week 1
- administrivia
- Shell Scripting - HW #1 (A very simple shell script)
-
Week 2
- Regular Expressions and other tools of the trade -
- awk and sed -- HW #2 (True magic with shell scripts)
-
Week 3
- (f)lex
- yacc (bison) -- HW #3 (The language of the shell)
-
Week 4
- Review/Perl or spare
- Exam #1
-
Week 5
-
Week 6
- The process and its environment -- HW #4 Assigned (The Shell)
- The process and its environment, cont.
-
Week 7
- Signals, Pipes, Terminals and Process Groups
- make, cvs
-
Week 8
-
Week 9
- Revisiting process resources, and /proc
- Using ptrace -- HW #5 (trace syscalls, show process information)
-
Week 10
- Dynamic linking
- nm, elfdump, &c
-
Week 11
- Static and Dynamic Libraries
- External data structures, hashtables -- HW #7 (simple data base)
-
Week 12
- Threads, concurrency control with threads
- Exam #3
-
Week 13
-
Week 14
- Sockets, Client-server via a network -- HW #8 (A network database)
- Network Protocols, esp. Application Level
-
Week 15
|