COURSE DESCRIPTION

NAME OF INSTITUTION Lahore Garrison University
PROGRAM (S) TO BE EVALUATED Computer Science , Spring 2023
Course Description :
Course Code CSC331
Course Title Data Structure and Algorithms
Credit Hours 3+1
Prerequisites by Course(s) and Topics Object Oriented Programming
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 MS. Rabia Khan
URL (if any)
Current Catalog Description
Textbook (or Laboratory Manual for Laboratory Courses) The aim of this course is to cover basic and in-depth concepts of Data Structures and Algorithms. Students will learn how data structures are helpful to solve different problems. It will provide foundation in learning advanced algorithm analysis course. Student can use C++ language for the purpose of implementation, and they will learn generic concepts which will be used for developing different software applications. The knowledge of C++ languages is expected as strong background
Reference Material  Nell Dale: C++ Plus Data Structures, Latest Edition, Jones & Bartlett  Data Structure using C/C++ by Mark Alan.  Yadidyah Langsam, Moshe J. Augenstein, Aaron M. Tenenbaum: Data Structures using C and C++.  Dr. Sohail Aslam: Data Structures Handouts.  Graph Theory & Algorithms by Dr. M. Ashraf Iqbal
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*
Demonstrate knowledge about the practical aspects of data structures & algorithms Lab Course. C 3
Adapt the ability for developing Data structures & Algorithms based solutions that meet specified needs for an engineering problem at hand. P 3
Work effectively as an individual or in team to solve real world problems. A 3
* 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 Implementation of stack using STL library (Push, Pop, Swap)
6 Infix, Prefix, Postfix notation, Conversions. Postfix Expression Evaluation.
Week 4 7 Implementation of Selection sort, Bubble Sort
8 Implementation of Insertion Sort
Week 5 9 Implementation of List as Singly Link List
10 Implementation of List as Singly Link List( Insertion at the start, Insertion at the end and Insertion at a specific position)
Week 6 11 Implementation of List as Singly Link List( Deletion Searching and Display operations)
12 Implementation of Doubly Linked List( Insertion and Deletion Operations)
Week 7 13 Implementation of Doubly Linked List( Searching and Display Operations)
14 Stack Operations implementation using Circular Linked List
Week 8 1 hours Mid Term
Week 9 15 Stack Operations implementation using Doubly Circular Linked List
16 Stack Operations implementation using Doubly Circular Linked List
Week 10 17 Queue , Dequeue & its implementation using arrays
18 Priority queues, Circular queues using arrays
Week 11 19 Divide and conquer algorithms
20 Binary Tree, Strictly Binary Tree, Complete Binary Tree
Week 12 21 Divide and conquer algorithms
22 Binary Tree, Strictly Binary Tree, Complete Binary Tree
Week 13 23 Implementation of BST
24 Tree Traversal: Three Tick method
Week 14 25 AVL Trees, Operations on AVL Tree
26 Heaps, Min Heaps, Max Heaps
Week 15 27 Implementation of Heap sort
28 Min Balanced BST, Max Balanced BST
Week 16 29 Graphs, Types of Graphs
30 Adjacency matrix and adjacency list implementations
Week 17 2 hours Final Term
Laboratory Projects/Experiments Done in the Course
Programming Assignments Done in the Course
Instructor Name MS. Rabia Khan
Instructor Signature
Date