0% found this document useful (0 votes)
107 views

Data Structure and Algorithms

Uploaded by

musabahmad090
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
107 views

Data Structure and Algorithms

Uploaded by

musabahmad090
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Sixteen Week Teaching Plan

Course Title & Course Code Data Structures & Algorithms / COSC-2101
Credit Hours 03
Pre-Requisite(s), if any OOP
Department / Institute Data Science & AI
Faculty Information Technology
Program/semester/section BS-Artificial Intelligence

Week 1
Course Learning 1. Apply the knowledge of data structure to other application
Outcome (CLO) domains.
Contents / Sub Data Structures Introduction
Contents • Introduction
• ADTs
• Types of data structures
• Data structure operations
• OOP concepts
Arrays, Functions and Pointers
• Array creation and implementation
• Array passing to function
• Function creation and implementation
• Pointers basic concepts
Week 2
Course Learning 1. Apply the knowledge of data structure to other application domains.
Outcome (CLO) 2. Analyze simple algorithms and determine their
complexities.
Contents / Sub Complexity Analysis
Contents • Asymptotic notations
• Types of complexities (Best, Average, Worst cases)
• Big Oh
• Complexity analysis of code snippets
• Algorithm comparison
Week 3
Course Learning 1. Implement various data structures and their algorithms and apply them in
Outcome (CLO) implementing simple applications
2. Apply the knowledge of data structure to other application
domains.
3. Analyze simple algorithms and determine their
4. complexities.
Contents / Sub Searching & Sorting in Arrays
Contents • Linear search
• Binary search
• Selection sort
• Insertion sort
• Bubble sort
• Quick sort
• Merge sort
• Comparison using asymptotic notations
Week 4
Course Learning 1. Implement various data structures and their algorithms and apply them in
Outcome (CLO) implementing simple applications
2. Analyze simple algorithms and determine their
complexities.
3. Design new data structures and algorithms to solve
problems.
Contents / Sub Linked Lists
Contents • Introduction
• Types of Linked Lists (Singly, Doubly, Circular)
• Algorithms (Searching, sorting, insertion, deletion)
• Comparison
Week 5
Course Learning 1. Implement various data structures and their algorithms and apply them in
Outcome (CLO) implementing simple applications
2. Apply the knowledge of data structure to other application
domains.
Contents / Sub Stacks
Contents • 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
Course Learning 1. Implement various data structures and their algorithms and apply them in
Outcome (CLO) implementing simple applications
2. Apply the knowledge of data structure to other application
domains.
3. Design new data structures and algorithms to solve
4. problems.
Contents / Sub Queues
Contents • 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
Course Learning 1. Implement various data structures and their algorithms and apply them in
Outcome (CLO) implementing simple applications
2. Apply the knowledge of data structure to other application
domains.
Contents / Sub Hashing
Contents • Basics of Hashing
• Components of Hashing
• Hash functions
• Problems with hashing (Collision)
• Load factor
• Applications of hashing
Week 8
Course Learning 1. Implement various data structures and their algorithms and apply them in
Outcome (CLO) implementing simple applications
2. Apply the knowledge of data structure to other application domains.
Contents / Sub Revision of syllabus for Mid exam, Quiz
Contents
Week 9
Course Learning 1. Implement various data structures and their algorithms and apply them in
Outcome (CLO) implementing simple applications
2. Apply the knowledge of data structure to other application domains.
Contents / Sub Recursion
Contents • Introduction
• Properties
• Implementation
• Analysis of recursion
• Time complexity
• Space complexity
• Fibonacci series
• Tower of Hanoi problem
Week 10
Course Learning 1. Implement various data structures and their algorithms and apply them in
Outcome (CLO) implementing simple applications
2. Apply the knowledge of data structure to other application domains.
Contents / Sub Tree Data Structure
Contents • Basics of Tree data structure
• Types of Trees
• Propertise of trees
• Tree terminology
• Basic Algorithms
• Application of Trees
Week 11
Course Learning 1. Implement various data structures and their algorithms and apply them in
Outcome (CLO) implementing simple applications
2. Apply the knowledge of data structure to other application domains.
Contents / Sub Tree Traversal
Contents • Introduction
• Types
• Inorder
• Preorder
• Postorder
• Algorithm & Implementation
Week 12
Course Learning 1. Implement various data structures and their algorithms and apply them in
Outcome (CLO) implementing simple applications
2. Apply the knowledge of data structure to other application domains.
Contents / Sub Binary Search Trees
Contents • Basics
• Representation
• Implementation & Algorithms
• Traversals in BSTs
• Applications of BSTs
• Expression Trees
Week 13
Course Learning 1. Implement various data structures and their algorithms and apply them in
Outcome (CLO) implementing simple applications
2. Apply the knowledge of data structure to other application domains.
3. Analyze simple algorithms and determine their complexities.
Contents / Sub Tree Balancing
Contents • AVL trees
• Red Black trees
• Algorithm & implementation
• Complexity analysis
Week 14
Course Learning 1. Implement various data structures and their algorithms and apply them in
Outcome (CLO) implementing simple applications
2. Apply the knowledge of data structure to other application domains.
3. Analyze simple algorithms and determine their complexities.
Contents / Sub Heap
Contents • Basics
• Min Heap
• Max Heap
• Algorithms & Implementations
• Complexity analysis
Week 15
Course Learning 1. Implement various data structures and their algorithms and apply them in
Outcome (CLO) implementing simple applications
2. Apply the knowledge of data structure to other application domains.
3. Analyze simple algorithms and determine their complexities.
Contents / Sub Graphs
Contents • 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
Course Learning 1. Implement various data structures and their algorithms and apply them in
Outcome (CLO) implementing simple applications
Contents / Sub Revision and Final Discussion about the course
Contents

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.

You might also like