CS 5150: Software Engineering
Spring 2018

Lecture Materials

The materials on this page may be updated during the semester to correct errors and add extra detail on some topics. Not all the materials were available at the beginning of the semester.

A. Software development in practice
  1. Introduction to practical software development [video part 1] [video part 2] [PDF]
  2. Steps in the software development process [video] [PDF]
  3. Examples of software development processes [video part 1] [video part 2] [PDF]
B. Beginning a project
  1. Feasibility studies [video part 1] [video part 2] [PDF]
  2. Project management [video part 1] [video part 2] [PDF]
C. Requirements
  1. Requirements analysis [video part 1] [video part 2] [PDF]
  2. Scenarios and use cases [video] [PDF]
  3. Models for requirements analysis and specification [video part 1] [video part 2] [PDF]
D. The user experience
  1. Usability and user interfaces [video part 1] [video part 2] [PDF]
  2. User interfaces for web sites and mobile devices [video part 1] [video part 2] [PDF]
  3. Evaluation and user testing [video] [PDF]
E. System design
  1. System architecture [video] [PDF]
  2. Three popular architectural styles [video part 1] [video part 2] [PDF]
  3. Security [video part 1] [video part 2] [PDF]
  4. Performance [video part 1] [video part 2] [PDF]
F. Program development
  1. Models for program design [video part 1] [video part 2] [PDF]
  2. Program development [video] [PDF]
  3. Reuse and design patterns [video part 1] [video part 2] [PDF]
G. Reliability and testing
  1. Reliability [video part 1] [video part 2] [PDF]
  2. Verification, testing, and bugs [video part 1] [video part 2] [PDF]
  3. Acceptance testing and delivery [video] [PDF]
H. The business of software development
  1. Legal aspects of software development [video part 1] [video part 2] [PDF]
  2. People [video part 1] [video part 2] [PDF]
  3. Presentations [video] [PDF]
  4. Professionalism [video part 1] [video part 2] [PDF]