Daffodil International
University
Department of Computer Science and Engineering
(CSE)
Course Outline
Course Code: CSE214
Course Title: Algorithms
Program: [Link]. in CSE
Faculty: Faculty of Science and Information Technology (FSIT)
Semester: Year:
Credit: 2.0 Contact Hour: 3hrs/week
Course Level: L2T2 Prerequisite: CSE122, CSE131, CSE134,
CSE214
Course Category: Core
Instructor Name: Dr. S M Aminul Haque
Designation: Associate Professor
Email: [Link]@[Link]
Office Address:
Class Hours: Section Class Day Class Hours Classroom
Google Classroom
Code:
1. Course Rationale
Algorithms deals with the efficient ways to solve different mathematical and real life
problems. It covers the common algorithms, algorithmic paradigms, and data structures
used to solve computational problems. This course emphasizes the relationship between
algorithms and programming and explores algorithms from the programmer’s perspective
for solving problems efficiently using various programming languages.
[Link] Objective
This course introduces students to the analysis and design of computer algorithms. Upon
completion of this course, students will be able to do the following:
Analyse the asymptotic performance of algorithms.
Demonstrate a familiarity with major algorithms and data structures.
Apply important algorithmic design paradigms and methods of analysis.
Synthesize efficient algorithms in common engineering design situations.
[Link] Outcomes (CO’s):
By the end of the course the student will be able to:
CO1 Analyse and calculate time complexity and space complexity of various
algorithms or any written code using mathematical formula. (Analyse and
Apply)
CO2 Generate and interpret the output of iterative and recursive codes. (Create
and Understand)
CO3 Identify which algorithm listed under which algorithmic paradigm.
Compare among various algorithms/implemented codes and choose the
efficient one. ((Remember) Evaluate)
CO4 Break down and describe the simulation of various algorithms for different
input values. (Analyse and Understand)
CO5 Choose and apply appropriate algorithms to solve problems based on real
life scenario. Design own algorithm for a given problem. (Evaluate and
Apply) (Create)
[Link] Outcomes (PO’s)
Program Outcomes are reported in Appendix-I.
1.4 CO-PO Mapping [attainment level used for COs from 1(weak)-3(strong) correlation]
PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
PO’s
CO’s
CO1 2 3
CO2 1 2
CO3 2 3
CO4 1 3
CO5 3 2 3 1
1.4. CO Assessment Scheme
Assessment CO’s Mark
Task CO1 CO2 CO3 CO4 CO5 (Total=100)
Attendance -- -- -- -- -- 7
Class Test -- -- -- -- -- 15
(CT1, CT2,
CT3)
Assignment -- -- -- -- -- 5
Presentation -- -- -- -- -- 8
Midterm 5 5 5 5 5 25
Examination
Semester Final 5 5 5 10 15 40
Examination
Total Mark 10 10 10 15 20 100
2. Strategies and approaches to learning
2.1. Teaching and Learning Activities (TLA)
TLA1 Lectures using whiteboard/ multimedia of different topics.
TLA2 Active discussion in class regarding efficient solving of the
logical, mathematical and real life problems.
TLA3 Group discussion and presentation regarding diverse
problems and corresponding lectures.
TLA4 Evaluation of class performances to reach each student in a
class for every topic.
3. Course Schedule and Structure
[Link]
Introduction to Algorithms (3rd Edition, MIT Press, 2009) ISBN: 9780262033848.
Authors: Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein
[Link] Books 3.3. Useful Web Links:
i. Algorithms(4th Edition) [Link]
Author: Robert Sedgewick and Kevin Wayne
[Link]
ii. Algorithm Design
Author: Jon Kleinberg, Eva Tardos [Link]
iii. Data Structures And Algorithms Made Easy In JAVA
Author: Narasimha Karumanchi [Link]
3.4 Course Plan/Lesson Plan
Teaching
and
Textbook & Video Related
Week Lesson. Topic Learning
Reference CO’s
Activities
(TLAI)
Introduction, Motivation Text Book (Chapter 1)
Les. 1 TLA1
Course logistics
Reference book iii
(Chapter 3)
1 Function and Recursion TLA1, Text Book (Chapter 31)
Les. 2 Euclid’s Greatest Common Reference book ii CO2
TLA2
Divisor(GCD) Algorithm (Chapter 1)
[Link]
[Link]
Text Book (Chapter 3)
Les. 3 Asymptotic Notation TLA1,
Reference book ii CO1
Complexity Analysis TLA3 (Chapter 2)
2 Reference book iii
TLA1,
Les. 4 Complexity Analysis (Chapter 3) CO1
TLA4
(Class Test – 1, Assignment – 1)
Text Book (Chapter 2)
Searching: Linear Search and TLA1,
CO1,
Reference book iii
Les. 5 brute force techniques. CO3,
TLA2 (Chapter 11)
3 Sorting: Insertion Sort [Link] CO4
TLA1, Reference book iii
Sorting: Bubble Sort, CO1,
Les. 6 TLA2, (Chapter 10)
Selection Sort. [Link] CO4
TLA4
Text Book (Chapter 2)
Introduction to Divide and Reference book i CO1,
Conquer Approach TLA1, (Chapter 2)
Les. 7 CO3,
Searching: Binary Search TLA2 Reference book ii
Sorting: Merge Sort (Chapter 5) CO4
4
[Link]
TLA1, CO1,
Text Book (Chapter 3)
Les. 8 Sorting: Quick Sort TLA2, CO3,
[Link]
TLA4 CO4
Introduction to Greedy Text Book (Chapter 16 CO1,
and 35)
Approach. TLA1, CO3,
Les. 9 Reference book iii
Greedy Coin Change TLA3 (Chapter 17) CO4,
Greedy Bin Packing [Link] CO5
5 Text Book (Chapter 16) CO1,
TLA1, Reference book iii
Greedy Partial Knapsack CO3,
Les. 10 TLA2, (Chapter 17)
Greedy Huffman Coding [Link] CO4,
TLA4
[Link] CO5
(Class Test –2, Assignment-2)
Introduction to Dynamic Text Book (Chapter 15)
TLA1, Reference book iii CO3,
Programming Approach
Les. 11 TLA2, (Chapter 19) CO2,
Using DP to solve the [Link]
TLA4 CO5
6 Fibonacci Numbers Problem [Link]
Reference book iii CO1,
(Chapter 19)
Les. 12 DP: Coin Change TLA1,
[Link]
CO3,
DP: 0/1 Knapsack TLA3 [Link] CO4,
[Link] CO5
(MID–TERM EXAM)
Text Book (Chapter 15) CO1,
DP: Longest Common TLA1, Reference book iii
Les. 13 Subsequence and Edit (Chapter 19)
CO4,
TLA4
Distance [Link] CO5
7 Reference book iii
DP: Longest Increasing TLA1, (Chapter 19)
CO1,
Les. 14 Subsequence [Link] CO3,
TLA2
CO4
Text Book (Chapter 22)
Introduction to Graph TLA1,
Reference book i
Les. 15 Algorithms (Chapter 4) CO5
Graph Representation TLA4 [Link]
8 [Link]
Text Book (Chapter 22) CO1,
Breadth First Search TLA1,
Les. 16 [Link] CO4,
Depth First Search TLA3
CO5
DFS Applications:
Full Tree Traversal TLA1,
Text Book (Chapter 22)
Les. 17 Cycle Finding [Link] CO4
TLA4
Component Finding
9 Articulation Point Finding
DFS Application:
Topological Sort TLA1, Text Book (Chapter 22)
Les. 18 Strongly Connected CO4
TLA4 [Link]
Components
(Class Test-3, Assignment – 3)
Minimum Spanning Tree CO1,
(MST) TLA1, Text Book (Chapter 23) CO3,
Les. 19
MST: Kruskal’s Algorithm TLA2 [Link] CO4,
10
MST: Prim’s Algorithm CO5
Single Source Shortest TLA1, CO1,
Text Book (Chapter 24)
Les. 20 Path(SSSP): Dijkstra’s TLA2, CO4,
[Link]
Algorithm TLA4 CO5
SSSP: Bellman Ford TLA1, Text Book (Chapter 24) CO1,
11 Les. 21
Algorithm TLA2 [Link] CO4
TLA1, CO1,
All Pairs Shortest Path: Text Book (Chapter 25)
Les. 22 TLA2, CO4,
Floyd–Warshall algorithm [Link]
TLA4 CO5
Final Presentation by
Les. 23 Students/ Discussion about all TLA3 N/A
12 the assigned problems.
Les. 24 Student’s Problem Discussion TLA4 N/A
(FINAL EXAM)
4. Assessment Methods
4.1. Grading System
Numerical Grade Letter Grade Grade Point
80-100 A+ 4.00
75-79 A 3.75
70-74 A- 3.50
65-69 B+ 3.25
60-64 B 3.00
55-59 B- 2.75
50-54 C+ 2.50
45-49 C 2.25
40-44 D 2.00
Less than 40 F 0.00
5. Additional Support for Students
Student Portal:
[Link]
Academic Guidelines
[Link]
Rules and Regulations of DIU
[Link]
Career Development Center:
[Link]
For general queries:
[Link]
Appendix-1: Program outcomes
POs Category Program Outcomes
PO1 Engineering Apply the knowledge of mathematics, science, engineering
Knowledge fundamentals and an engineering specialization to the solution
of complex engineering problems.
PO2 Problem Analysis 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 Design solutions for complex engineering problems and design
of Solutions 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 Investigations 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 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 Apply reasoning informed by contextual knowledge to assess
society societal, health, safety, legal and cultural issues and the
consequent responsibilities relevant to professional engineering
practice.
PO7 Environment and Understand the impact of professional engineering solutions in
sustainability societal and environmental contexts and demonstrate the
knowledge of, and need for sustainable development.
PO8 Ethics Apply ethical principles and commit to professional ethics,
responsibilities and the norms of the engineering practice.
PO9 Individual work and Function effectively as an individual and as a member or leader
teamwork of diverse teams as well as in multidisciplinary settings.
PO10 Communication 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 Demonstrate knowledge and understanding of the engineering
and finance 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 Recognize the need for and have the preparation and ability to
engage in independent, life-long learning in the broadest context
of technological change.