Apr 20, 2024  
2015-2016 Undergraduate Academic Catalog 
    
2015-2016 Undergraduate Academic Catalog [ARCHIVED CATALOG]

Add to Portfolio (opens a new window)

SE 2811 - Software Component Design

3 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
  • 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

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.

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)
  • Design Patterns Summary (1 class)
  • Exam and review (2 classes)
  • Catch-up (2 classes)

Laboratory Topics
  • Investigation of multi-threaded data collections (1 session)
  • Application of specific design patterns (8 sessions)
  • Development and presentation of application to demonstrate the use of a researched design pattern (1 session)

Coordinator
Mark Hornick



Add to Portfolio (opens a new window)