Software Engineering Course Schedule

From Knowledge Kitchen
Jump to: navigation, search


Day Date Topic Reading done Assignment due
Week 1 - Overview
1 1/23 Course overview
2 1/25 What software engineers do
Week 2 - Basics
3 1/30 Scrum methodology
4 2/1 Version Control
Week 3 - System specification
5 2/6 Requirements engineering
  • Sommerville, Chapter 4 - Requirements engineering
6 2/8 System modeling and design
  • Sommerville, Chapter 5 - System modeling
  • Sommerville, Chapter 6 - Architectural design
Week 4 - Sprint 0
7 2/13 Team formation
  • Sommerville, Chapter 22.2 - Project management / Managing people
  • Sommerville, Chapter 22.3 - Project management / Teamwork
8 2/15 Sprint planning
Week 5 - Sprint 0
9 2/20 Continuous integration
10 2/22 Shell scripting
Week 6 - Sprint 1
11 2/27 System building
  • Sommerville, Chapter 25.2 - Configuration management / System building
  • System building
11 3/1 Testing
Week 7 - Sprint 1
12 3/6 Code review
13 3/8 Review before eaxm
Week 8 - Sprint 2
14 3/20 Midterm exam
15 3/22 Design patterns
  • Sommerville, Chapter 7 Design and implementation
Week 9 - Sprint 2
16 3/27 Change management
  • Sommerville, Chapter 25.3 - Configuration management / Change management
  • Change management
17 3/29 Relational (SQL) databases
Week 10 - Sprint 3
18 4/3 NoSQL databases
19 4/5 Distributed systems
  • Sommerville, Chapter 17 - Distributed software engineering
Week 11 - Sprint 3
20 4/10 Software as a Service
  • Sommerville, Chapter 18 - Service-oriented software engineering
21 4/12 Software as a Service
Week 12 - Sprint 4
22 4/17 Projects
23 4/19 Release management
  • Sommerville, Chapter 25.4 - Configuration management / release management
  • Release management
Week 13 - Sprint 4
24 4/24 Projects
25 4/26 Acceptance testing
Week 14 - Release
26 5/1 Final project presentations
27 5/3 Review before exam
Week 15 - Exam week
28 5/10 @ 12-1:50PM Final exam