15-123 Tentative Schedule

Week 1

  • Administrivia
  • The shell and shell scripting

Week 2

  • Shell scripting II
  • Regex, grep, sed, &c, Lab #1 Assigned

Week 3

  • Perl
  • Perl II, Lab #2 Assigned

Week 4

  • Compiliation model, "Hello world", similarity to Java
  • Exam #1 -- UNIX environment, shell scripting and Perl

Week 5

  • No class -- Gates-Hillman Complex Dedication
  • Parameters, Multitple files, Globals, Static, Extern, Weak/Strong, Lab #3 Assigned

Week 6

  • Memory, addresses, pointers, pass-by-reference-value, &-operator, *-operator, gdb
  • Arrays, strings, pointer arithmetic, File IO, Lab #4 assigned

Week 7

  • Reinforcement, Multidimensional arrays
  • Structs, typedefs; dynamic memory

Week 8

  • Designing a library interface, reinforcement
  • Exam #2 (Programming in C, gdb)

Week 9

  • Implementing data structures, void pointer, multiple files, static, Hashing, Lab #5 assigned
  • Linked lists

Week 10

  • Linked lists, cont, Lab #6 Assigned
  • Function-like Macros, Valgrind, Make/CVS, Lab #7 Assigned

Week 11

  • Bitwise operators, Computer organization (ISA, registers, instructions, etc), Lab #8 Assigned
  • SAMS ISA and assembly

Week 12

  • Discuss SAMS simulator implementation
  • Continue Discussion of SAMS simulator

Week 13

  • System calls, Process control
  • /proc, strace, Lab #9 assigned

Week 14

  • No class -- Thanksgiving
  • gprof and program execution

Week 15

  • Exam #3 (More C, program-memory validation, SAMS assignment, process lifecycle and system calls
  • Course wrap-up, Final Exam review