CS 5150: Software Engineering
Spring 2018

Weekly Schedule

Week 1 (January 24 to 27)

Course materials 
1. Introduction to practical software development
Classes 
Thursday 1/25 Software development in practice I

Week 2 (January 28 to February 3)

Course materials 
2. Steps in the software development process
3. Examples of software processes
Classes 
Tuesday 1/30 Software development in practice II
Thursday 2/1 Software development in practice III

Week 3 (February 4 to 10)

Course materials 
4. Feasibility studies
5. Project management
22. Legal aspects of software development
Information about the tests
Information about the assignments
Classes 
Tuesday 2/6 Feasibility studies and project management
Thursday 2/8 Legal aspects of software development

Week 4 (February 11 to 17)

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

Week 5 (February 18 to 24)

Classes 
Tuesday 2/20 [February break]
Thursday 2/22 Test 1 (during class)
Assignments and tests 
Thursday 2/22 Test 1 (during class)

Week 6 (February 25 to March 3)

Course materials 
9. Usability and user interfaces
10. User interfaces for web sites and mobile devices
11. Evaluation and user testing
Classes 
Tuesday, 2/27 Discussion of Test 1. The user experience I
Thursday 3/1 The user experience II

Week 7 (March 4 to 10)

Course materials 
12. System architecture
13. Three popular architectural styles
24. Presentations
Classes 
Tuesday 3/6 System design I
Thursday 3/8 [no class]

Week 8 (March 11 to 17)

Course materials 
14. Security
15. Performance
Classes 
Tuesday 3/13 System design II
Thursday 3/15 [no class]
Assignments and tests 
Wednesday 3/14 to Friday 3/16 Assignment 2: Presentation
Friday 3/16 (at 11 p.m.) Assignment 2: Report 2 and Survey 2

Week 9 (March 18 to 24)

Course materials 
16. Models for program design
17. Program development
18. Reuse and design patterns
Classes 
Tuesday 3/20 Program development
Thursday 3/22 [no class]

Week 10 (March 25 to 31)

Classes 
Tuesday 3/27 Test 2 (during class)
Thursday 3/29 [no class]
Assignments and tests 
Tuesday 3/27 Test 2 (during class)

Week 11 (April 1 to 7)

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

Week 12 (April 8 to 14)

Course materials 
19. Reliability
20. Verification, testing, and bugs
Classes 
Tuesday 4/10 Reliability and testing
Thursday 4/12 [no class]
Assignments and tests 
Wednesday 4/11 to Friday 4/13 Assignment 3: Presentation
Friday 4/13 (at 11 p.m.) Assignment 3: Report 3 and Survey 3

Week 13 (April 15 to 21)

Course materials 
21. Acceptance testing and delivery
23. People
Classes 
Tuesday 4/17 People
Thursday 4/19 [no class]

Week 14 (April 22 to 28)

Course materials 
25. Professionalism
Classes 
Tuesday 4/24 Professionalism
Thursday 4/26 [no class]

Week 15 (April 29 to May 5)

Classes 
Tuesday 5/1 Test 3 (during class)
Thursday 5/3 [no class]
Assignments and tests 
Tuesday 5/1 Test 3 (during class)

Week 16 (May 6 to the end of semester)

Classes 
Tuesday 5/8 [no class, no office hours]
Assignments and tests 
Monday 5/7 to Wednesday 5/9 Assignment 4. Presentation and demonstration
Thursday 5/17 (at 11 p.m.) Assignment 4. Final delivery (report, code, documentation) and Survey 4