Skip to main content

Foundations of Data Structures

Provided by IITBombay (IITBombayX)
See prerequisites
6–8 hours
per week, for 6 weeks

$49 USD for graded exams and assignments, plus a certificate

Learn the best way to structure and represent data.

Before you start

Knowledge of programming concepts, as covered in ‘Basic Programming’ course is necessary.
Course opens: Feb 19, 2019
Course ends: Dec 24, 2019

What you will learn

  • Various data structures
  • How to organize data efficiently
  • How to use appropriate data structures for representing, organizing, and manipulating data
  • How to create data structures using basic programming


Data structures provide a means to manage large amounts of data for use in databases and internet indexing services. Efficient data structures are key for designing efficient algorithms and obtaining maintainable software design.

In this Computer Science course, you will start by learning basic data types, such as numbers, and gradually build a conceptual framework for organizing and managing efficient structures.

Topics covered:

  • Basic Data Types, Notion of an Abstract Data Type
  • Mathematical Properties of Sequences
  • Special Types of Sequences: Stacks, Queues, Strings
  • Implementation of Sequence Type: Arrays and Linked Lists
  • Trees
  • Sets and Maps
  • Graphs

Preliminary understanding of implementing sequence structures such as stacks, queues, and linked lists, will also be covered.

This course is part of the Fundamentals of Computer Science XSeries Program:

Meet your instructors

Deepak B. Phatak
Professor, Department of Computer Science and Engineering
IIT Bombay
Nagesh Karmali
Sr. Manager (Research)
IIT Bombay
Ajit Diwan
Professor of Computer Science and Engineering
IIT Bombay
Ganesh Ramakrishnan
Associate Professor
IIT Bombay
View Courses
This course is part of:

Earn a XSeries Certificate in 4-6 months if courses are taken one at a time.

View the program
  1. 54–72 hours of effort

    Learn basic computer programming skills and master the art of writing C/C++ programs to solve real world problems.

  2. 24–32 hours of effort

    Learn the principles of programming for building large and extensible systems.

  3. Foundations of Data Structures
  4. 36–48 hours of effort

    Learn how to write correct and efficient data structures manipulation using existing standard template library (STL) of C++. Get introduced to the power of STL and make your code more solid, reusable, and robust.

  5. 36–48 hours of effort

    Learn how to structure and use algorithms to solve real life problems.

Get started in computer science

Browse over 600 computer science courses
Of all edX learners:
73% are employed
Of all edX learners:
45% have children
Based on internal survey results
349,041 people are learning on edX today