Design and Analysis of Algorithms (CSC 314) is a Fifth Semester course in Tribhuvan University’s BSc CSIT program. It teaches how to analyze algorithm efficiency and how to design solutions using divide and conquer, greedy methods, dynamic programming, and backtracking — ending with number-theoretic algorithms and NP-completeness.
Start with the official DAA syllabus (CSC 314), then study from the notes below:
- DAA Notes by Bhupendra Singh Saud (PDF)
- DAA Notes by Arjun Singh Saud (PDF)
- DAA Handwritten Notes – Part I (PDF)
- DAA Handwritten Notes – Part II (PDF)
- DAA Handwritten Notes – Part III (PDF)
What you’ll learn
- Algorithm analysis, asymptotic notations, and solving recurrences with the Master theorem
- Iterative and divide-and-conquer searching, sorting, and order statistics
- Greedy algorithms: fractional knapsack, job sequencing, Kruskal, Prim, Dijkstra, Huffman coding
- Dynamic programming: matrix chain, string editing, 0/1 knapsack, Floyd–Warshall, TSP
- Backtracking: subset sum, 0/1 knapsack, N-queen
- Number-theoretic algorithms, P vs NP, NP-completeness proofs, and approximation algorithms
Course snapshot
- Code: CSC 314
- Program: BSc CSIT, Fifth Semester
- Board: Tribhuvan University (IOST)
- Nature: Theory + Lab, 3 credit hours
- Marks: 60 (final) + 20 (internal) + 20 (lab)