Course CSE416
Title Software Engineering
Course Coordinator Scott Stoller

Introduces the basic concepts and modern tools and techniques of software engineering. Emphasizes the development of reliable and maintainable software via system requirements and specifications, software design methodologies including object-oriented design, implementation, integration, and testing; software project management; life-cycle documentation; software maintenance; and consideration of human factor issues.

Bulletin Link

Prerequisite Prerequisites: C or higher in CSE 316; U4 standing; CSE major.

Partially fulfills: ESI, EXP+, SBS+, STEM+
Course Outcomes
  • An ability to perform project planning, requirements analysis, and system/test design.
  • An ability to work effectively as a member of a software development team.
  • An ability to produce software systems that meet specifications while satisfying an implementation schedule.
  • An ability to produce professional quality oral/written presentations of system designs, reviews, and project demonstrations.
Major Topics Covered in Course
  • Approaches to software engineering
  • The UML (Universal Modeling Language)
  • Requirements Analysis and Use Case Modeling
  • Object Modeling and/or Functional Modeling
  • Dynamic Modeling using appropriate diagrammatic approaches
  • Specification Documents
  • Design Documents
  • Testing -- Black Box, Glass Box, Test Plan Documents
  • Project Planning
  • Software Engineering tools
  • Oral and Written Communication
Course Webpage