Mar 18, 2026  
2025-2026 Catalog SVC 
    
2025-2026 Catalog SVC

CS 351 - Software Engineering


Credits: 5
Variable Credit Course: No

Lecture Hours: 55
Lab Hours: 0
Worksite/Clinical Hours: 0
Other Hours (LIA/Internships): 0

Course Description: Learn fundamentals of software engineering including analysis of system requirements, software design principles, patterns, evaluation of appropriate engineering compromises, and application of collaborative software development practices and tools.

Prerequisite: Admission to BSCS program and Dept. Chair permission.
Meets FQE Requirement: No
Integrative Experience Requirement: No

Student Learning Outcomes
  1. Model, compare, and contrast different software engineering lifecycle development models and choose an appropriate model for a given situation.
  2. Devise and present an appropriate testing approach for a given project, based upon the needs of the indicated project and development approach.
  3. For a given project, present an implementation or deployment approach for the project solution that meets the need of the project.
  4. Provide an overview of ethical issues that the different software development tasks may involve.  
  5. Compare and contrast design patterns such as SOLID, MVC, MVP, REST.
  6. Create appropriate documentation (e.g., UML, JavaDoc) to communicate design decisions.
  7. Facilitate collaborative problem solving, managing pull requests and conflicts, and version control in a software development ecosystem.

Course Contents
  1. Program and portfolio management (metrics in software engineering).
  2. Software lifecycle development models (Waterfall, Agile).
  3. Software requirements management.
  4. Software design principles and modeling.
  5. Software testing techniques (automated testing and continuous testing).
  6. Formal methods in software development (incident management, source code control).
  7. Ethical issues in software development.
  8. DevOps (continuous integration, containers, deployment).
  9. Software project management.


Instructional Units: 5