everything.study
17-514

Principles of Software Construction: Objects, Design, and Concurrency

12 units · Undergraduate

Fall and Spring: 12 units Software engineers today are less likely to design data structures and algorithms from scratch and more likely to build systems from library and framework components. In this course, students engage with concepts related to the construction of software systems at scale, building on their understanding of the basic building blocks of data structures, algorithms, and program and computer structures. The course covers technical topics in four areas: (1) concepts of design for complex systems, (2) object-oriented programming, (3) static and dynamic analysis for programs, and (4) concurrency. At the conclusion of this course, students will have substantial experience building medium-sized software systems in Java. WAITLIST PROCESSING: Students with an SE minor will be considered first, followed by grade, and order you are on the waitlist. Prerequisites: 15-122 Min. grade C or 15-121 Min. grade C Course Website: https://cmu-17-214.github.io/s2026/

Sources