Topic outline

  • Welcome to Data Structures




    Instructor : Tania Khatun
    Office : Level-3, Room-704, Academic Building 01, DIU Ashulia Campus  
    Telephone : 01685069742
    Email              : tania.cse@diu.edu.bd
    Office/Counselling Hour:

    Welcome Information on Data Structures Course

          

        Online C Compiler for Data Structures Lab


    Instructions/Guidelines for the course:

    • All the students registered for this course have to enroll in BLC
    • Students can find all the course materials from BLC
    • All the students have to submit the soft copy of their "Assignment" in Moodle under  assignment section created here and for this they will be graded here.
    • One discussion or feedback forum is created under each of the lecture. Students have to give their feedback on these forum and marks will be given for their feedback
    • Announcement regarding the class will be posted on Moodle. 
    • Quizzes and presentation may be held on face to face class and may be few of the class will be held on online (BLC) and it will be announced before the class
    • The question pattern and the syllabus for the quizzes, midterm and final exam is given here under each of the section (quizzes, midterm and final)
    • There are midterm and final exam preparation forum under these sections where students can discuss with each other about their midterm and final exam syllabus, any problem regarding the exam etc.


    Course Rationale

    This course investigates abstract data types (ADTs), recursion, algorithms for searching and sorting, and basic algorithm analysis. ADTs to be covered include lists, stacks, queues, priority queues, trees, sets, and graphs. The emphasis is on the trade-offs associated with implementing alternative data structures for these ADTs.

    Course Objectives

    • To introduce the fundamental concept of data structures including link-list
    • To emphasize the importance of data structures in implementing the algorithms
    • To develop effective skills in the implementation of data structure


    Course Outcomes (CO’s)

    • CO1 Able to explain implementation and operations of basic data structures: Linked list, stack, queue, tree and graph
    • CO2 Able to apply programming techniques using pointers, dynamic memory allocation and structures to implement data structures: stack, queue, tree and graph
    • CO3 Able to design and implement new abstract data using a linked list, stack, queue, tree and graph with the help of programming implementations
    • CO4 Able to apply the knowledge of data structure in problem-solving


    Assessment Instructions
    Theory Class Lab Class
    Attendance: 7%
    Class Tests/Quizes:  15% 
    Assignment: 5%
    Presentation (using video/ppt): 8%
    Midterm Exam: 25%
    Final Exam: 40%
    Lab Attendance: 10%
    Problem Solving: 40%
    Lab Performance Test: 25%
    Lab Report: 25%
    [All assessment will be based on onsite/online situation]


    Textbook

    a. Data Structures and Algorithm Analysis in C by Mark Allen Weiss
    b. Principles of Data Structures
    by Pande

    Reference Books/Materials


    Student Feedback Form: [Student's are requested to fill up the form]

  • Course Discussion Forum

  • Quiz and Assignment Instructions

    Guideline of Quiz and Assignment: 

    1. Before attending the quiz or assignment make sure that your internet is available. 

    2. For Quiz you will have 3 attempts in total. At the beginning read the questions carefully then solve and submit your answer. The time you click to participate in your quiz time will be counted.

    3. For Assignment you need to check the deadline first. And then solve the question and submit the pdf copy. You need to make sure that you are not copying the answer from google because if you do that plagiarism will be automatically checked and your script will be cancelled.

    • Feedback Form

      Fill up the following google form to give your feedback regarding the class and the organization of BLC.

      https://docs.google.com/forms/d/e/1FAIpQLScjg35c85UXKjFrUDVuWohiXMaCnzGrMCuhT3F_0oUBhkOu7w/viewform

      • Online class schedule of Data Structure Lab in Fall-2020

        Data Structure Lab (PC-A and PC-E section) will find their online class schedule[Meet link, Date, Time] for Fall 2022. Click to find your schedule before your class. The schedule can be changed if necessary according to university preferences.

      • Attendance

        • Week 1: Preparing Background

          • Topics of discussion

          1. Introduction and importance of Data Structure in computing; Applications
          2. Review discussion on recursion, pointer, structure, self-referential structure; dynamic memory allocation

          • Expected Learning Outcome

          1. Appreciate the needs of data structure
          2. Visualize the applications
          3. Perform exercise on basic self-referential structure

          • Self-Test and Additional Problem Solving

        • Week 2: Adaptive Lesson on Preparing Background

          • Topics of discussion

          1. Introduction and importance of Data Structure in computing; Applications
          2. Review discussion on recursion, pointer, structure, self-referential structure; dynamic memory allocation

          • Expected Learning Outcome

          1. Appreciate the needs of data structure
          2. Visualize the applications
          3. Perform exercise on basic self-referential structure

          • Self-Test and Additional Problem Solving

        • Week 3: Exercise and Course Project

          • Topics for discussion:

          1. Computational Complexity and exercises
          2. Self-referential structure application for link list
          3. Exercise on visualization of data node
          4. Course Project Team and discussion on presentation and deliverable

          • Expected Learning Outcome:

          1. Computational Complexity and exercises
          2. Self-referential structure application for link list
          3. Exercise on visualization of data node
          4. Course Project Team and discussion on presentation and deliverable

        • Week 4: Discussion on Link-List

          Topics of discussion:

          1. Link-List and operations on link list
          2. Project Discussion and execution plan
          3. Class Test#1

          Expected Learning Outcome:

          1. Visualization of the link list
          2. Write code for the designed link list
          3. Selection of project topic by team

          • Assignment to Week 3 (PC-A)
            Opened: Saturday, 27 August 2022, 12:00 AM
            Due: Tuesday, 20 September 2022, 12:00 AM
            Restricted Not available unless: You belong to T1_PC-A
          • Assignment to Week 3 (PC-D)
            Opened: Saturday, 27 August 2022, 12:00 AM
            Due: Tuesday, 20 September 2022, 12:00 AM
            Restricted Not available unless: You belong to T1_PC-D
          • Assignment to Week 3 (PC-E)
            Opened: Saturday, 27 August 2022, 12:00 AM
            Due: Saturday, 3 September 2022, 12:00 AM
            Restricted Not available unless: You belong to T1_PC-E
        • Week 5: Adaptive Lesson on Link-List

          Topics of discussion:

          1. Practice lesson on Link-List

          Expected Learning Outcome:

          1. Review of Link-List Knowledge
          2. Self-confidence building on applying the link-list concept

          • Week 4 Assignment (PC-A Section)
            Opened: Wednesday, 24 August 2022, 12:00 AM
            Due: Saturday, 24 September 2022, 12:00 AM
            Restricted Not available unless: You belong to T1_PC-A
          • Week 4 Assignment (PC-D Section)
            Opened: Wednesday, 24 August 2022, 12:00 AM
            Due: Saturday, 24 September 2022, 12:00 AM
            Restricted Not available unless: You belong to T1_PC-D
          • Week 4 Assignment (PC-E Section)
            Opened: Wednesday, 24 August 2022, 12:00 AM
            Due: Saturday, 24 September 2022, 12:00 AM
            Restricted Not available unless: You belong to T1_PC-E
        • Week 6: Review discussion on Link-List

          • Topics of discussion:

          1. Review operations on Link list and applications
          2. Discussion on Stack data structure
          3. Exercise using Stack data structure

          • Expected Learning Outcome:

          1. Implement link list operations using C programming
          2. Analyzing stack data structure

          • Self-Test Questions

          • Week-5 Assignment (PC-A Section)
            Opened: Thursday, 8 September 2022, 12:00 AM
            Due: Tuesday, 20 September 2022, 12:00 AM
            Restricted Not available unless: You belong to T1_PC-A
          • Week-5 Assignment (PC-D Section)
            Opened: Thursday, 8 September 2022, 12:00 AM
            Due: Tuesday, 20 September 2022, 12:00 AM
            Restricted Not available unless: You belong to T1_PC-D
          • Week-5 Assignment (PC-E Section)
            Opened: Thursday, 8 September 2022, 12:00 AM
            Due: Tuesday, 20 September 2022, 12:00 AM
            Restricted Not available unless: You belong to T1_PC-E
        • Week 7: Discussion on Stack Applications

          • Topics of discussion:

          1. Application of stack in processing expressions
          2. Discussion on Queue data structure
          3. Class Test# 2

          • Expected Learning Outcome:

          1. Implement processing of expression using stack   
          2. Analyze queue data structure

          • Presentation on Course Project

          • Week-6 Assignment (PC-A Section)
            Opened: Thursday, 8 September 2022, 12:00 AM
            Due: Tuesday, 20 September 2022, 12:00 AM
            Restricted Not available unless: You belong to T1_PC-A
          • Week-6 Assignment (PC-D Section)
            Opened: Thursday, 8 September 2022, 12:00 AM
            Due: Tuesday, 20 September 2022, 12:00 AM
            Restricted Not available unless: You belong to T1_PC-D
          • Week-6 Assignment (PC-E Section)
            Opened: Thursday, 8 September 2022, 12:00 AM
            Due: Tuesday, 20 September 2022, 12:00 AM
            Restricted Not available unless: You belong to T1_PC-E
        • Week-08 Searching and Sorting Algorithm Based on Brute Force Approach

          Topics of discussion

          1. Introduction to brute force techniques.
          2. Introduction to the searching Algorithm.
          3.  Introduction to the sorting Algorithm
          4. Quiz #01

          Expected Learning Outcome

          1. Knowledge about the Linear Search algorithm and its complexity
          2. Knowledge about the Insertion sort algorithm and its complexity
          3. Knowledge about the Bubble sort algorithm and its complexity
          4.  Knowledge about the Selection sort algorithm and its complexity
          5.  Exercise the Sorting and searching Algorithm with some additional problems.

          Week-08 Plan
          week planTopicsMaterials
           Week-08 Lecture                 
          • Video on Lecture 
          • PPT on Lecture

          Brute Force algorithm                          
          Linear Search
          Insertion Sort

          Week-08 Lecture
          • Video on Lecture 
          • PPT on Lecture

          Bubble Sort,
          Selection Sort

           Week-03 Lab
          • Video on Lab
          • Manual on Lab

          Linear Search



          • Week-08 Assignment (PC-A Section)
            Opened: Thursday, 15 September 2022, 12:00 AM
            Due: Thursday, 22 September 2022, 12:00 AM
            Restricted Not available unless: You belong to T1_PC-A
          • Week-08 Assignment (PC-D Section)
            Opened: Thursday, 15 September 2022, 12:00 AM
            Due: Thursday, 22 September 2022, 12:00 AM
            Restricted Not available unless: You belong to T1_PC-D
          • Week-08 Assignment (PC-E Section)
            Opened: Thursday, 15 September 2022, 12:00 AM
            Due: Thursday, 22 September 2022, 12:00 AM
            Restricted Not available unless: You belong to T1_PC-E
        • Week-09 Searching and Sorting Algorithm Based on Divide and Conquer Approach

          Topics of discussion

          1. Introduction to Divide and Conquer Approach.
          2.  Introduction to the searching Algorithm based on Divide and Conquer Approach. 
          3. Introduction to the Sorting Algorithm based on Divide and Conquer Approach. 

          Expected Learning Outcome

          1. Knowledge about the Binary Search algorithm and its complexity
          2. Knowledge about the Merge sort algorithm and its complexity
          3. Knowledge about the Quicksort algorithm and its complexity
          4. Exercise the Sorting and searching Algorithm with some additional problems.


          Week-09 Plan
          week planTopicsMaterials
           Week-09 Lecture                                  
          • Video on Lecture 
          • PPT on Lecture


          Binary Search
          Merge Sort
          Divide and Conquer Approach                    


          PPT link

          Week-09 Lecture
          • Video on Lecture 
          • PPT on Lecture

          Quick Sort


          PPT link

           Week-04 Lab
          • Video on Lab
          • Manual on Lab


          Bubble Sort
          Insertion Sort
          Binary Search

            
          Manual Link



          • Assignment to Week 9 (PC-A Section)
            Opened: Thursday, 1 September 2022, 12:00 AM
            Due: Saturday, 8 October 2022, 12:00 AM
            Restricted Not available unless: You belong to T1_PC-A
          • Assignment to Week 9 (PC-D Section)
            Opened: Thursday, 1 September 2022, 12:00 AM
            Due: Saturday, 8 October 2022, 12:00 AM
            Restricted Not available unless: You belong to T1_PC-D
          • Assignment to Week 9 (PC-E Section)
            Opened: Thursday, 1 September 2022, 12:00 AM
            Due: Saturday, 8 October 2022, 12:00 AM
            Restricted Not available unless: You belong to T1_PC-E
        • Week 14-15: Final Exam


          • Topics of the final:
          1. Tree, BST and applications
          2. Heap and application of Heap
          3. Basics of Graph data structure

          • Lab Final CSE135(T1_PC-A) Submission Assignment
            Opened: Sunday, 13 November 2022, 10:00 AM
            Due: Sunday, 13 November 2022, 11:30 AM
            Restricted Not available unless: You belong to T1_PC-A
          • Missing Lab Final (PC-D) Assignment
            Opened: Monday, 21 November 2022, 10:20 AM
            Due: Monday, 21 November 2022, 10:50 AM
            Restricted Not available unless: You belong to T1_PC-D
        • Project and Report

          • Project Report Submission (PC-A section) Assignment
            Opened: Sunday, 4 December 2022, 12:00 AM
            Due: Wednesday, 21 December 2022, 11:59 PM
            Restricted Not available unless: You belong to T1_PC-A
          • Project Report Submission (T1_PC-D section) Assignment
            Opened: Monday, 19 December 2022, 12:00 AM
            Due: Wednesday, 21 December 2022, 11:59 AM
            Restricted Not available unless: You belong to T1_PC-D
          • Project Report Submission (T1_PC-E section) Assignment
            Opened: Monday, 19 December 2022, 12:00 AM
            Due: Wednesday, 21 December 2022, 11:59 AM
            Restricted Not available unless: You belong to T1_PC-E
        • Final Assignment

          • Assignment-1 (T1_PC-A Section)
            Opened: Monday, 19 December 2022, 12:00 AM
            Due: Wednesday, 21 December 2022, 11:59 PM
            Restricted Not available unless: You belong to T1_PC-A
          • Assignment-2 (T1_PC-A Section)
            Opened: Monday, 19 December 2022, 12:00 AM
            Due: Wednesday, 21 December 2022, 11:59 PM
            Restricted Not available unless: You belong to T1_PC-A
          • Assignment-1 (T1_PC-D Section)
            Opened: Monday, 19 December 2022, 12:00 AM
            Due: Wednesday, 21 December 2022, 11:59 PM
            Restricted Not available unless: You belong to T1_PC-D
          • Assignment-2 (T1_PC-D Section)
            Opened: Monday, 19 December 2022, 12:00 AM
            Due: Wednesday, 21 December 2022, 11:59 PM
            Restricted Not available unless: You belong to T1_PC-D
          • Assignment-1 (T1_PC-E Section)
            Opened: Monday, 19 December 2022, 12:00 AM
            Due: Wednesday, 21 December 2022, 11:59 PM
            Restricted Not available unless: You belong to T1_PC-E
          • Assignment-2 (T1_PC-E Section)
            Opened: Monday, 19 December 2022, 12:00 AM
            Due: Wednesday, 21 December 2022, 11:59 PM
            Restricted Not available unless: You belong to T1_PC-E