Section outline
-
"For me, great algorithms are the poetry of computation"
--Francis Sullivan
-
PC-A: 09:30 - 10:30 (Sunday), Lab 11:30 - 14:30 (Wednesday)
PC-B: 09:30 - 10:30 (Monday), Lab 11:30 - 14:30 (Tuesday)
-
Quick Navigation Assessments: CT1 CT2 CT3 Assignment Presentation Mid Exam Final Exam Lab Test-1 Lab Test-2 Lab Final Week2Go: WK1 WK2 WK3 WK4 WK5 WK6 WK7 WK8 -
Online Class Link (PC-A) Google Meet™ for Moodle
-
Online Class Link (PC-B) Google Meet™ for Moodle
-
Welcome Note from Instructor
ABOUT COURSE
GENERAL GUIDELINES ABOUT THE COURSE
COURSE RATIONALE
COURSE OBJECTIVES
COURSE TOPICS (WEEK-WISE)
PREREQUISITE TOPICS
REFERENCE MATERIALS
FOR STUDENT SUPPORT
Student Interest Survey-
Viewing this resource may take some time.
-
LESSON OBJECTIVE
- To appreciate the role of algorithm in problem solving and importance of complexity analysis for algorithms
LEARNING OUTCOMES
- Interpret a problem
- Appreciate & write an algorithm for the problem
- Understand the importance of algorithm in solving real life problems
- Identify the states of different complexity cases of an algorithm
- Perform exercises on functions, recursions & pointers
TOPICS
- Algorithm definition
- Introducing some real life problems
- Introducing different algorithm strategies
- Asymptotic Notation
- Functions, Recursions, Pointers, Euclid's GCD algorithm (LAB)
CONTENTS
- To appreciate the role of algorithm in problem solving and importance of complexity analysis for algorithms
-
LESSON OBJECTIVE
- To introduce with brute force type problems in searching & sorting domains
LEARNING OUTCOMES
- Knowledge about the Linear Search algorithm and its complexity
- Knowledge about the Insertion sort algorithm and its complexity
- Knowledge about the Bubble sort algorithm and its complexity
- Knowledge about the Selection sort algorithm and its complexity
- Exercise the Sorting and searching Algorithm with some additional problems
TOPICS
- Introduction to brute force techniques
- Introduction to the searching Algorithm
- ntroduction to the sorting Algorithm
CONTENTS
- To introduce with brute force type problems in searching & sorting domains
-
LESSON OBJECTIVE
- To teach the main strategy of divide & conquer and the examples/ problems those are typically solved by this strategy and the complexity analysis of those problems
LEARNING OUTCOMES
- Explain how divide & conquer strategy works
- Give examples of problems those are typically solved using divide & conquer strategy
- Explain the complexity of the problems those are typically solved using divide & conquer strategy
- Draw difference in complexity between brute force and divide & conquer
TOPICS
- Basic understanding of divide & conquer
- Binary search & its complexity
- Merge sort and its complexity analysis
- Quick sort and its complexity analysis
CONTENTS
- To teach the main strategy of divide & conquer and the examples/ problems those are typically solved by this strategy and the complexity analysis of those problems
-
-
Opened: Tuesday, 6 September 2022, 7:00 PMClosed: Tuesday, 6 September 2022, 7:10 PM
-
Opened: Thursday, 8 September 2022, 11:00 AMClosed: Thursday, 8 September 2022, 11:10 AM
-
-
Date/ Time: 13 Sep, 11:40am & 01.10 pm (PC-B), 11:40am & 01.10 pm (PC-A)
Syllabus: Brute force, D&C, & AdhocTotal Time: 80 mins.
Total Marks:
2*15 =30Some Guidelines
Code of conducts:
(1) The test is individual and no discussion with your classmates as it will be reflected in your answers
(2) No sharing of codes, write-ups or ideas as this will be automatically detected by DIU BLC Plagiarism checker and will lead to negative marking -
LESSON OBJECTIVE
- To teach the basic methodology of greedy algorithm and the examples/ problems those are typically solved by this methodology and the complexity analysis of those problems
LEARNING OUTCOMES
- Appreciate the importance of solving certain problems using greedy algorithm strategy
- Explain scenarios where greedy algorithm fails and need other strategies to solve
- Solve the Coin Change Problem based on Greedy Method
- Solve the Knapsack Problem based on Greedy Method
- Solve the Huffman coding based on Greedy Method
- Solve the Bin packing Problem based on Greedy Method
- Exercise the Sorting Algorithm with some additional problems in the Lab
TOPICS
- Properties of greedy algorithm
- Coin change problem
- Discussion on Bin packing Problem
- Discussion on Knapsack Problem
- Discussion on Huffman coding
CONTENTS
- To teach the basic methodology of greedy algorithm and the examples/ problems those are typically solved by this methodology and the complexity analysis of those problems
-
LESSON OBJECTIVE
- To teach the strategy of dynamic programming and the examples/ problems those are typically solved by this strategy and the complexity analysis of those problems
LEARNING OUTCOMES
- Explain the basic working procedure of dynamic programming
- Give examples of problems those are typically solved using dynamic programming
- Explain the complexity of dynamic programming
TOPICS
- Basic understanding of dynamic programming
- Fibonacci series
- 0/1 Knapsack problem
- DP coin change problem
CONTENTS
- To teach the strategy of dynamic programming and the examples/ problems those are typically solved by this strategy and the complexity analysis of those problems
-
LESSON OBJECTIVE
- To teach the strategy of dynamic programming and the examples/ problems those are typically solved by this strategy and the complexity analysis of those problems
LEARNING OUTCOMES
- Explain the basic working procedure of dynamic programming
- Give examples of problems those are typically solved using dynamic programming
- Explain the complexity of dynamic programming
TOPICS
- LIS (Longest Increasing Subsequence)
- LCS (Longest Common Subsequence)
CONTENTS
- To teach the strategy of dynamic programming and the examples/ problems those are typically solved by this strategy and the complexity analysis of those problems
-
LESSON OBJECTIVE
- To teach how graphs and trees play an important role in solving many of our real life problems and writing corresponding algorithms to solve the problems
LEARNING OUTCOMES
- Explain non-linear data structures (graphs & trees) and scenarios where they are used
- Search over a graph or tree and make different operations on that
- Interpret complexities of different graph operations
TOPICS
- Basics of graphs
- Definitions of different types of graphs
- Memory representation of graphs
- Applications of graphs
- Graph traversals (BFS, DFS)
CONTENTS
- To teach how graphs and trees play an important role in solving many of our real life problems and writing corresponding algorithms to solve the problems
-
Date/ Time: 7 December, 11:45AM
Syllabus: All that are covered in the Lab, Ad Hoc.
Total Time: 120 mins
Total Marks: 45Some Guidelines
During this online lab test, you need to ensure the following items and code of conducts:
(1) Books, online repository and other relevant materials
(2) Your other supporting materials like clock, pen, pencil, eraser, calculator etc.
(3) No discussion in group or with your classmates as it will be reflected in your answers
(4) No sharing of codes, write-ups or ideas as this will be automatically detected by DIU BLC Plagiarism checker and will lead to negative marking -
Presentation Mode & Topics:
General Instructions for the Presentation:
- In presentation, marks will be given on: getup & outfit, body language, English command, eye contact, content knowledge, Q/A
- Try to prepare the slides with more figures and less text. The font size of text should be larger so that it can be seen from the back bench of your class (if your are presenting through online due to COVID-19 pandemic, you are advised to ignore slides, instead prepare recorded presentation as per guidelines given to the link below)
- Give slide number (during pandemic, you are advised to ignore slides)
- More instructions will be discussed in the class
A few Examples from previous good Presentations
-
Date :- 29/08/2021, Sunday | Time :- 1:30 PM - 5:00 PM
Syllabus: Everything (Including Midterm)