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