Data Structures and Algorithms
Course Details
- Course Title: Data Structures and Algorithms
- Course Code: CS-202
- Credit Hours: 2+1 Theory + Lab
- Pre-requisite: Object-Oriented Programming
- Offered To: BS (CS)
- Level: Undergraduate
- Institution: Indus University, Karachi, Pakistan
- Faculty: Faculty of Engineering, Science, and Technology (FEST)
- Semester Offered: Fall 2014
Objectives
This course helps students learn about various data management strategies, emphasizing their positive and negative effects. Students will learn data management techniques, rules for writing code, algorithm development techniques, and their implementation methods. The focus is on managing changes effectively in organizations.
Learning Outcomes
Upon completing this course, students will understand various techniques for managing data and information before and after processing. They will evaluate the reliability and performance of different data structure methods while recognizing the critical role of effective data management in programming. Additionally, students will develop structured solutions for managing data in RAM using appropriate techniques and implement advanced algorithms that leverage divide-and-conquer strategies and other efficient methods.
Course Outline
Lecture | Topic |
---|---|
1 | Introduction to Data Structures and Algorithms |
2 | Different Types of Data Structures |
3 | Complexity of Algorithm (Time-Space Tradeoff) |
4 | Introduction to Linear Data Structures |
5 | Operations on Arrays |
6 | String Processing |
7 | String Processing (Insertion & Deletion) |
8 | Stack and Queue Implementation of Arrays |
9 | Bubble Sort Algorithm |
10 | Selection and Insertion Sort Algorithms |
11 | Merge Sort Algorithm |
12 | Stack and Recursion |
13 | Quick Sort Algorithm |
14 | Linear and Binary Search Concepts |
15 | Binary Search Algorithm |
16 | Introduction to Linked Lists |
17 | Linked Lists: Creation and Traversal Algorithms |
18 | Linked Lists: Insertion and Deletion Algorithms |
19 | Two-Way Linked Lists: Creation and Traversal |
20 | Two-Way Linked Lists: Insertion and Deletion |
21 | Polish Notation (Infix, Prefix, Postfix) |
22 | Polish Notation: Conversion Methods |
23 | Introduction to Non-Linear Data Structures |
24 | Trees: Concepts and Types |
25 | Trees: Binary Search Tree (BST) Creation |
26 | Traversing BST: Inorder, Preorder, Postorder |
27 | Traversal Algorithms for BST |
28 | Deletion in BST (No or One Child Nodes) |
29 | Deletion in BST (Nodes with Two Children) |
30 | Graphs: Introduction and Applications |
31 | Graphs: Types and Adjacency Matrix Concepts |
32 | Graphs: Shortest Path Algorithms |
Assessment Criteria
Theory
- Quizzes, Assignments, Presentations: 20 Marks
- Mid-term Examination: 30 Marks
- Final Examination: 50 Marks
Lab
- Quizzes, Assignments, Presentations: 20 Marks
- Lab Manual: 12 Marks
- Viva Voice: 18 Marks
- Total: 50 Marks