|Undergraduate Course Details|
|Title||Software Engineering II|
|Prerequisites||CSC300; CSC263 recommended|
This course is an extension of CSC300 and focuses on the implementation of the software principles covered therein. This course explores state-of-practice and cutting-edge techniques and tools related to the design, implementation, and maintenance of software systems. Topics include: design patterns, Model Driven Architecture (MDA), test-driven development, agile development, extreme programming (XP), and aspect-oriented design. An ongoing group project will be used to gain practical experience with current software engineering practices and a variety of IDEs and CASE tools. Three lecture hours per week and three hours of scheduled laboratory per week, plus programming work outside of class.