CSSE374 - Software Architecture & Design
Class Description[edit | edit source]
CSSE 374 will teach students how to create and use design patterns, mainly in UML, to design a flexible, maintainable, and functional system. The class contains 2 exams and a final project, with an optional final exam. Homework is completed on a weekly basis and consists of creating a internal system design in UML based on various use cases and system descriptions; the amount of information varies. In addition, every week there is a Concept Check, excluding the first week, exam weeks, and project weeks; for a total of 6. Concept checks must all be passed to pass the class, there are unlimited re-tries for each one. There is a final project in which students must design and implement some 3rd party library into a given prompt for a system. There is required reading that is quizzed on each day there is a class.
Reading | Required |
Homework | Weekly |
Exams | 2 |
Final Exam | Optional |
Final Project | Yes |
Flipped Classroom | No |
Advice for Students Taking CSSE 374[edit | edit source]
Final Project[edit | edit source]
The project lasts from 8th week to the end of 10th week. As of Winter 2023-2024, students are required to integrate a 3rd party ASM library into a student developed system that takes in Java Class files and checks them against design patterns and design principles. Students are required to create a UML design and then develop and optimize the system using the patterns learned in the class.
Students are required to achieve a C on the project to pass the class.
Testing[edit | edit source]
Students are required to earn an average of a C on both exams. The optional final exam can help improve average scores, in some cases professors have allowed students to completely replace their Exam 2 with the final exam; not entirely sure if guaranteed.