15-310 Tentative Schedule

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
    • On-Line Exam
    • No class

  • 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
    • Review/spare
    • Exam #2

  • 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
    • No class - Thanksgiving

  • Week 14
    • Sockets, Client-server via a network -- HW #8 (A network database)
    • Network Protocols, esp. Application Level

  • Week 15
    • Review/slack
    • Exam #4