CS 5150: Software Engineering
Spring 2019

Weekly Schedule

Week 1 (January 22 to 26)

Course materials 
0. Projects
1. Introduction to practical software development
2. Steps in the software development process
3. Examples of software processes
Classes 
Tuesday 1/22 The projects
Thursday 1/24 Software development in practice

Week 2 (January 27 to February 2)

Course materials 
4. Feasibility studies
5. Project management
22. Legal aspects of software development
Classes 
Tuesday 1/29 Feasibility studies and project management
Thursday 1/31 Legal aspects of software development

Week 3 (February 3 to 9)

Course materials 
6. Requirements analysis
7. Scenarios and use cases
8. Models for requirement analysis and specification
Information about the assignments
Information about the surveys
Classes 
Tuesday 2/5 Requirements I
Thursday 2/7 Requirements II
Assignments 
Friday 2/8 (at 11:00 p.m.) Assignment 1: Report 1 (Feasibility Study and Plan), and Survey 1

Week 4 (February 10 to 16)

Course materials 
9. Usability and user interfaces
10. User interfaces for web sites and mobile devices
11. Evaluation and user testing
Information about the tests
Classes 
Tuesday 2/12 The user experience I
Thursday 2/14 The user experience II

Week 5 (February 17 to 23)

Course materials 
12. System architecture
13. Three popular architectural styles
Classes 
Tuesday 2/19 Test 1 (during class)
Thursday 2/21 System design I

Week 6 (February 24 to March 2)

Course materials 
24. Presentations
Classes 
Tuesday, 2/26 [February break]
Thursday 2/28 Presentations/System design II

Week 7 (March 3 to 9)

Course materials 
14. Security
15. Performance
Classes 
Tuesday 3/5 Security/Performance
Thursday 3/7 [no class]
Assignment 
Wednesday 3/6 to Friday 3/8 Assignment 2: Presentation
Friday 3/8 (at 11 p.m.) Assignment 2: Report 2 (Progress Report) and Survey 2

Week 8 (March 10 to 16)

Course materials 
16. Models for program design
17. Program development
18. Reuse and design patterns
Classes 
Tuesday 3/12 Program development I
Thursday 3/14 Program development I

Week 9 (March 17 to 23)

Course materials 
19. Reliability
20. Verification, testing, and bugs
21. Acceptance testing and delivery
Classes 
Tuesday 3/19 Test 2 (during class)
Thursday 3/21 Reliability and testing

Week 10 (March 24 to 30)

Course materials 
23. People
25. Professionalism
Classes 
Tuesday 3/26 People/Professionalism
Thursday 3/28 [n class]
Assignments 
Wednesday 3/27 to Friday 3/29 Assignment 3: Presentation
Friday 3/29 (at 11 p.m.) Assignment 3: Report 3 (Progress Report) and Survey 3

Week 11 (March 31 to April 6)

Classes 
Tuesday 4/2 [Spring break]
Thursday 4/3 [Spring break]

Week 12 (April 7 to 13)

Classes 
Tuesday 4/9 [no class]
Thursday 4/11 [no class]

Week 13 (April 14 to 20)

Classes 
Tuesday 4/16 Test 3 (during class)
Thursday 4/18 [no class]

Week 14 (April 21 to 27)

Classes 
Tuesday 4/23 [no class]
Thursday 4/25 [no class]

Week 15 (April 28 to May 4)

Classes 
Tuesday 4/30 [no class]
Thursday 5/2 [no class]
Assignment 
Wednesday 5/1 to Friday 5/3 Assignment 4. Presentation and demonstration

Week 16 (May 5 to the end of semester)

Classes 
Tuesday 5/7 [no class, office hours by appointment]
Tuesday 5/14 [office hours by appointment]
Assignments 
Thursday 5/16 (at 11 p.m.) Assignment 4. Final delivery (report, code, documentation) and Survey 4