Difference between revisions of "Fall 2026: Design and Analysis of Algorithms"

From MKWiki
Jump to navigation Jump to search
(Created page with "DAA, 2026")
 
 
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
DAA, 2026
+
== Logistics ==
 +
*Class Timings: '''Mondays''', '''Tuesdays''', and '''Thursdays''' 9:30 am - 10:30 am
 +
*Classroom: (''R-43'')
 +
*Lab Timings: '''Fridays''' 8:30 am - 10:30 am
 +
*Labs: Computer Lab 4 (''CL-3'')
 +
 
 +
== Course Overview ==
 +
* As per the Delhi University Course [https://drive.google.com/file/d/1-isuiS7jlUUQAKvW-52drz6jVdOwIkju/view Syllabus/Guidelines]
 +
 
 +
== Lectures ==
 +
{| class="wikitable" style="text-align: left; width: 100%";
 +
|-
 +
!Lecture
 +
!Topic
 +
!Lecture Slides
 +
!Readings
 +
|-
 +
| style="width: 12%; " |  Unit-1
 +
| style="width: 60%" |  '''''Searching, Sorting, Selection, Divide and Conquer:'''''
 +
| style="width: 15%" | [unit1.pdf] 
 +
| Chapter 2,4,6,7,8,9 (R1)
 +
|-
 +
| Unit 2
 +
|  '''''Graphs and Greedy algorithms:'''''
 +
|  [unit2.pdf] 
 +
| Chapter 3, 4 (R2) & 15(R1)
 +
|-
 +
| Unit 3
 +
|  '''''Dynamic Programming:'''''
 +
|  [unit3.pdf] 
 +
| Chapter 6 (R2)
 +
|-
 +
| Unit 4
 +
|  '''''Hash Functions, Collision resolution schemes:'''''
 +
|  [unit4.pdf]   
 +
| Chapter 11 (R1)
 +
|}
 +
 
 +
== Assignments and Tests==
 +
===Class Assignments===
 +
* '''''Assignment No. 1''''',
 +
* '''''Assignment No. 2''''',
 +
 
 +
===Tests and Quizzes===
 +
* '''Test 1''' :
 +
* '''Test 2''' :
 +
 
 +
==Labs==
 +
 
 +
'''Instructions'''
 +
* Please be on time to avoid the '''Attendance Penalty'''.
 +
* Please put your mobile phone on '''Silent Mode'''.
 +
* Each lab assignment needs to be submitted in the '''Google Classroom''' for evaluation(will be notified in the GC lab-wise, submit before the deadline).
 +
* Turn off'''(shut down) your assigned computer and arrange the chair''' before you leave the lab.
 +
 
 +
=== '''Practicals LIst '''===
 +
#  Write a program to sort the elements of an array using Insertion Sort (The program should report the number of comparisons).
 +
#  Write a program to sort the elements of an array using Merge Sort (The program should report the number of comparisons).
 +
#  Write a program to sort the elements of an array using Heap Sort (The program should report the number of comparisons).
 +
#  Write a program to sort the elements of an array using Quick Sort (The program should report the number of comparisons).
 +
#  Write a program to multiply two matrices using the Strassen’s algorithm for matrix multiplication.
 +
#  Write a program to sort the elements of an array using Count Sort.
 +
#  Display the data stored in a given graph using the Breadth-First Search algorithm.
 +
#  Display the data stored in a given graph using the Depth-First Search algorithm.
 +
#  Write a program to determine a minimum spanning tree of a graph using the Prim’s algorithm.
 +
#  Write a program to determine the shortest path from a given node s to the other nodes of a graph using the Dijkstra’s algorithm.
 +
#  Write a program to solve the 0-1 knapsack problem using Dynamic Programming.
 +
 
 +
== Resources ==
 +
'''References:'''
 +
* '''R1''': Cormen, T.H., Leiserson, C.E., Rivest, R. L., Stein C. Introduction to Algorithms, 4th edition, Prentice Hall of India, 2022.
 +
* '''R2''': Kleinberg, J., Tardos, E. Algorithm Design, 1st edition, Pearson, 2013.

Latest revision as of 22:55, 7 September 2026

Logistics

  • Class Timings: Mondays, Tuesdays, and Thursdays 9:30 am - 10:30 am
  • Classroom: (R-43)
  • Lab Timings: Fridays 8:30 am - 10:30 am
  • Labs: Computer Lab 4 (CL-3)

Course Overview

Lectures

Lecture Topic Lecture Slides Readings
Unit-1 Searching, Sorting, Selection, Divide and Conquer: [unit1.pdf] Chapter 2,4,6,7,8,9 (R1)
Unit 2 Graphs and Greedy algorithms: [unit2.pdf] Chapter 3, 4 (R2) & 15(R1)
Unit 3 Dynamic Programming: [unit3.pdf] Chapter 6 (R2)
Unit 4 Hash Functions, Collision resolution schemes: [unit4.pdf] Chapter 11 (R1)

Assignments and Tests

Class Assignments

  • Assignment No. 1,
  • Assignment No. 2,

Tests and Quizzes

  • Test 1 :
  • Test 2 :

Labs

Instructions

  • Please be on time to avoid the Attendance Penalty.
  • Please put your mobile phone on Silent Mode.
  • Each lab assignment needs to be submitted in the Google Classroom for evaluation(will be notified in the GC lab-wise, submit before the deadline).
  • Turn off(shut down) your assigned computer and arrange the chair before you leave the lab.

Practicals LIst

  1. Write a program to sort the elements of an array using Insertion Sort (The program should report the number of comparisons).
  2. Write a program to sort the elements of an array using Merge Sort (The program should report the number of comparisons).
  3. Write a program to sort the elements of an array using Heap Sort (The program should report the number of comparisons).
  4. Write a program to sort the elements of an array using Quick Sort (The program should report the number of comparisons).
  5. Write a program to multiply two matrices using the Strassen’s algorithm for matrix multiplication.
  6. Write a program to sort the elements of an array using Count Sort.
  7. Display the data stored in a given graph using the Breadth-First Search algorithm.
  8. Display the data stored in a given graph using the Depth-First Search algorithm.
  9. Write a program to determine a minimum spanning tree of a graph using the Prim’s algorithm.
  10. Write a program to determine the shortest path from a given node s to the other nodes of a graph using the Dijkstra’s algorithm.
  11. Write a program to solve the 0-1 knapsack problem using Dynamic Programming.

Resources

References:

  • R1: Cormen, T.H., Leiserson, C.E., Rivest, R. L., Stein C. Introduction to Algorithms, 4th edition, Prentice Hall of India, 2022.
  • R2: Kleinberg, J., Tardos, E. Algorithm Design, 1st edition, Pearson, 2013.