Course Outline

CpSc 461, Software Engineering Techniques

Section 11, Monday and Wednesday, 1:00-1:50pm, Monday, 2:00-3:50pm

Date Day Section Topics Reading
January 31 Monday Lecture Software and Software Engineering Chapter 1
Lab Design Exercise 1
February 2 Wednesday Lecture Process: A Generic View Chapter 2
February 7 Monday Lecture Prescriptive Process Models Chapter 3
Lab Design Exercise 2
Design Exercise 3
February 9 Wednesday Lecture Agile Development Chapter 4
February 14 Monday Lecture Practice: A Generic View Chapter 5
Lab Design Patterns Exercise
February 16 Wednesday Lecture System Engineering Chapter 6
February 21 Monday President's Day - No class
February 23 Wednesday Lecture Requirements Engineering Chapter 7
February 28 Monday Lecture Analysis Modeling Chapter 8
Lab Class Diagram Exercise
Use-Case Exercise

March 2 Wednesday Lecture Design Engineering Chapter 9
March 7 Monday Midterm Exam 1, Chapters 1-8
Lab CRC Card Exercise
State Machine Exercise
March 9 Wednesday Lecture Architectural Design Chapter 10
March 14 Monday Lecture Component-Level Design Chapter 11
Lab Data-Flow Diagram Exercise
Project Meeting 1 (Choosing a Project)
March 16 Wednesday Lecture User Interface Design Chapter 12
March 21 Monday Lecture Software Testing Strategies Chapter 13
Lab Cohesion and Coupling Exercise
Project Meeting 2 (Building the Existing Code)
March 23 Wednesday Lecture Software Testing Techniques Chapter 14
March 28 Monday Spring Recess - No class
March 30 Wednesday Spring Recess - No class
April 4 Monday Lecture Product Metrics for Software Chapter 15
Lab Refactoring Exercise
Project Meeting 3 (Documenting the Existing Design)
April 6 Wednesday Lecture Process and Project Metrics Chapter 22
April 11 Monday Lecture Project Management Concepts Chapter 21
Lab Unit Testing Exercise
Project Meeting 4 (Developing Requirements for a New Feature)
April 13 Wednesday Lecture Estimation for Software Projects Chapter 23
April 18 Monday Midterm Exam 2, Chapters 9-15 and 21-22
Project Meeting 5 (Designing the New Feature)
April 20 Wednesday Lecture Software Project Scheduling Chapter 24
April 25 Monday Lecture Risk Management Chapter 25
Lab Function-Point Estimation Exercise
Project Meeting 6 (Feature Implementation)
April 27 Wednesday Lecture Quality Management
Guest Lecture: Raj Advani, QA Lead Engineer, Quest Software
Chapter 26
May 2 Monday Lecture Change Management Chapter 27
Lab Software Project Milestone Exercise
Project Meeting 7 (Feature Implementation)
May 4 Wednesday Lecture Web Engineering Chapter 16
May 9 Monday Lecture Formulation and Planning for Web Engineering Chapter 17
Lab Project Meeting 8 (Feature Testing)
May 11 Wednesday Lecture Analysis Modeling for Web Applications Chapter 18
May 16 Monday Lecture Design Modeling for Web Applications Chapter 19
Lab Project Demonstrations
May 18 Wednesday Lecture Testing Web Applications Chapter 20
May 23 Monday Final Exam, 2:30-4:20pm