Syllabus
Unit I
Introduction to Design Patterns: Significance – Software Design and patterns – Model – View – Controller. Describing Design Patterns, The Catalogue of Design Patterns, Organizing The Cato log, How Design Patterns solve Design Problems, How to Select a Design pattern, How to Use a Design Pattern.
Unit II
Observer Pattern – Decorator Pattern – Factory Pattern – Singleton Pattern – Command Pattern – Adapter and Facade Patterns – Template Method Pattern – Iterator and Composite Patterns – The State Pattern – The Proxy Pattern – Compound Patterns.
Unit III
GRASP Patterns and Anti-patterns, Overview of concurrency patterns. Case Study: Use of patterns in the Design of a Modern Web Framework, Design patterns in agile and iterative development
Objectives and Outcomes
Course Objectives
- Demonstration of patterns related to object oriented design.
- Describe the design patterns that are common in software applications.
- Analyze a software development problem and express it.
- Implement a module so that it executes efficiently and correctly.
Course Outcomes
CO1: Understand the common software design problems seen in the development process.
CO2: Demonstrate the use of various design patterns to tackle these common problems.
CO3: Identify the most suitable design pattern to address a given software design problem.
CO4: Analyze existing code for anti-patterns and refactor the code.
CO5: Apply best practices of design principles for software design and development.
CO-PO Mapping
PO/PSO
|
PO1
|
PO2
|
PO3
|
PO4
|
PO5
|
PO6
|
PO7
|
PO8
|
PO9
|
PO10
|
PO11
|
PO12
|
PSO1
|
PSO2
|
CO
|
CO1
|
3
|
2
|
2
|
2
|
1
|
–
|
–
|
–
|
–
|
–
|
–
|
–
|
3
|
2
|
CO2
|
3
|
2
|
2
|
2
|
1
|
–
|
–
|
–
|
–
|
–
|
–
|
–
|
3
|
2
|
CO3
|
3
|
2
|
2
|
2
|
1
|
–
|
–
|
–
|
–
|
3
|
–
|
–
|
3
|
2
|
CO4
|
2
|
2
|
2
|
2
|
1
|
–
|
–
|
–
|
–
|
3
|
–
|
–
|
3
|
2
|
CO5
|
2
|
2
|
2
|
2
|
1
|
–
|
–
|
–
|
–
|
3
|
–
|
–
|
3
|
2
|
Evaluation Pattern
Evaluation Pattern: 70:30
Assessment
|
Internal
|
End Semester
|
MidTerm Exam
|
20
|
|
Continuous Assessment – Theory (*CAT)
|
10
|
|
Continuous Assessment – Lab (*CAL)
|
40
|
|
**End Semester
|
|
30 (50 Marks; 2 hours exam)
|
*CAT – Can be Quizzes, Assignments, and Reports
*CAL – Can be Lab Assessments, Project, and Report
**End Semester can be theory examination/ lab-based examination/ project presentation
Text Books / References
Textbook(s)
Erich Gamma, Richard Helm, Ralph Johnson and John M. Vlissides, “Design Patterns: Elements of Reusable Object Oriented Software”, Second Edition, Addison Wesley, 2000
Reference(s)
James W. Cooper, “Java Design Patterns: A Tutorial”, Second Edition, Pearson Education, 2003.
Erich Freeman, Elisabeth Robson, Bert Bates and Kathy Sierra “Headfirst Design Patterns”, O’Reilly Media Inc., October 2004.
Mark Grand, “Patterns in Java – A Catalog of Reusable Patterns Illustrated with UML”, Wiley – Dream tech India, 2002.