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 OOP
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 Sahar Moin
URL (if any)
Current Catalog Description
Textbook (or Laboratory Manual for Laboratory Courses) Nell Dale : C++ Plus Data Structures, Latest Edition, Jones & Bartlett
Reference Material  Data Structure using C/C++ by Mark Alan..
Course Goals  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
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 Arrays Operations
2 Arrays Operations
Week 2 3 Stacks
4 Array Implementation Of Stack
Week 3 5 Sorting Algorithms(Selection Sort, Insertion Sort)
6 Sorting Algorithms(Bubble Sort, Divide and Conquer Algorithm)
Week 4 7 Application Of Stack – Conversion Of Infix To Prefix
8 Application Of Stack – Conversion Of Infix To Postfix
Week 5 9 Implementation Of Linear Queue Using Arrays
10 Queues: Using Arrays
Week 6 11 Array Implementation Of Circular Queue
12 Array Implementation of priority Queues
Week 7 13 Singly linked list – Linked list implementation
14 Linked List Implementation Of Stack
Week 8 1 hours Mid Term
Week 9 15 Singly linked list – Linked list implementation
16 Recursion and analyzing recursive algorithms
Week 10 17 Binary Tree, Strictly Binary Tree
18 Binary Tree, Strictly Binary Tree, Complete Binary Tree, Implementation of BST
Week 11 19 AVL Trees
20 Operations on AVL Tree
Week 12 21 Heaps, Min Heaps,
22 Heaps, Min Heaps, Max Heaps
Week 13 23 Min Balanced BST
24 Max Balanced BST
Week 14 25 Graphs, Types of Graphs
26 Adjacency matrix and adjacency list implementations
Week 15 27 Hashing. Hashing Techniques, Collisions & Collisions Avoidance Methods
28 Hashing. Hashing Techniques, Collisions & Collisions Avoidance Methods
Week 16 29 Memory management and garbage collection
30 Memory management and garbage collection
Week 17 2 hours Final Term
Laboratory Projects/Experiments Done in the Course Student Oriented Project
Programming Assignments Done in the Course Four Assignments
Instructor Name Sahar Moin
Instructor Signature
Date