This calendar is representative of a typical 16-week semester offering of this course. It is intended to be a general guide to the ordering and pacing of the course - there are no dates as those are specific to a particular offering. If you are a current student, please refer to your course syllabus and course calendar for all important dates.

Week Tasks Deliverables
1
  • Review course syllabus
  • Watch lesson 1 (Intro to Software Analysis)
  • Watch lesson 2 (Intro to Software Testing)
2
  • Watch lesson 3 (Random Testing)
  • Begin working on lab 1: BFF
3
  • Complete lab 1: BFF
  • Lab 1: BFF
4
  • Watch lesson 4 (Automated Test Generation)
  • Begin working on lab 2: Randoop
5
  • Complete lab 2: Randoop
  • Lab 2: Randoop
6
  • Watch lesson 5 (Dataflow Analysis)
  • Begin working on lab 3: Dataflow
  • Begin studying for midterm exam
7
  • Complete lab 3: Dataflow
  • Watch lesson 6 (Pointer Analysis)
  • Begin studying for midterm exam
  • Lab 3: Dataflow
8
  • Study for midterm exam
  • Participate in midterm exam review session
  • Complete midterm exam
  • Midterm Exam
9
  • Watch lesson 7 (Constraint Based Analysis)
  • Begin working on lab 4: Datalog
10
  • Watch lesson 8 (Type Systems)
  • Complete lab 4: Datalog
  • Lab 4: Datalog
11
  • Watch lesson 9 (Statistical Debugging)
  • Begin working on lab 5: CBI
12
  • Watch lesson 10 (Delta Debugging)
  • Complete lab 5: CBI
  • Begin working on lab 6: Delta
  • Lab 5: CBI
13
  • Complete lab 6: Delta
  • Lab 6: Delta
14
  • Watch lesson 11 (Dynamic Symbolic Execution)
  • Begin working on lab 7: KLEE
  • Begin studying for final exam
15
  • Complete lab 7: KLEE
  • Continue studying for final exam
  • Lab 7: KLEE
16
  • Participate in final exam review session
  • Continue studying for final exam
  • Complete final exam
  • Final Exam