Course Introduction:

A design pattern provides a general reusable solution for the common problems occurs in software design. The patterns typically show relationships and interactions between classes or objects. The idea is to speed up the development process by providing well tested, proven development/design paradigm.

Course Prerequiste: CMP-3310 (Software Engineering)  

Credit Hours: 3(3+0)

Course Learning Outcomes:

  • To this end, students will learn and gain hands-on experience in designing software systems by reusing/applying design patterns.
  • Design patterns are successful solutions to recurring problems that arise when building software systems.
  • Reusing design patterns helps to prevent subtle issues that can cause major problems and improves code readability for the developers familiar with the patterns.
  • In addition to mastering these good design abstractions, the students will also learn how to evaluate a design, identify common problems, and how to fix these problems through refactoring.

Textbooks:

  1. Design Patterns: Elements of Reusable Object-Oriented Software, E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Addison -Wesley Professional.
  2. Java Design Pattern Essentials by Tony Bevis, Ability First Limited; 2nd Edition (October 11, 2012). ISBN-10: 0956575846

Assessment Criteria:

Sessional Marks: 20 Marks

  •  Quiz 1:                 05 marks
  •  Assignment 1:      05 marks
  • Project & Presentation:  10 marks

Mid Semester Exam: 30 Marks

Final Semester Exam: 50 Marks

Time Table:

Ex PPP BSSE 8th (Wednesday: 12:30-2:00pm) (Thursday: 12:30-2:00pm)

Course Material