Prerequisite: CPSC 362, declared major/minor in CPSC, CPEN, or CPEI. Basic principles and practices of software design and architecture. High-level design, software architecture, documenting software architecture, software and architecture evaluation, software product lines and some considerations beyond software architecture.