https://elearn.daffodilvarsity.edu.bd/pluginfile.php/1138813/course/section/242387/16181038844289674-audio.ogg
Instructor's Information:
This course introduces students to the analysis and design of computer algorithms. Upon completion of this course, students will be able to do the following:
CO1: Analyze and calculate time complexity and space complexity of various algorithms or any written code using mathematical formula and comparison of algorithms.
CO2: Generate and interpret the output of iterative and recursive codes with the analysis of the problem definition.
CO3: Identify which algorithm listed under which algorithmic paradigm. Compare among various algorithms/implemented codes and choose the efficient one.
CO4: Break down and describe the simulation of various algorithms for different input values.
CO5: Design and apply appropriate algorithms to solve real-life problems.
Class Attendance
07
Assignment
5
Class Test
15
Presentation
8
Mid Term Exam
25
Semester Final Exam
40
Total:
100
Introduction and importance of Algorithm and its applicationFunction and Recursion, Euclid’s Greatest Common Divisor (GCD) Algorithm
Gain knowledge about the importance of algorithmPerform exercise on function and recursion function
Lecture Slide [Introduction to Algorithms]Class Lecture Video [Class-1, Class-2]
Introduction with the Asymptotic NotationDiscussion on the Complexity of AlgorithmsImportance of Complexity for designing an Algorithm
Gain knowledge about the importance of algorithmFind out the Asymptotic Notation from an AlgorithmFind out the complexity from any code or algorithm
Lecture Slide [Computational Complexity, Complexity Analysis]Lecture Video [Class-1, Class-2]
Also, If you have any problems or confusion then feel free to discuss.
Introduction to brute force techniques.Introduction to the searching Algorithm.Introduction to the sorting Algorithm
Knowledge about the Linear Search, Binary Search algorithm and its complexityKnowledge about the Insertion sort, Selection sort, Bubble sort algorithm and its complexityExercise the Sorting and searching Algorithm with some additional problems.
Lecture Slide [Searching Algorithm, Sorting Algorithm]Lecture Video [Class-1, Class-2]
Introduction to divide and conquer approach.Introduction to the searching Algorithm based on Divide and Conquer Approach. Introduction to the Sorting Algorithm based on Divide and Conquer Approach.
Knowledge about the Merge sort algorithm and its complexityKnowledge about the Quick sort algorithm and its complexityExercise the Sorting and searching Algorithm with some additional problems.
Lecture Slide [Merge Sort, Quick Sort]Lecture Video [Class-1, Class-2]Class Lecture Video on QuickSort [View]
Quiz-1 Syllabus:
Introduction to Greedy ApproachDiscussion on Coin Change ProblemDiscussion on Bin packing ProblemDiscussion on Knapsack ProblemDiscussion on Hoffman codingAssignment-01
Solve the Coin Change Problem based on Greedy MethodSolve the Knapsack Problem based on Greedy MethodSolve the Hoffman coding based on Greedy MethodSolve the Bin packing Problem based on Greedy MethodExercise the Sorting Algorithm with some additional problems in the Lab.
Lecture Slide [Coin change, Bin packing (Greedy)] [Knapsack, Huffman (greedy)]Lecture Video [Class-1, Class-2]
---------------------------------------------------------------------------------------------------------------------------
At the end of the slide there are two exercises. Write the solution in your script (Handwritten), capture images, add them to a word file, and make a pdf. If you have no option to use a computer then just attached the captured image. Whichever method you use, submit the file here as attachments within the due date. Do not forget to write your name and ID at the upper corner of your word file and also save the file with your Student ID.
Introduction to Dynamic Programming (DP)Discussion on Fibonacci Numbers ProblemDiscussion on Coin Change Problem (DP)Discussion on Knapsack Problem (0/1)
Solve the Coin Change Problem based on DPSolve the Knapsack Problem based on DPSolve the Fibonacci Numbers Problem based on DPExercise the Bin-packing Algorithm with some additional problems in the Lab
Lecture Slide [Intro to DP, Coin Change]Lecture Video [Class-1 (Part-1, Part2)]Lecture Video [Class-2]
Introduction to 0/1 knapsack problem using Dynamic Programming (DP)Discussion on longest Common Subsequence and Edit Distance ProblemDiscussion on longest Increasing Subsequence (DP).
Solve the 0/1 Knapsack Problem based on DP.Solve the Longest Increasing Subsequence (LIS) Problem based on DPSolve the Longest Common Subsequence (LCS).
Lecture Slide [Knapsack Problem; LIS and LCS]Lecture Video [Class-1 ]Lecture Video [Class-2 (Part-1-LIS), (Part-2-LCS)]
You are asked to solve the exercises given at the end of the slides and share your answer here. Also, if you have any problems or confusion about Week-8 content then feel free to share.
Introduction to GraphGraph RepresentationDiscussion on Graph Traversal
Solve the Breadth-First Search (BFS) algorithmSolve the Depth First Search (DFS) Algorithm
Lecture Slide [Intro to Graph, Graph Traversal]Lecture Video [Class-1, Class-2]
Quiz-2 Syllabus:
Discussion on Minimum Spanning Tree (MST)Discussion on Single Source Shortest Path
Solve MST using Kruskal’s AlgorithmSolve MST using Prim’s AlgorithmSingle-Source Shortest Path(SSSP) by Dijkstra’s Algorithm
Lecture Slide [MST, Dijkstra Algorithm]Lecture Video [Class-1, Class-2]
If you have any problems or confusion about this week's content then feel free to share.
Upload your report to the following google drive within three days after your presentation. Each team will upload one report in pdf. Rename the file by your Group name and Title before uploading.
Syllabus of Final Examination:
1. All topics of Mid Term [From Week - 2 to Week - 5]
2. Dynamic Programing:
Graph Introduction and Representation, BFS-DFS, Applications of DFS, Minimum Spanning Tree (MST): Kruskal’s and Prim’s, Dijkstra’s Algorithm