Sixteen Week Teaching Plan
Course Title & Course Code Data Structures-Lab / COSC-2201
Credit Hours 01
Pre-Requisite(s), if any
Department / Institute Computer Science
Faculty Information Technology
Program/semester/section BS-Computer Science
BOS Meeting # and Date 9th BOS Meeting, 08-Aug-2023
Week 1
Objectives / Learning Outcome 6. Apply the knowledge of data structure to other application
domains.
Contents / Sub Contents Arrays, Functions and Pointers
Array creation and implementation
Array passing to function
Function creation and implementation
Pointers basic concepts
Week 2
Objectives / Learning Outcome 3. Apply the knowledge of data structure to other application
domains.
4. Analyze simple algorithms and determine their
complexities.
Contents / Sub Contents Complexity Analysis
Asymptotic notations
Types of complexities (Best, Average, Worst cases)
Big oh
Big omega
Big theta
Complexity analysis of code snippets
Algorithm comparison
Week 3
Objectives / Learning Outcome 4. Implement various data structures and their algorithms and
apply them in implementing simple applications
5. Apply the knowledge of data structure to other application
domains.
6. Analyze simple algorithms and determine their
complexities.
Contents / Sub Contents Searching & Sorting in Arrays
Linear search
Binary search
Selection sort
Insertion sort
Bubble sort
Quick sort
Merge sort
Comparison using asymptotic notations
Week 4
Objectives / Learning Outcome 4. Implement various data structures and their algorithms and
apply them in implementing simple applications
5. Analyze simple algorithms and determine their
complexities.
6. Design new data structures and algorithms to solve
problems.
Contents / Sub Contents Linked Lists
Introduction
Types of Linked Lists (Singly, Doubly, Circular)
Algorithms (Searching, sorting, insertion, deletion)
Comparison
Week 5
Objectives / Learning Outcome 3. Implement various data structures and their algorithms and
apply them in implementing simple applications
4. Apply the knowledge of data structure to other application
domains.
Contents / Sub Contents Stacks
Basics of Stack data structure
Algorithms (Push, Pop, Peek)
Implementation using Arrays
Implementation using Linked Lists
Expression parsing using Stacks (infix, prefix, postfix)
Week 6
Objectives / Learning Outcome 4. Implement various data structures and their algorithms and
apply them in implementing simple applications
5. Apply the knowledge of data structure to other application
domains.
6. Design new data structures and algorithms to solve
problems.
Contents / Sub Contents Queues
Basics of Queues
Types of Queues (Circular buffer, Double ended,
Priority)
Algorithm of Queues (Search, Sort, Enqueue, Dequeue)
Queue implementation using Arrays
Queue implementation using Linked Lists
Week 7
Objectives / Learning Outcome 3. Implement various data structures and their algorithms and
apply them in implementing simple applications
4. Apply the knowledge of data structure to other application
domains.
Contents / Sub Contents Hashing
Basics of Hashing
Components of Hashing
Hash functions
Problems with hashing (Collision)
Load factor
Applications of hashing
Week 8
Objectives / Learning Outcome 3. Implement various data structures and their algorithms and
apply them in implementing simple applications
4. Apply the knowledge of data structure to other application
domains.
Contents / Sub Contents Project Discussion Week, Quiz
Week 9
Objectives / Learning Outcome 3. Implement various data structures and their algorithms and
apply them in implementing simple applications
4. Apply the knowledge of data structure to other application
domains.
Contents / Sub Contents Recursion
Introduction
Properties
Implementation
Analysis of recursion
Time complexity
Space complexity
Fibonacci series
Tower of Hanoi problem
Week 10
Objectives / Learning Outcome 3. Implement various data structures and their algorithms and
apply them in implementing simple applications
4. Apply the knowledge of data structure to other application
domains.
Contents / Sub Contents Tree Data Structure
Basics of Tree data structure
Types of Trees
Propertise of trees
Tree terminology
Basic Algorithms
Application of Trees
Week 11
Objectives / Learning Outcome 3. Implement various data structures and their algorithms and
apply them in implementing simple applications
4. Apply the knowledge of data structure to other application
domains.
Contents / Sub Contents Tree Traversal
Introduction
Types
Inorder
Preorder
Postorder
Algorithm & Implementation
Week 12
Objectives / Learning Outcome 3. Implement various data structures and their algorithms and
apply them in implementing simple applications
4. Apply the knowledge of data structure to other application
domains.
Contents / Sub Contents Binary Search Trees
Basics
Representation
Implementation & Algorithms
Traversals in BSTs
Applications of BSTs
Expression Trees
Week 13
Objectives / Learning Outcome 4. Implement various data structures and their algorithms and
apply them in implementing simple applications
5. Apply the knowledge of data structure to other application
domains.
6. Analyze simple algorithms and determine their complexities.
Contents / Sub Contents Tree Balancing
AVL trees
Red Black trees
Algorithm & implementation
Complexity analysis
Week 14
Objectives / Learning Outcome 4. Implement various data structures and their algorithms and
apply them in implementing simple applications
5. Apply the knowledge of data structure to other application
domains.
6. Analyze simple algorithms and determine their complexities.
Contents / Sub Contents Heap
Basics
Min Heap
Max Heap
Algorithms & Implementations
Complexity analysis
Week 15
Objectives / Learning Outcome 4. Implement various data structures and their algorithms and
apply them in implementing simple applications
5. Apply the knowledge of data structure to other application
domains.
6. Analyze simple algorithms and determine their complexities.
Contents / Sub Contents Graphs
Basics
Graph Terminology
Adjacency matrix
Graph traversals/searches
Breadth first search
Depth first search
Shortest path first
Topological Order
Algorithms & implementation
Complexity analysis
Week 16
Objectives / Learning Outcome 2. Implement various data structures and their algorithms and
apply them in implementing simple applications
Contents / Sub Contents Project Evaluation
Curriculum Contents: Abstract data types, complexity analysis, Big Oh notation, Stacks (linked lists and
array implementations), Recursion and analyzing recursive algorithms, divide and conquer algorithms, Sorting
algorithms (selection, insertion, merge, quick, bubble, heap, shell, radix, bucket), stacks, expression parsing
using stacks, queue, dequeue, priority queues (linked and array implementations of queues), linked list & its
various types, sorted linked list, searching an unsorted array, binary search for sorted arrays, hashing and
indexing, open addressing and chaining, trees and tree traversals, expression trees, binary search trees, heaps,
M-way tress, balanced trees (AVL, Red Black), graphs, breadth-first and depth-first traversal, topological
order, shortest path, adjacency matrix and adjacency list implementations.