Skip to main content

Foundation of Data Structures

Learn the best way to structure and represent data.

About This Course

Data structures provide means to manage large amounts of data efficiently for use such as large 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.

What you'll 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

Prerequisites

Knowledge of programming concepts, as covered in ‘Basic Programming’ course is necessary.

Course Staff

Course Staff Image #1

Ajit Diwan

Prof Ajit A Diwan received his BTech from IIT Bombay, and PhD from TIFR Bombay. He is a Professor of Computer Science and Engineering at IIT Bombay since 1988. His broad research interests are Graph theory, Combinatorics, and Algorithms. He teaches courses like Design and Analysis of Algorithms, Algorithms and Complexity, Discrete Structures, Operations Research, etc.. He has made substantial research contributions in his favorite area of graph theory. He is well known for his unique teaching style which involves discussing a problem, followed by brainstorming sessions and discussion among peers in the class.

Course Staff Image #2

Ganesh Ramakrishnan

Prof. Ganesh Ramakrishnan is an Associate Professor at IIT Bombay. His research interests are Statistical Relational Learning, Information Extraction, Information Mining from Unstructured Resources, Information and Communication Technology for Rural Development, Machine Learning, and Optimization. He has worked extensively in the area of feature induction and relational learning in machine learning, including algorithms and data structures for scaling them up. Apart from these, Ganesh has made significant contributions to Sandhan, an Indian Language search engine; Programmable Machine Translation; Search over entities and relationships; BET, a tool for Inductive Logic Programming that integrates several existing algorithms and induction frameworks (BET stands for Background + Example = Theory).

Besides his contributions in the Department of Computer Science and Engineering, Ganesh works closely with the Centre for Technology Alternatives for Rural Areas. Some of his notable contributions in that area include, voice and video based solutions for information dissemination for farmers and others in the informal sector and technology alternatives for improving supply chain efficiency for farmers and cottage industries. He was awarded the IBM Faculty Award in 2011.

Course Staff Image #1

Deepak B. Phatak

Deepak B Phatak has been working with IIT Bombay since 1971. His main concern is improvement in the quality of education commensurate with the Indian national aspirations, on a larger scale. Towards this end, he has dovetailed the synchronous distance education, which he started 15 years ago at IIT Bombay, into an innovative program for training 10,000 teachers at a time. He believes in developing affordable technological solutions. He headed the national initiative on Aakash tablets. He has been an advisor and IT consultant to organizations and companies, and has worked on many company boards. He has won several distinctions and awards. He has been conferred ‘Padma Shri’ by Government of India.

Course Staff Image #1

Nagesh Karmali

Nagesh Karmali is a Sr. Manager (Research) in the Dept. of CSE at IIT Bombay and heads the Fundamental Research Group. He is associated with IIT Bombay since 2005. His broad research areas are in the field of Parallel Databases, Big Data Analytics, Adaptive Recommendation Systems, Peer Evaluation Systems, etc. His interests also lies in Category Theory, Control Theory, System Dynamics, Music Theory, etc. He has mentored over 70 B Tech, DD, and M Tech theses since 2008. He maintains a wiki for his research projects, which can be accessed at www.it.iitb.ac.in/frg/wiki. He also likes to travel across villages and learn from the local people.

  1. Course Number

    CS213.1x
  2. Classes Start

    February 21, 2017 - Self-Paced
  3. Classes End

    Dec 12, 2017
  4. Estimated Effort

    8 hours/week
Enroll