Birla Institute of Technology & Science, Pilani
Data Structures and Algorithms

This Labor Day, enjoy $120 off Coursera Plus. Unlock access to 10,000+ programs. Save today.

Birla Institute of Technology & Science, Pilani

Data Structures and Algorithms

Gain insight into a topic and learn the fundamentals.
8 weeks to complete
at 10 hours a week
Flexible schedule
Learn at your own pace
Gain insight into a topic and learn the fundamentals.
8 weeks to complete
at 10 hours a week
Flexible schedule
Learn at your own pace

What you'll learn

  • Implement and manipulate data structures (arrays, linked lists, stacks, queues) for efficient data management in software development.

  • Apply sorting algorithms (quicksort, mergesort, insertion sort) to optimize data organization and retrieval for solving real-world problems.

  • Design and analyze graph algorithms (BFS, DFS, shortest paths) to address complex network-related challenges in data management.

  • Utilize tree structures (binary trees, AVL trees) and hash tables for rapid data access and storage, enhancing computational efficiency.

Details to know

Shareable certificate

Add to your LinkedIn profile

Recently updated!

August 2025

Assessments

140 assignments

Taught in English

See how employees at top companies are mastering in-demand skills

 logos of Petrobras, TATA, Danone, Capgemini, P&G and L'Oreal

There are 10 modules in this course

In this module, you will learn how to measure the efficiency of algorithms at design time. More specifically, you will learn about asymptotic notation to represent the efficiency of algorithms in terms of the time and space utilized by your algorithms. You will also revisit C fundamentals with the help of a few basic programs.

What's included

22 videos5 readings8 assignments1 ungraded lab1 plugin

In this module, you will learn about linked lists, stacks, and queues, along with their applications to various domains of computing. You will learn to apply them to construct efficient algorithms for various problems. You will also be able to implement these data structures in C.

What's included

27 videos8 readings17 assignments1 discussion prompt3 ungraded labs

In this module, you will learn about top-down recursive algorithms, with a specific discussion on insertion sort and merge sort algorithms. Specifically, you will understand the recursive and iterative versions of these sorting algorithms along with their derivations of time and space complexities. You will also implement these algorithms on large tuple data read from files and compare the running time of these algorithms. Additionally, you will learn to implement linear and binary search algorithms over arrays.

What's included

23 videos8 readings18 assignments1 discussion prompt3 ungraded labs

In this module, you will learn about the quick sort algorithm, implement it and analyze its time complexity. You will additionally study a summary of comparison-based sorting algorithms, along with their lower bound time complexity. You will also learn non-comparison-based sorting algorithms, such as bucket sort and radix sort, along with their complexity analysis and implementation.

What's included

14 videos5 readings12 assignments1 programming assignment1 discussion prompt2 ungraded labs

In this module, you will learn about dictionary ADT s, hash tables, and binary trees. You will understand various hashing schemes, such as linear chaining and open addressing, and analyze their performance for large data. You will also gain insights into binary trees, tree traversals, and their implementations.

What's included

16 videos6 readings14 assignments1 discussion prompt2 ungraded labs

In this module, you will learn to use binary search trees and AVL trees as dictionaries. You will learn to implement them and store large tuple data. You would also be able to compare the search performance of both the trees averaged over large datasets. Additionally, you would be able to derive the best and worst-case complexities of search, insert, and delete in binary search trees (BST s) and AVL trees.

What's included

22 videos5 readings18 assignments1 discussion prompt1 ungraded lab

In this module, you will learn about priority queues abstract data type (ADT ) and various kinds of tries. You will also learn to implement heaps for priority queues and use them to find efficient tries for file compression. Additionally, you will learn about tries, compressed tries, and suffix trees, along with their applications to various domains of computer science.

What's included

20 videos6 readings15 assignments1 programming assignment1 discussion prompt2 ungraded labs

In this module, you will learn the fundamentals of graphs, the data structures used to represent them, and the breadth-first graph traversal algorithm. You will learn to use the breadth-first graph traversal to solve a few computational problems related to graphs, such as checking for bipartite graphs and counting the connected components. You will also be able to implement breadth-first traversal efficiently using the appropriate data structure.

What's included

17 videos4 readings14 assignments1 discussion prompt1 ungraded lab

In this module, you will learn about depth-first traversal in graphs and its applications to graph-related problems. You will learn to analyze its complexity and implement it efficiently. You will understand the minimum spanning trees (MST) problem in weighted graphs and study Kruskal’s algorithm that computes MST from a weighted graph. You will additionally learn to optimize the time complexity of Kruskal’s algorithm using the union-find data structure and implement it.

What's included

19 videos6 readings15 assignments1 discussion prompt1 ungraded lab

In this module, you will learn about Prim’s algorithm for computing the minimum spanning tree in a weighted graph. Additionally, you will also learn about Dijkstra’s algorithm to compute “single-source shortest paths.” You will also learn about the Bellman-Ford algorithm to compute “single-source shortest paths” in graphs with negative edge weights. You will also be able to implement these algorithms and analyze their time complexities.

What's included

14 videos6 readings9 assignments1 ungraded lab1 plugin

Earn a career certificate

Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.

Instructor

BITS Pilani Instructors Group
Birla Institute of Technology & Science, Pilani
10 Courses32,180 learners

Offered by

Why people choose Coursera for their career

Felipe M.
Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."
Coursera Plus

Open new doors with Coursera Plus

Unlimited access to 10,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription

Advance your career with an online degree

Earn a degree from world-class universities - 100% online

Join over 3,400 global companies that choose Coursera for Business

Upskill your employees to excel in the digital economy

Frequently asked questions