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
- 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