Topic outline

  • Welcome to Data Structures


    Welcome Message::
    My Dear Students, 
    Assalamulaikum and greetings to all of you. I'm Moushumi Zaman Bonny, Assistant Professor in the Department of Computer Science and Engineering at the Daffodil International University. 
    I have received Bachelor degree of Science in Computer Science and Engineering (CSE)  from Jahangirnagar University and also received my Master's degree from the same university. I have completed my PhD  from the same University as well.
    In this semester I will take the course CSE 214 and CSE215: Algorithms and Algorithms Lab, which is designed for helping students to grow up with the understanding of algorithms and providing them the fundamental principles of algorithms. The course will introduce the students about  different well-known algorithms and their simulations and applications. 
    I'm delighted that you are interested in taking our specialization. We have done our part to make this a rewarding educational experience. Now it's your turn, good luck. 

    Welcome to Data Structure Lab Course.............

    Instructor's Profile:

    me
    Instructor : Dr. Mouushumi Zaman Bonny
    Office 723, 6th Floor, AB04, Daffodil International University, DSC, Ashulia

    Office Hour   : Sunday (14:00/16:00),Tuesday (14:00/16:00) or by appointment

    Telephone : 8130864  Ext. 226
    Email: bonny.cse@diu.edu.bd
    Appointment in Google CalendarClick Here

    Welcome Information on Data Structures Course

    • Welcome Audio
    • Listen to Course Objectives
    • Listen to Expected Outcomes
    • Listen to Course Delivery Plan
    • Some Successful Projects


    Student Interests Survey

    Online C Compiler for Data Structures Lab

    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 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 Plan:

    1. Students will have 16 Lab Classes in 16 weeks. 
    2. From each lab class, the lab performance will be evaluated. 
    3. They have to submit a course-based project to get 25% marks. 
    4. They must appear for a final lab test after 16 weeks of lab performance.     

    Assessment Instruction

    Lab Class:

    Attendance: 10%                                                                                                        

    Lab performance Test: 25%                                                                                

    Lab Project Submission: 25%                                                     

    Final Lab Exam: 40%

    Total: 100%




    [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

  • 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: 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 3: 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

  • Week 4: 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 5: 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 6: 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 7: Midterm Exam


    • Topics for Mid Exam:
    1. Link-list and operations
    2. Stack and application of stack

    • Week 8: Discussion on Tree Data Structure


      • Topics of discussion:

      1. Discussion on Tree data structure
      2. Tree traversals and applications

      • Expected Learning Outcome:

      1. Implementation of tree data structure
      2. Problem solving for tree traversal

      • Self-test on Tree Data Structure

    • Week 9: Discussion on Binary Search Tree (BST)


      • Topics of discussion:

      1. BST and operations on BST
      2. Applications of BST

      • Expected Learning Outcome:

      1. Implementation of BST and related operations
      2. Problem solving using BST

      • Presentation on Course Project

    • Week 10: Discussion on Heap


      • Topics of discussion:

      1. HEAP data structure and applications of Heap
      2. Exercise on BST and Heap

      • Expected Learning Outcome:

      1. Implementation of Heap and operations
      2. Problem solving using BST

      • Self-Test on BST

    • Week 11: Discussion on Graph


      • Topics of discussion:

      1. Graph data structure and applications of graph
      2. Traversal of Graph

      • Expected Learning Outcome:

      1. Implementation of graph data structure
      2. Problem solving using Heap

      • Class Test 3

    • Week 12: Review Discussion


      • Topics of discussion:

      1. Review exercises on Tree, BST, Heap and Graph

      • Expected Learning Outcome:

      1. Problem solving using Tree, BST, Heap, and Graph

      • Self-test

    • Week 13-14: Final Exam


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