These notes are from the 2007 offering of the course. They are placed here primarily to assist students enrolled in the course; they are not intended as polished documents. All notes are copyright © Russell C. Bjork. Students enrolled in CS211 may reproduce these notes for personal study; all other rights are reserved.

  1. Course Intro; Introduction To Software Engineering
  2. Requirements Engineering
  3. Use Cases and Initial Functional Tests
  4. Identifying Objects and Classes
  5. Class Diagrams in UML
  6. Identifying Responsibilities; CRC Cards
  7. Modelling Dynamic Behavior of System: Interaction Diagrams in UML
  8. State Diagrams
  9. Cohesion and Coupling; the MVC Paradigm
  10. Detailed Design and Implementation
  11. Quality Assurance
  12. Concurrency and Threads
  13. Architectural Design
  14. Persistence, Relational Databases
  15. Database Querying and Updating
  16. Java Database Connectivity (JDBC)
  17. Relational Database Design
  18. Distributed Systems
  19. The User Interface
  20. Design Patterns