Topic outline

  • Welcome to Data Structures

    Welcome Message

    Dear Students,
    Welcome to the Data Structure theory course. I,  Zannatul Mawa Koli will be your guide throughout this journey. This course will help you to understand many form of data and how to manipulate them, and finally how to implement them in real life applications. I care about your success in these course. I'm glad you are here.



      


    Instructor:  

    Zannatul Mawa Koli

    Lecturer

    Department of Computer Science and Engineering

    Office : AB4-Room: 727, DSC, Ashulia, Savar

    Email  : zannatulmawa.cse@diu.edu.bd





    Course Content (From the Syllabus)

    An overview of data structure concepts, arrays, stack, queues, trees, and graphs. Discussion of various implementations of these data objects, programming styles, and run-time representations. Course also examines algorithms for sorting, searching and some graph algorithms.

    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

    Grading Scheme
    Theory Class
    Attendance: 7%
    Class Tests/Quizes:  15% 
    Assignment: 5%
    Presentation (using video/ppt): 8%
    Midterm Exam: 25%
    Final Exam: 40%

    [All assessment will be based on offline 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

    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: Discussion on Stack


    • 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 queue


    • 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
    3. Queue and Application of Queue