Sei sulla pagina 1di 6

Asia Pacific University College of Technology and Innovation

1. 2. 3. 4. 5. 6.

Name of Course/Module: Design Patterns Version 1.0 Course Code: CT0-3.5-3 Name(s) of academic staff: Muhammad Ehsan Rana Rationale for the inclusion of the course/module in the programme: Refer to Programme Specification Semester and Year offered: Refer to Programme Specification Total Student Face to Face Total Guided and Independent Learning Learning Time (SLT) L = Lecture L T P O T = Tutorial 32 16 92 P = Practical O= Others Credit Value: 3.5 Prerequisite (if any): None 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. 8. 9.

Cognitive Science CT011-3.5-3

Page 1 of 6

Asia Pacific University College of Technology and Innovation

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 a particular problem in a particular context. (MQF2; MQF6) 3. Make a selection between candidate design patterns based upon a rational critical evaluation of the different patterns available for a particular environment. (MQF1) 4. Critically evaluate an example implementation of design patterns in a programming language. (MQF1; MQF6) MQF Learning Outcome Area MQF1 - Innovation, Knowledge and critical thinking skills MQF2 - Practical skills MQF3 - Social skills & responsibilities MQF4 - Values, attitudes, professionalism and ethics MQF5 - Communications, leadership and team skills MQF6 - Problem solving & scientific skills MQF7 - Research, Information management and lifelong learning skills MQF8 - 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 on the 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. Synopsis: This module will introduce the concept of software design patterns, and explore the wide variety of patterns that may be applied to the production, analysis, design, implementation, and maintenance of software. The format of the module will emphasize the discussion of patterns and their application. Each pattern will be discussed in terms of its motivation, usefulness, and implementation, with an emphasis on code examples and illustrations from the standard libraries.

13.

Cognitive Science CT011-3.5-3

Page 2 of 6

Asia Pacific University College of Technology and Innovation

14.

Mode of Delivery: Lecture and Tutorial Assessment Methods and Types An Exam length 3 hours weighted at 100% (LO 1,2,3,4)

15.

16. 17. 18.

Mapping of the course/module to the Programme Aims : Refer to the Programme Specification Mapping of the course/module to the Programme Learning Outcomes: Refer to the Programme Specification Content outline of the course/module and the SLT per topic: Week Topics L T P O Ind

Introduction Overview of the module General Guidelines & Learning Approach Assessments Briefing Review of basic OO concepts UML Class Diagram & Relationships Generalization Realization Dependency Association Aggregation Composition UML Sequence Diagram 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 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

5.5

5.5

Cognitive Science CT011-3.5-3

Page 3 of 6

Asia Pacific University College of Technology and Innovation

Creational Patterns Factory Method Description Java API Usage Example Implementation Related Patterns Singleton Description Java API Usage Example Implementation Related Patterns

5.5

Creational Patterns Abstract Factory Description Java API Usage Example Implementation Related Patterns Prototype Description Java API Usage Example Implementation Related Patterns Structural Patterns Decorator Description Java API Usage Example Implementation Related Patterns Adaptor Description Java API Usage Example Implementation Related Patterns Structural Patterns Chain of Responsibility Description Java API Usage Example Implementation Related Patterns Faade Description Java API Usage Example Implementation Related Patterns

5.5

Cognitive Science CT011-3.5-3

Page 4 of 6

Asia Pacific University College of Technology and Innovation

Structural Patterns Proxy Description Java API Usage Example Implementation Related Patterns Bridge Description Java API Usage Example Implementation Related Patterns Behavioral Patterns Command Description Java API Usage Example Implementation Related Patterns Mediator Description Java API Usage Example Implementation Related Patterns Behavioral Patterns Memento Description Java API Usage Example Implementation Related Patterns Observer Description Java API Usage Example Implementation Related Patterns Behavioral Patterns State Description Java API Usage Example Implementation Related Patterns Strategy Description Java API Usage Example Implementation Related Patterns Refactoring Anti-Patterns

5.5

10

11

5.5

12

13

5.5

Cognitive Science CT011-3.5-3

Page 5 of 6

Asia Pacific University College of Technology and Innovation

14 15 16

Discussion on Design Patterns Case Study Discussion on Design Patterns Case Study Module Revision
TOTAL

2 2 2 32

1 1 1 16

6 5.5 6 92

19.

Main references supporting the course Essential Reading 1. Gamma, E., Helm, R., Vlissides, J. & Johnson, R., (1994). Design Patterns Elements of Reusable Object-Oriented Software. Addison-Wesley. ISBN: 0201-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 ObjectOriented Analysis and Design. 3rd Ed. Prentice Hall. ISBN: 0-13-148906-2 Further Reading 1. Booch, G., Rumbaugh, J. & Jacobson, I., (1999). The Unified Modelling Language User Guide. Addison Wesley. ISBN 0-201-57168-4 2. Deitel, H. & Deitel, P., (2003). Java How to Program. Prentice Hall. ISBN:0-13120236-7

20.

Other additional information: None

Cognitive Science CT011-3.5-3

Page 6 of 6

Potrebbero piacerti anche