Skip to content

Course Syllabus

CS 2450 Introduction to Software Engineering

  • Division: Natural Science and Math
  • Department: Computer Science & Engineering
  • Credit/Time Requirement: Credit: 3; Lecture: 3; Lab: 0
  • Prerequisites: CS 2420 (may be taken at the same time)
  • Semesters Offered: Fall, Spring
  • Semester Approved: Spring 2020
  • Five-Year Review Semester: Summer 2025
  • End Semester: Fall 2025
  • Optimum Class Size: 20
  • Maximum Class Size: 24

Course Description

Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software. This course teaches: how to specify and manage requirements through the use of user stories and use cases; the development of software iteratively and incrementally; unit testing of software; project planning; documentation of work products using Unified Modeling Language (UML) to construct class or sequence diagrams; risk management through the development of a risk list and mitigation strategies; and how to work as a member of a software development team. Students will complete a team-based project that provides the opportunity to practice engineering knowledge, skills, and practices.

Justification

Understanding the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software is essential for anyone to successfully contribute to a software development team. This course is part of the recommended curriculum for computer science majors at Snow College and is part of the required curriculum for software engineering majors at Snow College. This course is articulated across USHE as CS 2450.

Student Learning Outcomes

  1. Understand software engineering principles
  2. Specify and manage software project requirements.
  3. Perform basic software project management.
  4. Understand the impact of alternative software development practices like extreme programming (XP) and Agile.
  5. Perform unit testing of software.
  6. Create work product documentation.
  7. Perform project risk management.
  8. Work as an effective member of a software development team.

Course Content

Software life cycle models; Software project management; Team development environments and methodologies; Requirements engineering; Software design and architectures; Quality assurance and standards; Legal and ethical issues; Working as an effective member of a software development team