Weekly outline

  • CSE214 & CSE215 (Theory & LAB)

    "For me, great algorithms are the poetry of computation"

                                                                                                                                                                        --Francis Sullivan

  • Week 1: Ice Breaking and Course Overview

    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

    Pages: 4Lesson: 1URL: 1
  • Week 2: Introduction to Algorithm

    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

    Books: 3Lesson: 1Forum: 1
  • Week 3: Brute Force: Searching & Sorting

    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

    Books: 3Lesson: 1Forum: 1
  • Week 4: Divide & Conquer

    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

    Books: 3Lesson: 1Forum: 1
  • Class Test 01

    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 submit

  • Lab Test-1 (25%)

    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 marking

  • Week 5: Greedy Algorithm

    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

    Books: 3Lesson: 1Forum: 1
  • Class Test 02

    Date/ Time: 2 Dec, 08:00pm [Ensure your laptop/ phone is fully charged before attempting to the test]
    Syllabus: Dynamic Programming

    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 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.

    Files: 2
  • Midterm Examination


    Midterm Exam Topics:

    - Introduction to Algorithms
    - Complexity analysis,
    - Brute force
    - Divide & conquer

    - Greedy algorithm

    Midterm Exam Guidelines (click to view)

    URL: 1Files: 2
  • Week 6: Dynamic programming (part 1)

    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

    Books: 3Lesson: 1Forum: 1
  • Week 7: Dynamic Programming (part 2)

    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

    Books: 3Lesson: 1Forum: 1
  • Week 8: Graphs (part 1)

    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

    Books: 3
  • Lab Final

    Date/ Time: 14 December, 06:00pm [Ensure your laptop/ phone is fully charged before attempting to the test]
    Syllabus: ALL that covered in the lab

    Total Time: 

    120 mins + 30 mins for VPL access issue

    Total Marks: 
    40

    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 marking

  • Week 10: Assignment

    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

  • Week 11: Presentation

    Presentation Mode & Topics:

    • Presentation will be individual and recorded
    • Find your topics here (pc-a, pc-b)

    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

    URL: 1
  • Week 13: Final Examination


    24 December 2020 (9.00am to 1.00pm)

    Final Examination Topics:

    - Midterm Syllabus
    - Dynamic Programming

    - Graphs

    Online Exam Guidelines (click to view)

    Files: 2URL: 1
  • Lab Test 02 (25%)

    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, Adhoc

    Total 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 marking