
Software Architecture and Principles
At the heart of every well-engineered software system is its software architecture. Students learn how to craft software architectures that deals with the high-level building blocks that represent an underlying software system. These building blocks are the components (units of computation in a system), the connectors (models of the interactions between software components), and the configurations (arrangements of software components and connectors).