15-123 Tentative Schedule

Week 1

  • Administrivia
  • The shell and shell scripting, Lab #1 Assigned

Week 2

  • More shell scripting, regex
  • AWK and Perl

Week 3

  • More Perl, Lab #2 Assigned
  • Compiliation model, "Hello world", similarity to Java

Week 4

  • Functions, prototypes, headers, macros, includes, Lab #3 Assigned
  • Memory, addresses, pointers, pass-by-reference-value, gdb

Week 5

  • Arrays, strings, pointer arithmetic, File IO, Lab #4 assigned
  • Structs, Unions, typedefs; dynamic memory

Week 6

  • Review/Slack
  • Exam #1

Week 7

  • Exam Post-mortem
  • Implementing data structures, void pointer, multiple files, static, Hashing, Lab #5 assigned

Week 8

  • Linked lists
  • Linked lists, cont

Week 9

  • Binary Search Trees (BSTs)
  • Additional data structures

Week 10

  • Review/Slack
  • Exam #2

Week 11

  • Function-like Macros, Common Memory errors, Valgrind
  • Make/CVS

Week 12

  • Bitwise operators, Lab #8 Overview, Lab #8, Part 1 (Assembler) Assigned
  • Lab #8: Implementing the Simulator, Part #1

Week 13

  • Lab #8: Implementing the Simulator, Part #2 Assigned
  • No class-Thanksgiving

Week 14

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

Week 15

  • Introduction to C++
  • Review/Slack/Administrivia