COURSE DESCRIPTION

NAME OF INSTITUTION Lahore Garrison University
PROGRAM (S) TO BE EVALUATED Computer Science , Fall 2021
Course Description :
Course Code CSC331
Course Title Data Structure and Algorithms
Credit Hours 3+1
Prerequisites by Course(s) and Topics Programming Fundamentals
Assessment Instruments with Weights (homework, quizzes, midterms, final, programming assignments, lab work, etc.) SESSIONAL (Quizzes, Assignments, Presentations) =25 %
Midterm Exam =25 %
Final Exam = 50%
Course Coordinator Eisha Tir Razia
URL (if any)
Current Catalog Description
Textbook (or Laboratory Manual for Laboratory Courses) Data Structures and Algorithm Analysis by Mark A. Weiss
Reference Material 1. Data Structures and Algorithms in C++ by Adam Drozdek 2. Data Structures and Abstractions with Java by Frank M. Carrano & Timothy M. Henry 3. Data Structures and Algorithm Analysis in C++ by Mark Allen Weiss 4. Java Software Structures: Designing and Using Data Structures by John Lewis and Joseph Chase
Course Goals Basic and in-depth concepts of Data Structures and Algorithms to solve different software problems. Selection of appropriate Data Structure and Algorithm for specified application. How appropriate Data Structures and algorithms impact performance of software? Solve different problems using Arrays, Stacks, Queues, Link Lists, Trees, Heaps, Hash Tables and Graphs. Use of different sorting techniques and their efficiency. Students will be able to translate Algorithm ideas into working practical applications.
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to:DomainBT Level*
Implement various data structures and their algorithms, and apply them in implementing simple applications C 2,3
Analyze simple algorithms and determine their complexities C 4,5
Apply the knowledge of data structures to other application domains. C 3
Design new data structures and algorithms to solve problems C 6
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A= Affective domain
Topics Covered in the Course, with Number of Lectures on Each Topic (assume 15-week instruction and one-hour lectures)
WeekLectureTopics Covered
Week 1 1 Course Overview, Introduction to Different Data Structures. Data Types, Primitive Data types, Non – Primitive Data Types
2 Abstract data types, (ADT’s), Data Structures, Lists, ADT List Operations
Week 2 3 Complexity Analysis & Big Oh Notation
4 ADT Stacks, ADT Stack Operations and implementation
Week 3 5 Infix, Prefix, Postfix notation, Conversions. Postfix Expression Evaluation.
6 Queue , Dequeue & its implementation using arrays
Week 4 7 Priority queues, Circular queues using arrays
8 Recursion and analyzing recursive algorithms
Week 5 9 Sorting algorithms (Selection sort )
10 Insertion sort , Bubble Sort
Week 6 11 Intro. & Implementation of List as Singly Link List
12 Intro. & Implementation of List as Singly Link List( Insertion and deletion function)
Week 7 13 Intro. & Implementation of List as Singly Link List( Search and Sorting function)
14 Solving stack problems using Link List
Week 8 1 hours Mid Term
Week 9 15 Mid Term Examination
16 Mid Term Examination
Week 10 17 Intro. & Applications of Doubly Link List (DLL)
18 Implementation of Doubly Linked List
Week 11 19 Implementation of Doubly Linked List
20 Queue / Stack Operations implementation using DLL
Week 12 21 Intro. & Applications of Circular Link List (CLL)
22 Queue / Stack Operations implementation using CLL
Week 13 23 Divide and conquer algorithms
24 Binary Tree, Strictly Binary Tree, Complete Binary Tree, Implementation of BST
Week 14 25 Tree Traversal: Three Tick method
26 AVL Trees, Operations on AVL Tree
Week 15 27 Heaps, Min Heaps, Max Heaps
28 Min Balanced BST, Max Balanced BST
Week 16 29 Graphs, Types of Graphs
30 Adjacency matrix and adjacency list implementations, Graph Traversal Techniques
Week 17 2 hours Final Term
Laboratory Projects/Experiments Done in the Course Yes
Programming Assignments Done in the Course Yes
Instructor Name Eisha Tir Razia
Instructor Signature
Date