Topic outline

  • CSE214 & CSE215 (Theory & LAB)

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

                                                                                                                                                                        --Francis Sullivan

    • Online Class Link (PC-A) Google Meet™ for Moodle
      Restricted Not available unless: You belong to PC-A
    • Online Class Link (PC-B) Google Meet™ for Moodle
      Restricted Not available unless: You belong to PC-B
  • 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

  • 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

  • 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

  • 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

  • Assignment

  • Lab Test-1 (25%)

    Date/ Time: 13 Sep, 11:40am  & 01.10 pm (PC-B), 11:40am  & 01.10 pm (PC-A)
    Syllabus: Brute force, D&C, & Adhoc

    Total Time: 80 mins.

    Total Marks: 
    2*15 =30

    Some 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

    • 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

    • 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

    • 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

    • Week 8: Graphs

      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

    • Lab Final

      Date/ Time: 7 December, 11:45AM

      Syllabus: All that are covered in the Lab, Ad Hoc.

      Total Time: 120 mins

      Total Marks: 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) 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

      • Week 11: Presentation

        Presentation Mode & Topics:

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

        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

      • Final Assessment

        Date :- 29/08/2021, Sunday | Time :- 1:30 PM - 5:00 PM

        Syllabus: Everything (Including Midterm)