3 CT070 3.5 3 Design Patterns

download 3 CT070 3.5 3 Design Patterns

of 6

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