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

From MKWiki
Jump to navigation Jump to search
Line 69: Line 69:
 
* Turn off'''(shut down) your assigned computer and arrange the chair''' before you leave the lab.
 
* Turn off'''(shut down) your assigned computer and arrange the chair''' before you leave the lab.
  
== Lab 1: ( week of 18<sup>th</sup> August 2025 ) ==
+
1) Write a program to sort the elements of an array using Insertion Sort (The program
{| class="wikitable" style="text-align: justify;
+
should report the number of comparisons).
|-
+
2) Write a program to sort the elements of an array using Merge Sort (The program
! Task. No.
+
should report the number of comparisons).
! Task
+
3) Write a program to sort the elements of an array using Heap Sort (The program
! Assessment Period
+
should report the number of comparisons).
! Submission Deadline
+
4) Write a program to sort the elements of an array using Quick Sort (The program
|-
+
should report the number of comparisons).
| style="width: 8%"  | 1
+
5) Write a program to multiply two matrices using the Strassen’s algorithm for matrix
| style="width: 60%" | Study of Network related Commands (Linux)
+
multiplication.
* Network Discovery: - '''''Ping, Traceroute/Tracepath, Nmap, MTR'''''
+
6) Write a program to sort the elements of an array using Count Sort.
* Traffic Analysis: - '''''Tcpdump, Iftop/Bmon, Iperf'''''
+
7) Display the data stored in a given graph using the Breadth-First Search algorithm.
* DNS/Domain Forensics: - '''''Dig, Nslookup, Whois, Host'''''
+
8) Display the data stored in a given graph using the Depth-First Search algorithm.
* Host configuration:- '''''Ifconfig/Ip, SS/Netstat, Ethtool, Hostname'''''
+
9) Write a program to determine a minimum spanning tree of a graph using the Prim’s
* Address/Routing Analysis: - '''''ARP, Route, Iproute2'''''
+
algorithm.
* Data Transfer/File Retrieval: - '''''wget, curl'''''
+
10) Write a program to solve the 0-1 knapsack problem.
| style="width: 15%" |  18/08/2025 - 25/08/2025
 
|  26/08/2025
 
|}
 
  
 
== Resources ==
 
== Resources ==

Revision as of 20:11, 11 September 2025

Logistics

  • Class Timings: Tuesdays 1:30 pm - 2:30 pm, Thursdays 1:30 pm - 2:30 pm & 4:30 pm - 5:50 pm
  • Classroom: R-27
  • Lab Timings: Fridays 8:30 am- 10:30 am
  • Labs: CS Lab-3

Course Overview

Lectures

Lecture Topic Lecture Slides Readings
Unit-1 Searching, Sorting, Selection: [unit1.pdf] Chapter 1 (CB1)
Unit 2 Graphs: [unit2.pdf] Chapter 2 (CB1)
Unit 3 Divide and Conquer: [unit3.pdf] Chapter 6 (CB1)
Unit 4 Greedy algorithms': [unit4.pdf] Chapter 4 (CB1)
Unit 5 Dynamic Programming: [unit5.pdf] Chapter 5 (CB1)
Unit 6 Intractability: [unit6.pdf] Chapter 6 (CB1)
Unit 7 Advanced Analysis of Algorithms: [unit7.pdf] Chapter 7 (CB1)

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.

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 solve the 0-1 knapsack problem.

Resources

References:

  • R1: Marjee T. Britz, Computer Forensics and Cyber Crime: An Introduction, Pearson Education, 2013.
  • R2: C. Altheide & H. Carvey Digital Forensics with Open Source Tools, Syngress, 2011.

Additional References:

  1. Computer Forensics: Investigating Network Intrusions and Cybercrime" by Cameron H. Malin, Eoghan Casey, and James M. Aquilina
  2. Online Course management System: https://esu.desire2learn.com/
  3. Computer Forensics, Computer Crime Investigation by John R,Vacca, Firewall Media, New Delhi.
  4. Computer Forensics and Investigations by Nelson, Phillips Enfinger, Steuart,CENGAGE Learning
  5. Real Digital Forensics by Keith j.Jones, Richard Bejitlich,Curtis W.Rose, AddisonWesley Pearson Education