CSE 2103: Data Structures and Algorithm I
Course Details
Course Code: CSE 2103 Lecture Contact Hours: 3.00
Course Title: Data Structures and Algorithm I Credit Hours: 3.00
Pre-requisite Course(s)
1. Course Code: CSE 1203, Course Title: Object Oriented Programming Language
Curriculum Structure
Outcome Based Education (OBE)
Rationale
This Data Structures & Algorithms I course is designed to offer a flawless concept on the vital
parts of the data structures and algorithms related to computer science. This course begins with
the introduction of basic concepts of some commonly used data structures and algorithms and
then covers complexity analysis, linked list, stack, queue, tree, graph, sorting, searching and
various relevant important topics.
Objective
1. To develop a general understanding of basic data structures and algorithms
2. To achieve a basic idea on asymptotic notations for different types of algorithms
3. To choose the appropriate algorithm based one scenario and constrains
4. To develop Programming skills for basic data structures and algorithms
Learning Outcomes and Generic Skills
Course Learning Outcome
Bloom’s C Delivery Assessment
No. (Upon completion of the course, the CP KP methods
Taxonomy A Methods
students will be able to) and
activities
Illustrate the basics of static and Lecture,
CO1 dynamic data structures and relevant C1-C3 1 1 Class T
conventional algorithms. Participation
Solve complex engineering problem
Lecture,
with no obvious solution using wide
CO2 C3 1-3 2,3 Group work, MT, F
ranging or conflicting algorithms
Discussion
and data structures.
Choose appropriate data structures
and algorithms for specific
Lecture,
CO3 programs or program parts and C1-C5 1,2 1 MT, F
Discussion
analyze the complexity of the
program.
Identify and reveal bugs in the
program and diagnose them using
Lecture,
the learnt data structures and
CO4 C1-C6 Group work, ASG/PR
algorithms and also implement
Discussion
programs to solve a complex
engineering problem.
Develop the communication skill by
Discussion,
CO5 presenting topics on data Structures A2 1 1 1 ASG/PR
Group work
and algorithms
(CP- Complex Problems, CA-Complex Activities, KP-Knowledge Profile, T – Test; PR – Project; Q –
Quiz; ASG – Assignment; Pr – Presentation; R - Report; F – Final Exam, MT- Mid Term Exam)
Course Content
Internal data representation; Abstract data types; Algorithm performance and elementary
asymptotic analysis (Introduction to Big-O notation); Elementary data structures: array,
linked list, stack, queue, tree and tree traversal, graphs, graph representation and traversal, heap,
binary search tree; String algorithm: pattern matching, KMP; Sorting algorithms: Bubble
Sort, Selection Sort, Insertion Sort; Searching: linear search and binary search; Advanced data
Structures: balanced binary search trees, skip list, advanced heaps; Hashing.
Skill Mapping
Program Outcome
No. Course Learning Outcome
1 2 3 4 5 6 7 8 9 10 11 12
Illustrate the basic of static and
CO1 dynamic data structures and Yes
relevant conventional algorithms.
Demonstrate pros and cons of
CO2 specific algorithms and data Yes
structures.
Choose appropriate data structures
CO3 and algorithms for specific Yes
programs or program parts.
CO4 Identify and reveal bugs in the Yes
program then diagnose needed basic
operations with algorithms and data
structures.
Develop the communication skill by
CO5 presenting topics on data Structures Yes
and algorithms
Justification for CO-PO Mapping
Mapping Justifications
Increase breadth and depth of knowledge by expressing the fundamentals of
CO1-PO1
static and dynamic data structures and relevant standard algorithm
Increase breadth and depth of knowledge by demonstrating advantages and
CO2-PO1
disadvantages of specific algorithms and data structures
Analyze and formulate different methods of analysis to select basic data
CO3-PO2 structures and algorithms for autonomous realization of simple programs or
program parts.
Analyze and formulate different methods of analysis to determine and
CO4-PO2 demonstrate bugs in the program, recognize needed basic operations with
algorithms and data structures
CO5-PO10 Develop communication skills through participating in presentation.
Teaching and Learning Strategy
Teaching and learning activities Engagement (hours)
Face-to-face learning
Lecture 42
Practical/Tutorial/Studio -
Student-centered learning -
Self-directed learning
Non-face-to-face learning 42
Revision 21
Assessment preparations 21
Formal assessment
Continuous assessment 2
Final examination 3
Total 131
Teaching Methodology
Lecture and Discussion, Co-operative and Collaborative Method, Problem Based Method
Delivery Methods and Activities
Lecture, White Board Writing, Power Point Presentation
Course Outline
Week Lecture Topics Assessment Methods
Course overview, Introduction to Data type, Data
1
structure, Algorithm
1
2 Complexity Theory and Asymptotic Notations
3 Complexity Analysis Method
Class Test 1
4 Complexity Analysis Examples
Mid Term, Final,
2 5 Arrays (1D, 2D), Sparse Array, Vector Assignment/
6 Array Operations Presentation
7 Searching: Linear Search and Binary Search
3 8 String Operations: Pattern Matching
9 String Operations: KMP Algorithm
10 Sorting: Bubble Sort Class Test 2
4 11 Sorting: Selection Sort, Insertion Sort Mid Term, Final,
Assignment/
12 Pointer, Linked List & Types
Presentation
Linked List: Singly linked list and its operations:
13
Insertion, Traversing, Searching, Deletion
5
14 Doubly link list and its operations: Insertion, Traversing
15 Doubly link list and its operations: Deletion
6 16 Circular link list and its operations: Insertion, Deletion
17 Uses of linked list: Reversing a link list, finding middle
element
18 Uses of linked list: cycle detection
19 Stack implementation : Array, Linked List
20 Stack operations: Push, Pop
7
Uses of Stack: String reverse, Infix to postfix, Postfix
21
evaluation
22 Uses of Stack: Tower of Hanoi
8 23 Queue Implementation
24 Queue operations: enqueue, dequeue
25 Circular Queue, Priority Queue
26 Tree terms, types and construction Class Test 3,
9
Assignment/
Binary tree operations: traversal (Preorder, Postorder, Presentation, Final
27
Inorder)
28 Binary tree construction from tree traversal orders
Binary Search Tree construction, Balanced Binary Search
10 29
Tree (BST)
30 Operations of BST
31 Heap: Max- Heap , Min-Heap Final
11 32 Heap Operations
33 Heap Application: Heap-Sort
34 Graph: Terminology, Representation
12 35 Graph algorithm: BFS, topological sorting
36 Hashing: Hash Function, Hash Table
37 Collision, Resolution, Open Addressing
13 38 Channing, Double Hashing
39 Storage Management
14 40 Skip list
41 Review Class
42 Review Class
Assessment Strategy
Components Grading CO Bloom Taxonomy
Lecture/Class
Participation/ 5% A2
Continuous Presentation
Assessment
Assignment 5% CO4 C1-C6, A3, P2
(40%)
Class Test 15% CO1 C1-C3
Mid Term 15% CO2-CO3 C1- C5
Final Exam 60% CO2-CO3 C1-C5
Total Marks 100%
(CO=Course Outcome, C=Cognitive Domain, P=Psychomotor Domain, A=Affective Domain)
Reference books
1. Data Structures – Seymour Lipschutz
2. Introduction to Algorithms (Third Edition), Thomas H. Cormen
3. Algorithm Design and Applications, Michael T. Goodrich, Roberto Tamassia
4. Data Structures Using C and C++ – Y. Langsam, M. J. Augenstein, A. M. Tenenbaum
Reference Site
1. https://www.cs.usfca.edu/~galles/visualization/Algorithms.html
2. https://www.tutorialspoint.com/data_structures_algorithms/index.htm
3. https://www.shafaetsplanet.com/
4. https://www.geeksforgeeks.org/data-structures/
Special Instructions:
1. Students are encouraged to attend classes on time. Latecomers will not be allowed to
disrupt the flow of the lecture.
2. After each class, students should review class notes seriously because usually the next
topic relies on the previous topic.
3. No makeup class test.
Course Tutors: (Signature with date)
1. Md. Mahadi Hasan ---------------------------
2. Md Zahim Hassan ----------------------------