Course Code & Number
CMPE 318
Course Title
Software Design Patterns
Credit Hours/ ECTS Credits
(3+0+0) 3 TEDU Credits, 5 ECTS Credits
Mode of Delivery:
Face-to-face
Language of Instruction:
English
Pre-requisite / Co-requisite:
Pre-requisites: CMPE 211 OR CMPE 114
Co-requisites: NONE
Catalog Description
Definition of design pattern. Need for using design patterns. Classification of design patterns (creational, structural, behavioral). Reuse of patterns. Case studies and sample applications.
Course Objectives
The objective of this course is to provide and understanding of the necessity of using design patterns in software development, their advantages and differences, and when to use one. The course will introduce real life examples of how design patterns are used and explain the benefits of using design patterns in real life scenarios.
Course Learning Outcomes
Upon succesful completion of this course, a student will be able to
1. Identify different design patterns
2. Choose the correct pattern to apply on different scenarios
3. Use design patterns to implement software projects
4. Identify when and how to reuse code
5. Analyze the benefits of using a design pattern for implementing a software project
Learning Activities and Teaching Methods:
Telling/Explaining
Discussion/Debate
Questioning
Reading
Problem Solving
Assessment Methods and Criteria:
Test / Exam
Quiz
Assessment Methods and Criteria Others:
Required Reading
1. Design Patterns: Elements of Reusable Object-Oriented Software
2. Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
Grading
Mid-terms - 30%
Quizzes and Homeworks - 30%
Final - 40%
Learning Activities and Teaching Methods Others:
Course & Program Learning Outcome Matching: