Course Code: CSE 463
Course Name: Software Engineering Design Pattern
Prerequisite: 327
Total Credit: 4.4
Theory Credit: 3
Lab Credit: 1.5
Credit Hours:
Basic SentenceS tructure:
Course Outline:
Bangladesh University of Business and Technology (BUBT) Faculty of Engineering& Applied Sciences (FEAS) Department of Computer Science and Engineering (CSE) THEORY COURSE OUTLINE |
|||||||||
1 |
Program |
B.Sc. Engg. in CSE |
|||||||
2 |
Course Code |
CSE 463 |
|||||||
3 |
Course Title |
Software Design Pattern |
|||||||
4 |
Course Type |
Selective Course |
|||||||
5 |
Academic Session |
Summer 2021 |
|||||||
6 |
Credit Hour |
3.0 |
|||||||
7 |
Intake |
30(Eve) |
|||||||
8 |
Section |
1 |
|||||||
9 |
Pre-requisites |
CSE 327 |
|||||||
10 |
Campus |
Permanent Campus |
|||||||
11 |
Course Teacher |
||||||||
Name: Dr.Abdullah-Al-Musa |
Designation: Lecturer |
||||||||
Specialization: Cyber Security , IT Risk Management |
|||||||||
Room No. B2/321 |
Email: dr.almus@bubt.edu.bd |
||||||||
12 |
Class Schedule |
||||||||
13 |
Counselling Schedule |
||||||||
Class Day |
Class Hours |
Class Room |
|||||||
Sunday |
11:30 AM – 12.30 PM |
314(B-1) |
|||||||
Monday |
03:00 PM – 04.00 PM |
314(B-1) |
|||||||
14 |
Course Objectives |
This course introduces the idea of design patterns in object-oriented concept, the intent behind them and the applicability of them. The course also addresses the idea of code-smells, decoupling, dependency injection, open-close principles and refactoring through the use of such design pattern. Knowledge of this course will help the students to prepare for the upcoming standards of the software industry. |
|||||||
15 |
Course Synopsis |
Basic object oriented development and design pattern concepts, Elements of design pattern, Description of a design pattern, Designing for change, Code smells and Refactoring, Code smells and Refactoring, Understanding the design pattern catalog, Intent, motivation, structure, applicability, consequence and implementation of Singleton, Adapter, Bridge, Abstract Factory, Builder, Chain of Responsibility, Composite, Decorator, Factory Method, Command, Façade, Flyweight, Interpreter, Iterator, Mediator, Memento, Observer, Prototype, Proxy, Template Method, Visitor, State, Strategy pattern. |
|||||||
16 |
Text Book |
1. Design Patterns: Elements of Reusable Object-Oriented Software, 1st Edition, by Erich Gamma, John Vlissides and Ralph Johnson |
17 |
Reference Book |
|
|||||||||||||||
18 |
Course Outcomes (COs) |
Upon completing this course, students will be able to: CO1: Understand the basic concepts of code smells and refactoring and the structure and applicability of different design patterns. CO2: Explain the advanced concepts of different design patterns. CO3: Analyze code segments and refactor that code segment. CO4: Apply different design patterns in real-world software development scenarios. |
|||||||||||||||
Mapping of COs to POs |
|||||||||||||||||
CO |
PO1 |
PO2 |
PO3 |
PO4 |
PO5 |
PO6 |
PO7 |
PO8 |
PO9 |
PO1 0 |
PO1 1 |
PO1 2 |
|||||
CO1 |
√ |
||||||||||||||||
CO2 |
√ |
||||||||||||||||
CO3 |
√ |
||||||||||||||||
CO4 |
√ |
||||||||||||||||
CO No. CO1 CO2 CO3 CO4 |
PO No. PO1 PO1 PO3 PO2 |
Bloom’s Domain / Level Cognitive / Understanding Cognitive / Understanding Cognitive / Analyzing Cognitive/ Applying |
Delivery Methods / Activities Class Lecture Class Lecture Class Lecture Class Lecture |
Assessment Tools Midterm and Final Examination Final Examination Midterm Examination Mid Term and Final Examination |
|||||||||||||
19 |
Teaching Strategy |
Maximum topics will be covered from the textbook. For the rest of the topics, reference books will be followed. Some class notes will be uploaded on the web. White board will be used for most of the time. Multimedia projector and a PC will be used for the convenience of the students. Students must participate in classroom discussions for case studies and problem solving. |
|||||||||||||||
20 |
Assessm ent and |
Class Participation |
: |
10% |
|||||||||||||
Marks |
|||||||||||||||||
Distribu tion: |
Assignment/Presentation |
: |
10% |
||||||||||||||
Class Test |
: |
10% |
|||||||||||||||
Midterm Examination |
: |
30% |
|||||||||||||||
Final Examination |
: |
40% |
21 |
Lecture Plan (Weekly Schedule) |
|||||||
Week |
Lecture # |
Selected Topics |
Chapter # |
COs |
Assessment |
|||
1 |
1 |
Basic object-oriented development and design pattern concepts |
(GOF) Ch-1 |
CO1 |
Mid Term Exam 30 |
|||
2 |
Elements of design pattern, Description of a design pattern |
“ |
CO1 |
|||||
2 |
4 |
Designing for change, Code smells and Refactoring |
“ |
CO1 |
||||
5 |
Code smells and Refactoring: Different Code Smells |
“ |
C O3 |
|||||
3 |
7 |
Code smells and Refactoring: Different Code Smells (Contd.) |
“ |
CO3 |
||||
9 |
Code smells and Refactoring: Different Code Smells (Contd.) |
“ |
CO3 |
|||||
4 |
10 |
Understanding the design pattern catalog |
“ |
CO1 |
||||
11 |
Detailed pattern study: Singleton, Abstract Factory |
Ch-3 |
CO2 |
|||||
5 |
9 |
Detailed pattern study: Builder |
“ |
CO2 |
||||
10 |
Detailed pattern study: Adapter Class Test 1 |
Ch-4 |
CO2 |
|||||
6 |
11 |
Detailed pattern study: Prototype |
Ch-3 |
CO2 |
||||
12 |
Detailed pattern study: Decorator |
Ch-4 |
CO2 |
|||||
7 |
13 |
Detailed pattern study: Chain of Responsibility |
Ch-5 |
CO2 |
||||
14 |
Review class for Mid Term Examination |
|||||||
8 |
Midterm Examination |
|||||||
9 |
15 |
Detailed pattern study: Flyweight, Command |
Ch-3, 5 |
CO2 |
Final Exam 40 |
|||
16 |
Detailed pattern study: Interpreter, Iterator |
Ch-5 |
CO2 |
|||||
10 |
17 |
Detailed pattern study: State, Strategy |
Ch-5 |
CO2 |
||||
18 |
Detailed pattern study: Mediator, Template Method |
“ |
CO2 |
|||||
11 |
19 |
Detailed pattern study: Proxy Class Test 2 |
Ch-4 |
CO4 |
||||
20 |
Detailed pattern study: Memento |
Ch-4 |
CO4 |
|||||
12 |
21 |
Detailed pattern study: Composite |
“ |
CO2 |
||||
22 |
Detailed pattern study: Bridge |
“ |
CO4 |
|||||
13 |
23 |
Detailed pattern study: Façade Class Test 3 |
Ch-4 |
CO4 |
||||
24 |
Detailed pattern study: Visitor |
Ch-5 |
CO4 |
|||||
14 |
25 |
Detailed pattern study: Visitor (Contd.) |
Ch-5 |
CO4 |
||||
26 |
Review class for Semester Final Examination |
|||||||
15 |
Final Exam |
22 |
Overall CO Assessment Criteria |
Assessment methods of COs are given below: |
|||||||
23 |
Rubrics |
||||||||
COs (Bloom’s Level) |
Excellent (80%-100%) |
Good (70%-79%) |
Satisfactory (60%-69%) |
Poor (40%-59%) |
Unsatisfacto ry (0-39%) |
Mar s (70) |
|||
CO1 (Understanding) |
Answer is complete and sufficient detail provided to support issues related to the question. And also deals fully with the entire question. |
Answer is brief with sufficient detail provided to support issues were introduced. And most of the basic details are included but some are missing. |
Answer is brief with insufficient detail provided to support issues were introduced. |
Answer is incomplete and excessive discussion of unrelated issues. And serious gaps in the basic details. |
None of the relevant details were included or didn’t answer. |
||||
CO2 (Understanding) |
Answer is complete and sufficient detail provided to support issues related to the question. And also deals fully with the entire question. |
Answer is brief with sufficient detail provided to support issues were introduced. And most of the basic details are included but some are missing. |
Answer is brief with insufficient detail provided to support issues were introduced. |
Answer is incomplete and excessive discussion of unrelated issues. And serious gaps in the basic details. |
None of the relevant details were included or didn’t answer. |
||||
CO3 (Applying) |
The question is answered appropriately by applying the suggested method in the question. |
The question is answered briefly by applying the suggested method in the question. |
The question is answered correctly by applying the suggested method in the question but some steps are missing. |
The question is answered incompletel y by applying the suggested method in the question but some steps are correct. |
No attempt to implement the suggested method. |
||||
CO4 (Analyzing) |
A clear, complete, and properly ordered chain of analyzing steps (i.e. proper explanation of the procedure) is followed to |
The chain of analyzing steps is complete and correctly ordered but lack of expected explanation. |
One or more intermediate analyzing steps are missing or unclear, but the correctness of the analysis is not compromised. |
One or more intermediate analyzing steps are missing or unclear to answer the question. |
The stated chain of analysis does not lead to the stated question. |
answer the question.
The following chart will be followed for grading. This has been customized from the guideline provided by the School of Engineering and Computer Science.
A+ |
A |
A- |
B+ |
B |
B- |
C+ |
C |
D |
F |
≥ 80 |
75-<80 |
70-<75 |
65-<70 |
60-<65 |
55-<60 |
50-<55 |
45-<50 |
40-<45 |
<40 |
Assignments
Class Test Exams
Test Policy
There will be at least two assignments. Average marks of the assignments will be counted. No late homework will be accepted.
Any kind of copy/manipulation in assignment will carry zero mark.
Two or more copied assignments will carry zero mark in all assignments. Zero tolerance will be shown in this regard. Solutions to assignment problems will be provided through web and on hand.
There will be at least three class tests (CT). Best two of three or best three of four CTs will be counted. Both of regular and surprise CTs can be conducted.
CT, Mid-term and final exam will be closed book, closed notes. Mobile phone is strictly prohibited in exam hall. Students are insisted to carry their own watch and synchronize time during exam hours.
If a student is absent from class test anyway and made no report to the class teacher personally beforehand, his/her score for that test will be zero. No make-up for the class test will be allowed as 2 of 3 or 3 of 4 CTs are being considered. No make-up for Mid-exam will be entertained without physical presence and recommendation of the guardian along with written permission of the department. Make-up of Mid-exam may be much harder than the regular one.
Bloom's Taxonomy is a set of three hierarchical models used to classify educational learning objectives into levels of complexity and specificity. The three lists cover the learning objectives in Cognitive, Affective and Psychomotor domains. The Cognitive domain list has been the primary focus of most education and is frequently used to structure curriculum learning objectives, assessments and activities. The three domains and respective levels are illustrated below. Cognitive [C] (Knowledge-based) Affective [A] (Emotion-based) Psychomotor [P] (Action-based)
|
||||||
28 |
Descriptions of Cognitive Domain (Anderson and Krathwohl’s Taxonomy 2001): The cognitive domain involves the development of our mental skills and the acquisition of knowledge. |
|||||
Level |
Category |
Meaning |
Keywords |
|||
C1 |
Remembering |
Recognizing or recalling knowledge from memory. Remembering is when memory is used to produce or retrieve definitions, facts, or lists, or to recite previously learned information. |
Define, describe, draw, find, identify, label, list, match, name, quote, recall, recite, tell, write |
|||
C2 |
Understanding |
Constructing meaning from different types of functions be they written or graphic messages or activities like interpreting, exemplifying, classifying, summarizing, inferring, comparing, or explaining. |
Classify, compare, exemplify, conclude, demonstrate, discuss, explain, identify, illustrate, interpret, paraphrase, predict, report |
|||
C3 |
Applying |
Carrying out or using a procedure through executing, or implementing. Applying relates to or refers to situations where learned material is used through products like models, presentations, interviews or simulations. |
Apply, change, choose, compute, dramatize, implement, interview, prepare, produce, role play, select, show, transfer, use |
|||
C4 |
Analyzing |
Breaking materials or concepts into parts, determining how the parts relate to one another or how they interrelate, or how the parts relate to an overall structure or purpose. Mental actions included in this function are differentiating, organizing, and attributing, as well as being able to distinguish between the components or parts. When one is analyzing, he/she can illustrate this mental function by creating spreadsheets, surveys, charts, or diagrams, or graphic representations. |
Analyze, characterize, classify, compare, contrast, debate, deconstruct, deduce, differentiate, discriminate, distinguish, examine, organize, outline, relate, research, separate, structure |
|||
C5 |
Evaluating |
Making judgments based on criteria and standards through checking and critiquing. Critiques, recommendations, and reports are some of the products that can be created to demonstrate the processes of evaluation. |
Appraise, argue, assess, choose, conclude, critique, decide, evaluate, judge, justify, predict, prioritize, prove, rank, rate, select, Monitor |
|||
C6 |
Creating |
Putting elements together to form a coherent or functional whole; reorganizing elements into a new pattern or structure through generating, planning, or producing. Creating requires users to put parts together in a new way, or synthesize parts into something new and different creating a new form or product. This process is the most difficult mental function. |
Construct, design, develop, generate, hypothesize, invent, plan, produce, compose, create, make, perform, plan, produce |
29 |
Graduate Attributes (Program Outcomes) for B.Sc. in Engineering Program based on Washington Accord |
||
Program Outcomes (POs) are narrower statements that describe what students are expected to know and be able to do by the Time of graduation. These relate to the knowledge skills and attitudes that students acquire while progressing through the program. The students of the B.Sc. in EEE program are expected to achieve the following graduate attributes or program outcomes at the time of graduation. PO1–Engineering knowledge (Cognitive): Apply the knowledge of mathematics, science, engineering fundamentals and an engineering specialization to the solution of complex engineering problems. PO2–Problem analysis (Cognitive): Identify, formulate, research the literature and analyze complex engineering problems and reach substantiated conclusions using first principles of mathematics, the natural sciences and the engineering sciences. PO3–Design/development of solutions (Cognitive, Affective): Design solutions for complex engineering problems and design system components or processes that meet the specified needs with appropriate consideration for public health and safety as well as cultural, societal and environmental concerns. PO4–Investigation (Cognitive, Psychomotor): Conduct investigations of complex problems, considering design of experiments, analysis and interpretation of data and synthesis of information to provide valid conclusions. PO5–Modern tool usage (Psychomotor, Cognitive): Create, select and apply appropriate techniques, resources and modern engineering and IT tools including prediction and modeling to complex engineering activities with an understanding of the limitations. PO6–The engineer and society (Affective): Apply reasoning informed by contextual knowledge to assess societal, health, safety, legal and cultural issues and the consequent responsibilities relevant to professional engineering practice. PO7–Environment and sustainability (Affective, Cognitive): Understand the impact of professional engineering solutions in societal and environmental contexts and demonstrate the knowledge of, and need for sustainable development. PO8–Ethics (Affective): Apply ethical principles and commit to professional ethics, responsibilities and the norms of the engineering practice. PO9–Individual work and teamwork (Psychomotor, Affective): Function effectively as an individual and as a member or leader of diverse teams as well as in multidisciplinary settings. PO10–Communication (Psychomotor, Affective): Communicate effectively about complex engineering activities with the engineering community and with society at large. Be able to comprehend and write effective reports, design documentation, make effective presentations and give and receive clear instructions. PO11–Project management and finance (Cognitive, Psychomotor): Demonstrate knowledge and understanding of the engineering and management principles and apply these to one’s own work as a member or a leader of a team to manage projects in multidisciplinary environments. PO12–Life-long learning (Affective, Psychomotor): Recognize the need for and have the preparation and ability to engage in independent, life-long learning in the broadest context of technological change. |
|||
30 |
Social & Moral Capital |
||
Our promises are based on the three cardinal principles: (a) What we do believe (b) What we do practice, and (c) What we will promote However, students are advised to undertake the following commitments for moral development. |
|||
|
|
|
Prepared by: Checked by: Approved by:
Course Code: CSE 231
Course Name: Data Structure
Prerequisite: CSE-111
Total Credit: 3
Theory Credit: 3
Lab Credit: 1.5
Credit Hours: 3
Basic SentenceS tructure:
Data Structure
Course Outline: