Ch. 3 : Global Migration Patterns Objective: Identify 3 global migration patterns.
3 CT070 3.5 3 Design Patterns
Transcript of 3 CT070 3.5 3 Design Patterns
-
7/29/2019 3 CT070 3.5 3 Design Patterns
1/6
Asia Pacific University College of Technology and Innovation
Cognitive Science CT011-3.5-3 Page 1 of 6
1. Name of Course/Module: Design PatternsVersion 1.0
2. Course Code: CT0-3.5-3
3. Name(s) of academic staff: Muhammad Ehsan Rana
4. Rationale for the inclusion of the course/module in the programme:
Refer to Programme Specification5. Semester and Year offered: Refer to Programme Specification
6. Total StudentLearning Time(SLT)
Face to Face Total Guided and Independent Learning
L = LectureT = TutorialP = PracticalO= Others
L32
T16
P O92
7. Credit Value: 3.5
8. Prerequisite (if any): None
9.Objectives
The objective of this module is to:
1. Contribute to the achievement of the Learning Outcomes specified for the
students award at Level 3.
2. Enable students to develop their knowledge and skills in relation to Design
Patterns.
3. Develop skills to use design patterns to improve the design of new and existing
software.
4. Develop the ability to critically apply the knowledge they gain in relation to the
study of Design Patterns
5. Learn to apply design patterns appropriately in realistic applications.
-
7/29/2019 3 CT070 3.5 3 Design Patterns
2/6
Asia Pacific University College of Technology and Innovation
Cognitive Science CT011-3.5-3 Page 2 of 6
10. Learning outcomes:
On successful completion of this module, the student should be able to:
1. Explain the structure and operation of a range of different design patterns.(MQF1)
2. Explain different design patterns in terms of the solutions that they offer to aparticular problem in a particular context. (MQF2; MQF6)
3. Make a selection between candidate design patterns based upon a rationalcritical evaluation of the different patterns available for a particularenvironment. (MQF1)
4. Critically evaluate an example implementation of design patterns in aprogramming language. (MQF1; MQF6)
MQF Learning Outcome AreaMQF1 - Innovation, Knowledge and critical thinking skillsMQF2 - Practical skillsMQF3 - Social skills & responsibilitiesMQF4 - Values, attitudes, professionalism and ethicsMQF5 - Communications, leadership and team skills
MQF6 - Problem solving & scientific skillsMQF7 - Research, Information management and lifelong learning
skillsMQF8 - Managerial & entrepreneurial skills
11. Transferable Skills:
The following employability skills are introduced (I), developed (D) and/or assessed(A):
Analytical (D, A),Critical Thinking (D, A),Problem Solving (D, A),Learning (D, A),
Creativity (D),Ingenuity (D),Enquiry (D),Imagination (D, A)
12. Teaching-learning and assessment strategy:
Weekly 2 hour lectures per week cover the theoretical aspects of the module.Weekly 1 hour tutorials provide an opportunity to solve practical exercises, based onthe current week's lecture.
A range of teaching and learning strategies will be employed, including lectures,practical exercises, tutorials and software demonstrations. Videos will also be utilised
as appropriate to the material of the course.13. Synopsis:
This module will introduce the concept of software design patterns, and explore thewide variety of patterns that may be applied to the production, analysis, design,implementation, and maintenance of software. The format of the module willemphasize the discussion of patterns and their application. Each pattern will bediscussed in terms of its motivation, usefulness, and implementation, with an emphasison code examples and illustrations from the standard libraries.
-
7/29/2019 3 CT070 3.5 3 Design Patterns
3/6
Asia Pacific University College of Technology and Innovation
Cognitive Science CT011-3.5-3 Page 3 of 6
14. Mode of Delivery:
Lecture and Tutorial
15. Assessment Methods and Types
An Exam length 3 hours weighted at 100% (LO 1,2,3,4)
16. Mapping of the course/module to the Programme Aims :Refer to the Programme Specification
17. Mapping of the course/module to the Programme Learning Outcomes:Refer to the Programme Specification
18. Content outline of the course/module and the SLT per topic:
Week Topics L T P O Ind
1
Introduction
Overview of the module
General Guidelines & Learning Approach Assessments Briefing
Review of basic OO concepts
2 1 5.5
2
UML Class Diagram & Relationships
Generalization
Realization
Dependency
Association
Aggregation
Composition
UML Sequence Diagram
2 1 6
3
Object Oriented Design Principles
The Single Responsibility Principle
The Open Closed Principle
The Liskov Substitution Principle
The Dependency Inversion Principle
The Interface Segregation Principle
Common Design Issues
Code Smells
Dependency Injection
2 1 5.5
4
An Introduction to Design Patterns A Brief History of Patterns
What is a Design Pattern?
Why Design Patterns?
GoF Design Patterns
Categories of Design Patterns
2 1 6
-
7/29/2019 3 CT070 3.5 3 Design Patterns
4/6
Asia Pacific University College of Technology and Innovation
Cognitive Science CT011-3.5-3 Page 4 of 6
5
Creational Patterns
Factory Method
Description
Java API Usage
Example Implementation
Related Patterns
Singleton
Description
Java API Usage
Example Implementation
Related Patterns
2 1 5.5
6
Creational Patterns
Abstract Factory
Description
Java API Usage
Example Implementation
Related Patterns
Prototype
Description
Java API Usage
Example Implementation
Related Patterns
2 1 6
7
Structural Patterns
Decorator
Description
Java API Usage Example Implementation
Related Patterns
Adaptor
Description
Java API Usage
Example Implementation
Related Patterns
2 1 5.5
8
Structural Patterns
Chain of Responsibility
Description
Java API Usage Example Implementation
Related Patterns
Faade
Description
Java API Usage
Example Implementation
Related Patterns
2 1 6
-
7/29/2019 3 CT070 3.5 3 Design Patterns
5/6
Asia Pacific University College of Technology and Innovation
Cognitive Science CT011-3.5-3 Page 5 of 6
9
Structural Patterns
Proxy
Description
Java API Usage
Example Implementation
Related Patterns
Bridge
Description
Java API Usage
Example Implementation
Related Patterns
2 1 5.5
10
Behavioral Patterns
Command
Description
Java API Usage
Example Implementation
Related Patterns
Mediator
Description
Java API Usage
Example Implementation
Related Patterns
2 1 6
11
Behavioral Patterns
Memento
Description
Java API Usage
Example Implementation
Related PatternsObserver
Description
Java API Usage
Example Implementation
Related Patterns
2 1 5.5
12
Behavioral Patterns
State
Description
Java API Usage
Example Implementation
Related PatternsStrategy
Description
Java API Usage
Example Implementation
Related Patterns
2 1 6
13 Refactoring
Anti-Patterns2 1 5.5
-
7/29/2019 3 CT070 3.5 3 Design Patterns
6/6
Asia Pacific University College of Technology and Innovation
Cognitive Science CT011-3.5-3 Page 6 of 6
14 Discussion on Design Patterns Case Study2 1 6
15 Discussion on Design Patterns Case Study2 1 5.5
16 Module Revision2 1 6
TOTAL 32 16 92
19. Main references supporting the course
Essential Reading1. Gamma, E., Helm, R., Vlissides, J. & Johnson, R., (1994). Design Patterns
Elements of Reusable Object-Oriented Software. Addison-Wesley. ISBN: 0-201-63361-2
2. Steven, J. M., (2002), Design Patterns Java Workbook. Addison-Wesley.ISBN: 0-201-74397-3
3. Larman, C., (2005). Applying UML and Patterns An Introduction to Object-Oriented Analysis and Design. 3rd Ed. Prentice Hall. ISBN: 0-13-148906-2
Further Reading
1. Booch, G., Rumbaugh, J. & Jacobson, I., (1999). The Unified ModellingLanguage User Guide. Addison Wesley. ISBN 0-201-57168-4
2. Deitel, H. & Deitel, P., (2003). Java How to Program. Prentice Hall. ISBN:0-13-120236-7
20. Other additional information:
None