NMCC202 & NMCC526

Design and Analysis of Algorithms

Lecture material, worked examples, and tutorials for NMCC202 & NMCC526. Each chapter is published as its own page — start with the basics of algorithms and build up to analysis, design paradigms, and beyond.

Instructor: Dr. Alakesh Kalita Mathematics and Computing IIT (ISM) Dhanbad
Section 01

Topics

Chapter-wise lecture pages with figures from the slides, interactive demos, and self-quiz answers.

Section 02

Practical

The laboratory course — weekly lab sheets and the lab assessment rules.

Section 03

Tutorials

Practice problem sets released after each chapter is covered in class.

01 · Overview

Course at a Glance

Everything administrative in one place — codes, textbook, and how you will be graded.

The course

Theory · NMCC202 / NMCC526 Lab · NMCC205 / NMCC528 L-T-P · 3-1-0 + lab

Design and Analysis of Algorithms, with the accompanying laboratory course Design and Analysis of Algorithms Laboratory — see the Practical section. Class load: Theory 3, Tutorial 1, plus the practical sessions.

Text Book T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein — Introduction to Algorithms, PHI, 3rd Edition, 2010.

Assessment (theory)

Quizzes & tutorials
20%
Mid-term exam
30%
Final exam
50%
Tutorial Tuesday, 9:00 – 9:50 AM. Tutorial topics will be announced soon.
02 · Schedule

Class Timetable

Weekly schedule for the theory and laboratory courses · Instructor: Dr. Alakesh Kalita.

NMCC202 / NMCC526 · Theory

DaySlotVenue
Monday9:00 AM – 9:50 AMNLHC-II-G16
Tuesday9:00 AM – 9:50 AMNLHC-II-G16
Thursday9:00 AM – 9:50 AMNLHC-II-G16
Friday9:00 AM – 9:50 AMNLHC-II-G16

Tuesday’s slot doubles as the tutorial hour.

NMCC205 / NMCC528 · Laboratory

DaySlotVenue
Thursday3:00 PM – 3:50 PMNLHC Computer Lab - I
Thursday4:00 PM – 4:50 PMNLHC Computer Lab - I
Thursday5:00 PM – 5:50 PMNLHC Computer Lab - I

Weekly lab assessment contributes 30% of the lab grading — details in Practical.

03 · Syllabus

Syllabus

Unit-wise topics and lecture hours.

5 units 46 lecture hours Textbook: CLRS, 3rd Edition
Unit 019 hrs

Foundations of Data Structures and Algorithms

  • Review of Basic Data Structures (Arrays, Linked Lists, Stacks, Queues)
  • Complexity Analysis: Time and Space Complexity, Big-O, Ω, and Θ Notation
  • Sorting Algorithms and Divide and Conquer Algorithms (Bubble sort, Insertion sort, Merge Sort, Quick Sort, Binary Search)
  • Recursion and Backtracking
Unit 0210 hrs

Advanced Data Structures

  • Hashing Techniques and Hash Tables
  • Heaps and Priority Queues, Heap sort, Fibonacci Heap sort
  • Binary Search Trees, AVL Trees, and Red-Black Trees
Unit 0310 hrs

Graph Algorithms

  • Representation of Graphs (Adjacency Matrix/List)
  • Breadth-First Search (BFS) and Depth-First Search (DFS)
  • Minimum Spanning Trees (Prim's and Kruskal's Algorithms)
  • Shortest Path Algorithms (Dijkstra, Bellman-Ford, Floyd-Warshall)
Unit 0412 hrs

Greedy Algorithms and Dynamic Programming

  • Greedy Strategy: Principles and Applications
  • Classic Problems: Huffman Encoding, Job sequencing with deadlines
  • Dynamic Programming: Principles and Patterns
  • Classic Problems: Knapsack, Longest Common Subsequence, Matrix Chain Multiplication, Rod-cutting Problem
Unit 055 hrs

Advanced Topics

  • Introduction to Randomized Algorithms
  • NP-Completeness and Reductions, Cook's theorem, Satisfiability
  • Approximation Algorithms
  • Gradient descent Algorithm (ML)
04 · Stay Updated

Join the Course WhatsApp Group

Announcements, schedule changes, and material updates land here first.

QR code to join the DAA_26 WhatsApp group

DAA_26 · WhatsApp group

Open WhatsApp → tap the camera → scan this QR code to join.

For enrolled students of NMCC202 / NMCC526 and the laboratory course.