You are on page 1of 4

ALLAMA IQBAL OPEN UNIVERSITY, ISLAMABAD

(Department of Computer Science)


WARNING
1. PLAGIARISM OR HIRING OF GHOST WRITER(S) FOR SOLVING
THE ASSIGNMENT(S) WILL DEBAR THE STUDENT FROM AWARD
OF DEGREE/CERTIFICATE, IF FOUND AT ANY STAGE.
2. SUBMITTING ASSIGNMENT(S) BORROWED OR STOLEN FROM
OTHER(S) AS ONE’S OWN WILL BE PENALIZED AS DEFINED IN
“AIOU PLAGIARISM POLICY”.
Course: Design Patterns (3481) Semester: Spring, 2020
Level: Bachelors Total Marks: 100
Pass Marks: 50
ASSIGNMENT No.1
(Unit 1 – 4)

Note: All questions carry equal marks.


Q. 1 How Design Patterns solve Design Problems. Explain this concept in detail which
the help of proper examples. (20)

Q. 2 There are two methods for propagating data to observers with the observer design
pattern: the push model and the pull model. Why would one model be preferable
over the other? What are the trade-offs of each model? (20)

Q. 3 Differentiate the following terms:


a) Abstract Factory and Factory Method (10)
b) Prototype and Singleton (10)

Q. 4 The Façade pattern and the Adapter pattern may seem similar. What is the essential
difference between the two? There are two mention different ways to understand
objects: “data with methods” and “things with responsibilities.”
a) In what ways is the second approach superior to the first? (10)
b) What additional insights does it provide? (10)
Q. 5 Write short notes on the following terms:
a) Prototype (10)
b) Decorator (10)

1
ASSIGNMENT No. 2
(Unit 5 – 8)

Note: All questions carry equal marks.


Q. 1 What are the three fundamental principles proposed by the Gang of Four that
guides how to anticipate change? What are the basic elements of a sequence
diagram? (20)

Q. 2 What is Alexander’s view of how to use patterns? Does he advocate starting with
the solution first or the problem to be solved first? Why this pattern is called
“Abstract Factory”? (20)

Q. 3 Differentiate the following terms:


a) Interpreter and Iterator (10)
b) Hyphenation and Summary (10)

Q. 4 What are design problems? Discuss the multiple look and feel standards. (20)
Q. 5 Write short notes on the following terms:
a) Memento (10)
b) A Parting Thought (10)

Design Patterns (3481)


Course Code: 3481
Course Title: Design Patterns
Credit Hours: 3(3+0), 3 hours lecture per week
Session Offered: As per offering schedule
Recommended Book: Design Patterns Elements of Reusable Object-Oriented
Software by Erich Gamma, Richard Helm, Ralph
Johnson and John Vissides
A/V/Multimedia Content: As defined by the instructor/MOOCs links
Reference Book: 1. Design Pattern Explained: A New Perspective on
Object-Oriented Design (Software Patterns Series)
by Alan Shalloway and James Trott, 2nd Edition
(2004)
2. Patterns in Design, Art and Architecture: Birkhauser
by Petra Schmidt (2006)
Pre-Requisite: N/A
Course Coordinator: Ch. Muhammad Shahbaz Anjum
Teaching Methodology: Face-to-Face/Online/Blended

2
Computer Usage: Student is desired to used Internet for self-learning in
this course
Course Introduction:
Design Patterns form an advanced area in software design and architecture. Design
patterns focus on solutions to problems commonly found in design of object oriented
programs. This course discusses the fundamentals of the core patterns: creational,
behavioral, structural and system patterns.

Course Objectives:
At the end of the course the students are expected to be able to:
1. Illustrate what is pattern and how patterns are design using various techniques.
2. Demonstrate the understanding of Design Patterns in Software development
domain.
3. Learn how to select a design pattern appropriate for a particular design problem.

Evaluation Criteria:
i. Assignments and/or quizzes as per instructor’s choice 10%
ii. Midterm Theory/practical/presentation/mini projects as per
instructor’s choice 20%
iii. Final Examination 70%

Course Outlines:
Unit–1: Introduction
Introduction, Describing Design Patterns, The Catalog of Design Patterns,
Organizing the Catalog, How Design Patterns Solve Design Problems,
Selecting a Design Pattern, Use of Design Pattern

Unit–2: Creational Patterns–I


Abstract Factory, Builder, Factory Method

Unit–3: Creational Patterns–II


Prototype, singleton, Discussion of Creational Patterns

Unit–4: Structural Pattern–I


Adapter, Bridge, Composite, Decorator, Façade

Unit–5: Structural Pattern–II


Flyweight, Proxy, Discussion of Structural Patterns

Unit–6: Behavioral Patterns–I


Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento,
Observer, State, Strategy

3
Unit–7: Behavioral Patterns–II
Template Method, Visitor, Discussion of Behavioral Patterns
What to Expect from Design Patterns, A Brief History, The Pattern Community,
An Invitation, A Parting Thought

Unit–8: A Case Study: Designing a Document Editor–I


Design Problems, Document Structure, Formatting, Embellishing the User
Interface, Supporting Multiple Look-and-Feel Standards

Unit–9: A Case Study: Designing a Document Editor–II


Supporting Multiple Window Systems, User Operations, Spelling Checking,
Hyphenation, Summary

Activities/Practical:
1. Explore Software Design patterns techniques? How design of software can be
improved using various techniques?
2. Select a case study and apply techniques of Design Patterns.

Note: The instructor may assign additional activities.

Last Revised: June 2015

You might also like