Check out Learning Programs for Structured Learning Experience Learn More
ESC

What are you looking for?

Type to search across courses, batches, and programs.

IT and Software

Computer Algorithms

Learn to design, analyse, and scale algorithms the way top engineers do. From greedy strategies and dynamic programming to MPI-powered parallel algorithms, all in one structured, university-grade course.

0.0
157 students enrolled
Created by
Dr. Dinesh B. Kulkarni Dr. Dinesh B. Kulkarni

About this course

Why This Course?

Algorithms are the backbone of every technical interview, every scalable system, and every efficient product. This course goes beyond theory, you'll not only learn how classic algorithms work, but why they're efficient, and how to parallelize them for real-world scale.

What makes it different:

  • Interview-ready depth: Dynamic programming, graph algorithms, and complexity theory, the exact topics asked at top tech companies

  • Rare parallel computing edge: Most algorithm courses stop at theory. Here, you'll write scalable parallel algorithms using MPI

  • Analysis-first mindset: Learn to formally compare algorithms using Big-O, Big-Ω, and Big-Θ, not just implement them

  • Built on a proven university curriculum: Adapted from accredited B.Tech. engineering program of Walchand College of Engineering, Sangli

  • Taught by experienced faculty: Learn from seasoned educator with years of experience teaching algorithms and mentoring engineering students, bringing classroom-tested clarity to every concept

What You'll Learn (Course Outcomes)

By the end of this course, you will be able to:

  • Design solutions using divide-and-conquer, greedy, and dynamic programming techniques

  • Apply graph algorithms to solve real-world routing, networking, and optimization problems

  • Analyse and compare algorithm efficiency using asymptotic notation

  • Develop parallel algorithms with MPI for scalable, high-performance computing

Course Curriculum

Module 1: Foundations & Greedy Algorithms

Algorithm analysis · Asymptotic notation (Big-O, Big-Ω, Big-Θ) · Time & space complexity · Activity selection · Fractional Knapsack · Huffman coding · Intersecting line segments

Module 2 : Divide & Conquer + Dynamic Programming

Quick Sort· Convex Hull · Closest pair of points · Matrix chain multiplication · Longest Common Subsequence · 0/1 Knapsack · String matching & KMP algorithm

Module 3: Parallel Computing with MPI

Basics of parallelism · MPI fundamentals · Parallel Merge Sort · Parallel BFS & DFS · Parallel Prim's · Parallel Matrix Multiplication

Module 4: Shortest Path Algorithms

Bellman-Ford · Dijkstra's · Floyd-Warshall · Johnson's algorithm, the algorithms behind GPS, networks, and logistics

Module 5: Complexity Theory

P vs NP · NP-Complete · NP-Hard · Understanding the limits of computation

Module 6: Advanced Topics

Approximation algorithms · Randomized algorithms, practical strategies when perfect solutions are too expensive

Who This Course Is For

  • All circuit branch students preparing for semester exams, GATE, or placements

  • Software engineers brushing up for technical interviews at product companies

  • Developers who are interested in parallelizing and analyse their code

  • Anyone curious about introduction to parallel algorithms and high-performance computing

Prerequisite: Working knowledge of Data Structures (Arrays, Trees, Graphs, Stacks, Queues)

How You'll Learn

  • Video lectures for every topic, with visual walkthroughs of each algorithm

  • Coding assignments after each module to cement your skills

  • Quizzes & graded assessments modelled on university-standard evaluation

  • MPI lab exercises run real parallel programs, not just read about them

  • Capstone-style problems applying multiple techniques together

FAQ

Do I need prior experience with parallel programming?

No. Module 3 starts from the basics of parallelism and MPI, you just need to be comfortable with C/C++ or a similar language.

Is this course good for interview preparation?

Yes. Greedy, Dynamic Programming, graphs, shortest paths, and complexity theory are the most frequently tested topics in coding interviews.

How long will it take to complete?

Roughly 40 hours of core content including video lectures, quizzes and assignments.

Course content

6 sections 47 lectures
  • L1. Introduction to Algorithms Preview
  • L2. Complexity of an Algorithm
  • L3. Growth of a function and Complexity
  • L4. Knapsack Problem
  • L5. Huffman Coding - Part 1
  • L6. Huffman Coding - Part 2
  • L7. Huffman Coding Examples
  • Quiz
  • L1. Quick Sort Part 1
  • L2. Quick Sort Part 2
  • L3. Matrix Chain Multiplication - Part 1
  • L4. Matrix Chain Multiplication - Part 2
  • L5. Matrix Chain Multiplication - Part 3
  • L6. Convex Hull - Part 1
  • L7. Convex Hull - Part 2
  • L8. LCS
  • L9. String Matching - Part 1
  • Quiz
  • L1: Introduction
  • L2: Data and Task Parallel
  • L3: Parallel Paradigm, Performance Measurement
  • L4: MPI 1
  • L5: MPI 2- MPI Functions
  • L6: MPI 3- MPI Example- Calculation of Pi
  • L7: MPI 4: MPI Other Examples
  • L8: MPI 5- Parallel Strategy
  • L9: MPI 6- Analytical Modelling of Parallel Program
  • L10: MPI 7- Analytical Modelling Example
  • Shortest Path
  • Bellman Ford Shortest Path Algorithm
  • Shortest Path in DAG Graph
  • Shortest Path in DAG Graph
  • Applications of Shortest Path
  • All Pairs Shortest Path - Part 1
  • All Pairs Shortest Path - Part 2
  • All Pairs Shortest Path - Part 3
  • All Pairs Shortest Path - Part 4
  • Transitive Closure Example
  • Johnson Algorithm of APSP
  • Complexity class - Part 1
  • Complexity class - Part 2
  • Complexity class - Part 3
  • Complexity class - Part 4
  • Complexity class - Part 5
  • Complexity class - Part 6
  • Complexity class - Part 7
  • Complexity class - Part 8
Free Enroll Now