Course Description and Outcome Form
Department of Computer Science and Engineering
School of Data and Sciences
Brac University
A. Course General Information:
Course Code: CSE 221
Course Title: Algorithms
Credit Hours (Theory+Lab): 3+0
Contact Hours (Theory+Lab): 3+3
Category: Program Core
Type: Required, Engineering, Lecture + labs
Prerequisites: CSE 220
Co-requisites: None
B. Course Catalog Description (Content):
This course addresses the study of efficient algorithms, their analyses and effective algorithm design
techniques. Standard algorithm design strategies, such as, Divide and Conquer paradigm, Greedy method,
Dynamic programming, Backtracking, Basic search and traversal techniques, Graph algorithms,
Elementary parallel algorithms, Algebraic simplification and transformations, Lower bound theory,
NP-hard and NP-complete problems are discussed in the course. Examples of data structures and
algorithms studied in details are Heaps; Hashing; Graph algorithms: Shortest paths, Depth-first and
Breadth-first search, Network flow, Computational geometry, Minimum Spanning Tree; Integer arithmetic:
GCD, primality; polynomial and matrix calculations; Sorting; Performance bounds, asymptotic analysis,
worst case and average case behavior, correctness and complexity. The course includes a compulsory 3
hour laboratory work every week.
C. Course Objective: The objectives of this course are to :
a. introduce students to time and space complexity of algorithms
b. teach students different sorting and searching methods and make them understand which is
effective to use.
c. make them familiar with different problem solving paradigms as described in the course catalog
above
Department of CSE Course Description and Outcome Form Last Revision: Summer 2023 Page 1 of 6
D. [Updated Summer ‘23] Course Outcomes (COs):
Upon successful completion of this course, students will be able to
Sl. CO Description Weightage (%)
CO1 Demonstrate knowledge, understanding and ability to identify usage of the classical 50%
algorithms
CO2 Analyze or Compare accuracy, efficiency and complexity (time, space) of algorithms 15%
CO3 Apply suitable problem solving approaches such as sorting, searching, divide and 15%
conquer, graph theory, greedy, dynamic programming to propose solutions to unseen or
real world problems
CO4 Convert algorithms into executable computer programs using any preferred 20%
programming language
E. [Updated Summer ‘23] Mapping of CO-PO-Taxonomy Domain & Level-
Delivery-Assessment Tool:
Sl. CO Description POs Bloom’s taxonomy Delivery methods Assessment
domain/level and activities tools
CO1 Demonstrate knowledge, understanding and a Cognitive / Apply Lecture + Lab Mid, Final
ability to identify usage of the classical algorithms Works
CO2 Analyze or Compare accuracy, efficiency and a Cognitive / Analyze Lecture + Lab Mid, Final
complexity (time, space) of algorithms Works
CO3 Apply suitable problem solving approaches such e Cognitive / Apply Lecture + Lab Assignment,
as sorting, searching, divide and conquer, graph Works Mid, Final,
theory, greedy, dynamic programming to propose Lab Tasks
solutions to unseen or real world problems
CO4 Convert algorithms into executable computer a Cognitive / Apply Lecture + Lab Lab Tasks
programs using any preferred programming Works
language
F. [Updated Summer ‘23] Course Materials:
i. Text and Reference Books:
Sl. Title Author(s) Publication Edition Publisher ISBN
Year
1 Introduction to Charles E. Leiserson, 2009 3rd The MIT Press ISBN:
Algorithms Clifford Stein, Ronald edition 9780262033848
Rivest, and Thomas H.
Cormen
2 Algorithm Design Eva Tardos and John (March 26, 1st Pearson ISBN-13: 978-03212
Kleinberg 2005) edition 95354
3 Algorithms Dasgupta, Vazirani, July 2006 1st McGraw Hill ISBN:
Papadimitriou edition 9780073523408
Department of CSE Course Description and Outcome Form Last Revision: Summer 2023 Page 2 of 6
4 Algorithms Tim Roughgarden 2022 1st Cambridge ISBN:
Illuminated edition 9780999282984
5 Algorithms Jeff Erickson June 2019 1st ISBN:
edition 978-1-792-64483-2
ii. Other materials
a. Tutorials by Google (Tech Dev Guide):
https://techdevguide.withgoogle.com/paths/data-structures-and-algorithms/
b. lecture note + slides
c. visualgo website for algorithms visualization: https://visualgo.net/
G.[Updated Summer ‘23] Lesson Plan:
Details here: https://docs.google.com/spreadsheets/d/1-UIIMMLcllIacVPSOqek4gSzGLl8P93-YQ2agMFdv7g
No Topic Week/Lecture Related CO
1 Introduction & Algorithm Analysis; Time Complexity, Space Week 0-1 CO1-4
Complexity Analysis; Recursion and Backtracking;
2 Sorting and Searching: Bubble, Selection and Insertion Sorting; Week 2-3 CO1-4
Linear and Binary Searching Algorithms and its variants with time
complexity.
Divide and Conquer Basics; Merge and Quick Sort with derivation of
running time;
3 Graph Basics: Types of Graphs, Data Structures used Week 4-5 CO1-4
BFS , DFS, and applications: Edge classification, cycle detection,
bipartite/bicolorable graph.
Mid Exam
4 DAG, Topological sort, Strongly Connected Components (Kosaraju, Week 7 CO1-4
Tarjan)
Shortest path Dijkstra, Negative cycle: Bellman-Ford
5 Minimum spanning Tree using Kruskal’s Algorithm; Disjoint Set Week 8 CO1-4
Data Structure Minimum Spanning Tree using Prim’s Algorithm;
6 Introduction to greedy, time scheduling interval; Fractional knapsack, Week 9 CO1-4
Huffman encoding decoding
7 Dynamic Programming: Basics; Knapsack 0/1, LCS, Coin Change Week 10-11 CO1-4
(how many ways, minimum no. of coins)
Recursive and iterative DP formulation, comparison
8 P vs NP Week 12 CO1-2
Final Exam
Department of CSE Course Description and Outcome Form Last Revision: Summer 2023 Page 3 of 6
H. Assessment Tools:
Assessment Tools Weightage (%)
Assignment 5%
Quiz 20%
Midterm Exam 20%
Lab 25%
Final Exam 30%
I. [Updated Summer ‘23] CO Assessment Plan:
Assessment Tools Course Outcomes
CO1 CO2 CO3 CO4
Class Participation/Performance
Quiz
Assignment √
Midterm Exam √ √ √
Final Exam √ √ √
Lab √ √
J. CO Attainment Policy:
As per BRAC University Policy.
K. Grading policy:
As per BRAC University Policy
L. Course Coordinator: Md. Imran Bin Azad, Senior Lecturer, imran.azad@bracu.ac.bd
Department of CSE Course Description and Outcome Form Last Revision: Summer 2023 Page 4 of 6
Appendix-1: Program Outcomes (BAETE)
a Apply knowledge of mathematics, natural science, engineering fundamentals and an engineering
specialization as specified in K1 to K4 respectively to the solution of complex engineering problems.
b Identify, formulate, research literature and analyse complex engineering problems reaching substantiated
conclusions using first principles of mathematics, natural sciences and engineering sciences. (K1 to K4)
c Design solutions for complex engineering problems and design systems, components or processes that
meet specified needs with appropriate consideration for public health and safety, cultural, societal, and
environmental considerations. (K5)
d Conduct investigations of complex problems using research-based knowledge (K8) and research methods
including design of experiments, analysis and interpretation of data, and synthesis of information to provide
valid conclusions.
e 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 their limitations.
f Apply reasoning informed by contextual knowledge to assess societal, health, safety, legal and cultural
issues and the consequent responsibilities relevant to professional engineering practice and solutions to
complex engineering problems. (K7)
g Understand and evaluate the sustainability and impact of professional engineering work in the solution of
complex engineering problems in societal and environmental contexts. (K7)
h Apply ethical principles and commit to professional ethics and responsibilities and norms of engineering
practice. (K7)
i Function effectively as an individual, and as a member or leader in diverse teams and in multi-disciplinary
settings.
j Communicate effectively on complex engineering activities with the engineering community and with
society at large, such as being able to comprehend and write effective reports and design documentation,
make effective presentations, and give and receive clear instructions.
k Demonstrate knowledge and understanding of engineering management principles and economic
decision-making and apply these to one’s own work, as a member and leader in a team, to manage
projects and in multidisciplinary environments.
l Recognize the need for, and have the preparation and ability to engage in independent and life-long
learning in the broadest context of technological change.
Department of CSE Course Description and Outcome Form Last Revision: Summer 2023 Page 5 of 6
Appendix-2: Bloom’s Taxonomy
Department of CSE Course Description and Outcome Form Last Revision: Summer 2023 Page 6 of 6