Section outline
-
"For me, great algorithms are the poetry of computation"
--Francis Sullivan
-
PC-A: 10:00 - 11:30 (Saturday), 08:30 - 10:00 (Monday), Lab 08:30 - 11:30 (Wednesday)
PC-B: 13:00 - 14:30 (Saturday) 08:30 - 10:00 (Sunday) Lab 10:00 - 13:00 (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
-
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 SurveyActivities: 6 -
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
Activities: 10 - 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
Activities: 10 - 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
Activities: 10 - 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
-
Date/ Time: 15 October, 08:15 pm [Ensure your laptop/ phone is fully charged before attempting to the test]
Syllabus: Week 01 to Week 04 (Introduction, Complexity, BF, D&C)Question Type: Open Book
Open Book Test Guidelines
During this open book 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) Drink water and have snacks
(4) No discussion in group or with your classmates as it will be reflected in your answers
(5) 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
Total Test Time:90 mins (15 mins for downloading the question paper & Answer script + 60 mins for answering the questions + 15 mins for submitting/ uploading the answers to BLC). Penalty will be incurred if failed to upload within the given time.
During the Test:
(1) Download the question paper (pdf) from this section of DIU BLC
(2) You may type your answers directly on the provided space in BLC or you may type it in a doc file on your computer and copy & paste the answers in the assigned space provided in the BLC. Final submission must be through the assigned space provided in the BLC. No hand written text/ scan file will be granted.
(3) You must mention corresponding Question number to the answers before you submitActivities: 0 -
Date/ Time: 20 October, 08:15 pm [Ensure your laptop/ phone is fully charged before attempting to the test]
Syllabus: Week 02 to Week 04 (Brute force, D&C, Adhoc)Total Time:
120 mins.
Total Marks:
3*15 (=45)Some 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) Drink water and have snacks
(4) No discussion in group or with your classmates as it will be reflected in your answers
(5) No sharing of codes, write-ups or ideas as this will be automatically detected by DIU BLC Plagiarism checker and will lead to negative markingActivities: 0 -
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
Activities: 10 - 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
-
Date/ Time: 2 Dec, 08:00pm [Ensure your laptop/ phone is fully charged before attempting to the test]
Syllabus: Dynamic ProgrammingQuestion Type: Open Book
Open Book Test Guidelines
During this open book 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) Drink water and have snacks
(4) No discussion in group or with your classmates as it will be reflected in your answers
(5) No sharing of codes, write-ups or ideas as this will be automatically detected by DIU BLC during evaluation and will lead to negative marking proposed by the system(6) No copy text or code or any from Internet as this will be detected by DIU BLC system plagiarism checker during evaluation and this will lead to negative marking by the system
Total Test Time:
90 mins (15 mins for downloading the question paper & Answer script + 60 mins for answering the questions + 15 mins for submitting/ uploading the answers in pdf format). Penalty will be incurred if failed to upload within the given time.
Activities: 2 -
Midterm Exam Topics:
- Introduction to Algorithms
- Complexity analysis,
- Brute force
- Divide & conquer- Greedy algorithm
Activities: 3 -
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
Activities: 10 - 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
Activities: 10 - 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
Activities: 8 - 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: 14 December, 06:00pm [Ensure your laptop/ phone is fully charged before attempting to the test]
Syllabus: ALL that covered in the labTotal Time:
120 mins + 30 mins for VPL access issue
Total Marks:
40Some 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) Drink water and have snacks
(4) No discussion in group or with your classmates as it will be reflected in your answers
(5) No sharing of codes, write-ups or ideas as this will be automatically detected by DIU BLC Plagiarism checker and will lead to negative markingActivities: 0 -
Instructions:
- Your Assignment will be taken as viva
- It will be based on your basic understanding and short questions will be asked
- Some samples of short questions are given in the "Course Introduction" section
- Syllabus will be given in the class
Activities: 0 -
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
Activities: 1 -
24 December 2020 (9.00am to 1.00pm)
Final Examination Topics:
- Midterm Syllabus
- Dynamic Programming
- Graphs
Online Exam Guidelines (click to view)
Activities: 3 -
Date/ Time: 5 December, 07:00pm [Ensure your laptop/ phone is fully charged before attempting to the test]
Syllabus: Brute force, D&C, Greedy, DP, AdhocTotal Time:
90 mins.
Total Marks:
2*15 (=30)Some 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) Drink water and have snacks
(4) No discussion in group or with your classmates as it will be reflected in your answers
(5) No sharing of codes, write-ups or ideas as this will be automatically detected by DIU BLC Plagiarism checker and will lead to negative markingActivities: 0