18 652

Foundations of Software Engineering

Carnegie Mellon University · UGRD · Fall 2026

1 section
Add to a schedule

Catalog description

In this course, you will learn about software engineering paradigms that have shaped the software industry over the past few decades. You will be exposed to fundamental disciplines of software engineering as well as engineering practices that crosscut system, project, and user perspectives. You will learn to iteratively define requirements, and architect, design, implement, integrate, test, and deploy a solution. You will work on self-organizing teams and manage the work collaboratively. You will also learn to solve a real problem subject to multiple constraints while keeping the stakeholders involved throughout the lifecycle and balancing the underlying engineering tradeoffs. The topics are applied in the context of a semester-long group project. Please note that this course is intended for ECE master students with a concentration in Software Engineering and will satisfy the "Software Engineering and Design" course area requirement. Students should be familiar with basic software development experience with proficiency in at least one modern programming language and modern programming concepts. As part of admission, students must successfully complete a programming assignment to demonstrate familiarity with required software technologies. Prerequisites: 18-351 Min. grade C or 18-651 Min. grade C

Sections

Current meeting, instructor, credit, and enrollment details

Updated 6 hours ago

001

Availability not recently verified
Class #carnegie_mellon-18652Fall 2026UGRD12 credits
Days & times
No scheduled meeting time
Meeting dates
Location
Instructor
Staff
Class numbers and section codes come from the registrar.
Spot missing or incorrect course data?