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 teams of students to implement components and to integrate them into complete systems.
Prerequisites
Materials
Required:- Head First Design Patterns Freeman and Freeman, O'Reilly, 2004
- Notebook computer required
Program Outcomes Containing SE 2811
Course Learning Outcomes
Upon successful completion of this course, the student will:
- 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
- use computer-aided software engineering (CASE) tools in the design and software documentation process
- conduct independent research on software design patterns
- document software design patterns in both written and oral reports
Course Topics
- Introduction to course and design patterns (1 class)
- Threading and thread synchronization (2 classes)
- Inter-thread and inter-process communication using shared memory, pipes, and sockets (2 classes)
- Design patterns (18 classes)
- Pattern application issues (2 classes)
- Anti-patterns (1 class)
- Exam and review (2 classes)
- Guest lecture, catch-up (2 classes)
Prerequisites by topic
- Proficiency in object-oriented design and programming.
- Knowledge of data structures and proficiency in their application.
- Familiarity with inheritance and polymorphism.
- Proficiency in the use of an individual software process.
Laboratory topics
- Investigation of multi-threaded data collections (1 session)
- Application of specific design patterns (8 sessions)
- Development of application to demonstrate the use of a chosen design pattern (1 session)
- Demonstration of example application (1 session)
Course topics by day
ACCE content
| General Education |
Math & Science |
Business & Mgmt. |
Construction | Construction Science |
| 0 | 0 | 0 | 0 | 0 |
ABET/EAC content
| Engineering topics |
Design |
General education |
Math/Science | Other |
| 4 | 100% |
0 | 0 | 0 |
ABET/TAC content
| Communications |
Math & Science |
HU/SS |
Tech Content | Other |
| 0 | 0 | 0 | 0 | 0 |
Coordinator
Mark Hornick, Assistant Professor
Last review
Mark Hornick, Assistant Professor
on May 27, 2009
Last update
Mark Hornick, Assistant Professor
on May 27, 2009