CIS 573 Lecture Schedule (Fall 2013)


Date Lecture Topics Assigned Readings & Other Info
Aug 28
  • Course introduction
  • What is "software quality"?
Sep 2
  • No class today!
Sep 4
  • "All I Really Need to Know (about Software Engineering) I Learned in Kindergarten"
Sept 9
  • Overview of group project
  • Software design concepts
Sept 11
  • Design complexity metrics
  • Lecture notes
  • F. Tsui & O. Karam, Essentials of Software Engineering, chapter 8 (available in Canvas)
Sept 16
  • More design complexity metrics
Sept 18
  • Code smells
  • Lecture notes
  • Code used in in-class activity (solutions coming next week!)
  • M. Fowler, Refactoring: Improving the Design of Existing Code, chapter 2 and chapter 3
Sep 23
  • Refactoring patterns
  • Lecture notes
  • Solutions to refactoring example used in class
  • E.J. Braude and M.E. Bernstein, Software Engineering: Modern Approaches, chapter 24 (available in Canvas)
Sep 25
  • Intro to software testing
  • Lecture notes
  • P. Ammann and J. Offutt, Introduction to Software Testing, chapter 1 (available in Canvas)
Sep 30
  • Black-box testing
  • Lecture notes
  • P.C. Jorgensen, Software Testing: A Craftsman's Approach, chapters 5 and 6 (available in Canvas)
Oct 2
  • White-box testing
  • Lecture notes
  • E.J. Braude and M.E. Bernstein, Software Engineering: Modern Approaches, chapter 26 (available in Canvas)
Oct 7
  • Symbolic execution
Oct 9
  • Special topic: Software Engineering at Comcast
Oct 14
  • Fault-based testing
  • Lecture notes (also includes notes for Oct 21)
  • White-box testing example used in class
Oct 16
  • Special topic: Software Testing at Google
Oct 21
  • Mutation analysis
Oct 23
  • Test suite adequacy criteria
  • Midterm exam review
Oct 28
  • Midterm Exam
  • Study guide is available here
  • The exam will be held in DRL A1
Oct 30
  • Property-based testing
Nov 4
  • Model checking
Nov 6
  • Fault localization
  • Regression testing
Nov 11
  • Integration testing
  • Dependency injection
Nov 13
  • Reliability and fault-tolerant computing
Nov 18
  • Security: best practices
Nov 20
  • Security and implementation
Nov 25
  • Measuring and improving code performance
Nov 27
  • No class today! Happy Thanksgiving!
Dec 2
  • Usability
  • Lecture notes and slides
  • J. Noyes, "The Human Factors Toolkit" (available in Canvas)
Dec 4
  • Code inspections
Dec 9
  • Final Review
Dec 18
  • Final Exam
  • Scheduled by the university registrar for 3-5pm in Berger Auditorium (basement of Skirkanich)
  • Study guide is available here
  • Practice questions are available in Canvas