Skagit Valley College

Catalog Course Search Details

New Course: this course was added after the last catalog

 Course Title:   Software Engineering

 Title Abbreviation:   SOFTWARE ENGINEERING

 Department:    CS

 Course #:    351

 Credits:    5

 Variable:     No

 IUs:    5

 CIP:    11.0701

 EPC:    CSACSBS

 REV:    2024


 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  

Prerequisite: CS Department Chair permission.

Additional Course Details

Contact Hours (based on 11 week quarter)

Lecture: 55

Lab: 0

Other: 0

Systems: 0

Clinical: 0


Intent: Distribution Requirement(s) Status:  

Academic N/A  

Equivalencies At Other Institutions

Other Institution Equivalencies Table
Institution Course # Remarks
N/A

Learning Outcomes

After completing this course, the student will be able to:

  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.

General Education Learning Values & Outcomes

Revised August 2008 and affects outlines for 2008 year 1 and later.

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.