Course Description

 

This course introduces fundamental data structures and algorithmic techniques used in modern computing systems. The course balances conceptual understanding with practical implementation through coding exercises, system design scenarios, and performance analysis.

Students will explore how data structures influence efficiency, scalability, and maintainability in real-world systems such as databases, distributed platforms, and enterprise applications.

Emphasis is placed on practical implementation, algorithmic thinking, and applying data structures to solve real technical problems.


Learning Outcomes

 

By the end of the course, students will be able to:

  1. Explain how data structures affect performance and scalability
  2. Implement core structures such as lists, stacks, queues, trees, and graphs
  3. Analyze algorithm efficiency using Big-O notation
  4. Apply appropriate data structures to real IT problems
  5. Design and implement solutions using efficient algorithms
  6. Evaluate trade-offs between different data structures

Module 1: Introduction to Data Structures in Real Systems – Instructor Slides | Student PDF

Module 2: Arrays – Instructor Slides | Student PDF

Module 3: Linked Lists – Instructor Slides | Student PDF

Module 4: Stacks and Queues – Instructor Slides | Student PDF

Module 5: Trees and Hierarchical Data- Instructor Slides | Student PDF

Module 6: Graphs and Algorithmic Thinking – Instructor Slides | Student PDF