Sep 19, 2025  
2025-2026 Undergraduate Catalog 
    
2025-2026 Undergraduate Catalog

CS 36000 - Software Engineering



The course presents the common forms of the software life cycle, which are used throughout the commercial, industrial, institutional, and even governmental communities when a single development effort is appropriate. We will discuss the nature of software and software projects, software development models, software design, software process maturity, project planning, management, and communication. We will study methods for analysis, design, testing, and implementation of various software systems.  

Preparation for Course
P: CS 26000.

Cr. 3.
Student Learning Outcomes
1.  Learn the concepts of software processes and software SDLC models. [3,4,5]
2.  Learn the fundamental process activities of software requirements engineering, development, testing, and evolution. [2,6]
3.  Learn the agile development practices such as user stories, refactoring, pair programming, and test-first development. [6]
4.  Learn and apply UML models: use cases, class and interaction models. [2] Identify and understand various software tools for analysis, design, development and testing. [3,5]
5.  Learn the principal tasks of software project planning and management. [3]