Skip to main content
Learn how to structure and use algorithms to solve real life problems

About This Course

Algorithms power the biggest web companies and the most promising startups. Interviews at tech companies start with questions that probe for good algorithm thinking. In this computer science course, you will learn how to think about algorithms and create them using sorting techniques such as quick sort and merge sort, and searching algorithms, median finding, and order statistics.

The course progresses with Numerical, String, and Geometric algorithms like Polynomial Multiplication, Matrix Operations, GCD, Pattern Matching, Subsequences, Sweep, and Convex Hull. It concludes with graph algorithms like shortest path and spanning tree.

Topics Covered
  • Sorting and Searching
  • Numerical Algorithms
  • String Algorithms
  • Geometric Algorithms
  • Graph Algorithms

What you'll learn

  • Structure of important algorithms.
  • How to use algorithms with appropriate data structures, to solve real life problems.
  • How algorithms and data structures can be used to design system at scale.

Prerequisites

Concepts of data structures as covered in ‘Foundations of Data Structures’ and ‘Implementation of Data Structures’ courses.

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.3x
  2. Classes Start

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

    Dec 12, 2017
  4. Estimated Effort

    8 hours/week
Enroll