Curriculum
/ Descriptions
MLDS 490: Software Engineering
VIEW ALL COURSE TIMES AND SESSIONSDescription
By the end of the course, students will...
- Decompose a large project into manageable work using epics, user stories, and acceptance criteria
-
Use version control collaboratively: branching strategies, code review workflows, and merge policies as team coordination tools
-
Assess software quality beyond correctness — maintainability, testing strategies, CI/CD pipelines, and documentation as organizational assets
-
Understand software ownership across its lifecycle — who maintains it, how handoffs work, what happens post-launch (monitoring, incident response, SLAs)
-
Navigate cross-functional collaboration — working with product, QA, design, ops, and understanding their concerns
-
Apply development methodologies (Agile, Scrum, Kanban, Waterfall) and be able to articulate when each is appropriate
-
Efficiently use code assistants in/for large software projects
- Use agents for increased productivity throughout the entire software development pipeline.