Introduction to Software Engineering
Ideas and techniques for designing, developing, and modifying large software systems. Service-oriented architecture, behavior-driven design with user stories, cloud computing, test-driven development, automated testing, cost and quality metrics for maintainability and effort estimation, practical performance and security in software operations, design patterns and refactoring, specification and documentation, agile project team organization and management.
Topics
- Students will learn the architecture and machinery of software as a service; the agile/XP methodology for software development and how it compares with other methodologies, including "Plan-and-document" methodologies; Students will learn how to work with nontechnical customers and convert customer requirements into a software plan that can be effort-estimated, built, and deployed to the public cloud, including the use of behavior-driven design, user stories, and velocity; Students will learn how to write automated tests and measure test coverage; Students will learn how to identify, measure, and resolve maintainability problems in code; Students will learn how to approach and add functionality to a legacy code base; Students will learn the role of software design patterns in refactoring, and how to identify opportunities to use them; Students will learn practical security and performance considerations for SaaS applications.
Official catalogue course objectives and student learning outcomes
Prerequisites & course information
{'preRequisiteCourse': '1253641', 'concurrentPrerequisit': False}; {'preRequisiteCourse': '1254422', 'concurrentPrerequisit': False}; {'preRequisiteCourse': '1044141', 'concurrentPrerequisit': False}; {'preRequisiteCourse': '1044131', 'concurrentPrerequisit': False}; {'preRequisiteCourse': '1254421', 'concurrentPrerequisit': False}; {'preRequisiteCourse': '1044241', 'concurrentPrerequisit': False}; {'preRequisiteCourse': '1044271', 'concurrentPrerequisit': False}; {'preRequisiteCourse': '1044251', 'concurrentPrerequisit': False}; {'preRequisiteCourse': '1253643', 'concurrentPrerequisit': False}; {'preRequisiteCourse': '1044261', 'concurrentPrerequisit': False}; {'preRequisiteCourse': '1253642', 'concurrentPrerequisit': False}; {'preRequisiteCourse': '1254423', 'concurrentPrerequisit': False}
Sources
- Course catalogue ↗2026-2027