|
Nov 22, 2024
|
|
|
|
SE 2811 - Software Component Design3 lecture hours 2 lab hours 4 credits Course Description This course deals with the design and implementation of software subsystems. The concept of design patterns is introduced and common patterns are applied to the development of software components. Laboratory projects provide an opportunity for students to implement components and to integrate them into complete systems. As a final assignment, small teams of students conduct research on software design patterns and present & demonstrate the results of their investigations to the class. (prereq: SE 2030 , CS 2852 ) Course Learning Outcomes Upon successful completion of this course, the student will be able to:
- Apply object-oriented design patterns in software application-specific contexts
- Determine the appropriate design pattern to apply in a specific context
- Design and implement small software components and systems
- Apply UML class and sequence diagrams in the process of designing and documenting software applications
- Conduct independent research on software design patterns
Prerequisites by Topic
- Proficiency in object-oriented programming
- Knowledge of data structures and proficiency in their application
- Familiarity with inheritance and polymorphism
- Knowledge of UML diagram notation
- Experience with source code repository tools
- Experience with developing software in teams
Course Topics
- Principles of object-oriented software design
- Using design patterns to develop maintainable software systems
- Advantages and disadvantages of applying design patterns
- Threading and thread synchronization
Laboratory Topics
- Application of specific design patterns (7 sessions)
- Investigation of multi-threaded data collections (1 session)
- Development and presentation of application to demonstrate the use of a researched design pattern (2 sessions)
Coordinator Robert Hasker
Add to Portfolio (opens a new window)
|
|