17 514
Principles of Software Construction
Carnegie Mellon University · UGRD · Fall 2026
Catalog description
Software engineers today increasingly collaborate with AI tools and leverage existing libraries and frameworks to build complex software. This course engages students with modern practices in software construction, emphasizing design, implementation, and quality assurance. Students will develop medium-sized systems in Java and TypeScript, using AI-assisted development tools while applying rigorous debugging, testing, and evaluation practices. The course covers (1) system design for complex systems, (2) object-oriented principles, (3) testing and quality assurance, and (4) concurrency and asynchrony. By the end of the semester, students will have designed and implemented a medium-sized software system using contemporary development tools and systematic approaches to functional correctness and software quality attributes. WAITLIST PROCESSING: Students with a SE minor are considered first, followed by grade and waitlist order. Prerequisites: 15-122 Min. grade C or 15-121 Min. grade C Course Website: https://cmu-17-214.github.io/s2026/
Sections
Current meeting, instructor, credit, and enrollment details
001
Availability not recently verified- Days & times
- No scheduled meeting time
- Meeting dates
- —
- Location
- —
- Instructor
- Staff