Section outline
-
Instructor:
Tanvirul IslamLecturer, Department of Computer Science & EngineeringDaffodil International University(DIU)Dhaka, BangladeshContact: +8801636458757Email: tanvirulislam.cse@diu.edu.bdRoom: 723, AB-4, Daffodil Smart CityCourse 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%
Textbook
a. Data Structures and Algorithm Analysis in C by Mark Allen Weiss
b. Principles of Data Structures by PandeReference Books/Materials
- Google drive repository
- Other online resources
-
All the submission (Section V)
-
Linked List Implementation: Complete all the function given in last lab AssignmentOpened: Tuesday, 8 August 2023, 12:00 AMDue: Tuesday, 15 August 2023, 11:59 PM
-
Opened: Monday, 18 September 2023, 12:00 AMDue: Tuesday, 19 September 2023, 11:59 PM
-
-
All the submission (Section W)
-
Linked List Implementation: Complete all the function given in last lab AssignmentOpened: Tuesday, 8 August 2023, 12:00 AMDue: Friday, 11 August 2023, 11:59 PM
-
Complete the Mini Project- Phonebook Application AssignmentOpened: Saturday, 23 September 2023, 12:00 AMDue: Saturday, 30 September 2023, 12:00 AM
-
-
- Topics of discussion
- Introduction and importance of Data Structure in computing; Applications
- Review discussion on recursion, pointer, structure, self-referential structure; dynamic memory allocation
- Expected Learning Outcome
- Appreciate the needs of data structure
- Visualize the applications
- Perform exercise on basic self-referential structure
- Self-Test and Additional Problem Solving
-
- Topics for discussion:
- Computational Complexity and exercises
- Self-referential structure application for link list
- Exercise on visualization of data node
- Course Project Team and discussion on presentation and deliverable
- Expected Learning Outcome:
- Computational Complexity and exercises
- Self-referential structure application for link list
- Exercise on visualization of data node
- Course Project Team and discussion on presentation and deliverable
-
Opened: Thursday, 16 February 2023, 12:00 AMDue: Thursday, 23 February 2023, 12:00 AM
-
- Discussion on link list
- Question:
- Write the function of insertion a node after a given node.
- Write the function of insertion a node as Head.
- Discussion on link list
-
Topics of discussion:
- Link-List and operations on link list
- Project Discussion and execution plan
- Class Test#1
Expected Learning Outcome:
- Visualization of the link list
- Write code for the designed link list
- Selection of project topic by team
-
Topics of discussion:
- Practice lesson on Link-List
Expected Learning Outcome:
- Review of Link-List Knowledge
- Self-confidence building on applying the link-list concept
-
This is an adaptive learning session on Link-List and it is expected that participants will be able to conceptualize the insights of link-list data structure and its beauty.
-
-
- Topics of discussion:
- Review operations on Link list and applications
- Discussion on Stack data structure
- Exercise using Stack data structure
- Expected Learning Outcome:
- Implement link list operations using C programming
- Analyzing stack data structure
- Self-Test Questions
-
- Topics of discussion:
- Application of stack in processing expressions
- Discussion on Queue data structure
- Class Test# 2
- Expected Learning Outcome:
- Implement processing of expression using stack
- Analyze queue data structure
- Presentation on Course Project
-
List of Projects (DS)
- Build a Spell checker to mark the spelling errors from a file.
- Create a Phonebook.
- Build a 0248 game.
- Build a Sudoku game
- Build a snake and ladder game
- Build a game of tic tac toe
- Build a game of connect four
Instruction:
- Make a team of 3 people
- Book a topic (1 project can not be booked by more than 3 teams)
- make a project with output on console
- No interface is needed (You can make it if you want)
- Project display date May 30 to June 1.
-
Opened: Saturday, 25 November 2023, 12:00 AMDue: Tuesday, 28 November 2023, 11:59 PM
-
- Topics for Mid Exam:
- Link-list and operations
- Stack and application of stack
-
- Topics of discussion:
- Discussion on Tree data structure
- Tree traversals and applications
- Expected Learning Outcome:
- Implementation of tree data structure
- Problem solving for tree traversal
- Self-test on Tree Data Structure
-
- Topics of discussion:
- BST and operations on BST
- Applications of BST
- Expected Learning Outcome:
- Implementation of BST and related operations
- Problem solving using BST
- Presentation on Course Project
-
- Topics of discussion:
- HEAP data structure and applications of Heap
- Exercise on BST and Heap
- Expected Learning Outcome:
- Implementation of Heap and operations
- Problem solving using BST
- Self-Test on BST
-
Opened: Wednesday, 1 November 2023, 12:00 AMDue: Thursday, 2 November 2023, 11:59 PM
-
- Topics of discussion:
- Graph data structure and applications of graph
- Traversal of Graph
- Expected Learning Outcome:
- Implementation of graph data structure
- Problem solving using Heap
- Class Test 3
-
Opened: Tuesday, 14 November 2023, 12:00 AMDue: Tuesday, 14 November 2023, 11:59 PM
-
- Topics of discussion:
- Review exercises on Tree, BST, Heap and Graph
- Expected Learning Outcome:
- Problem solving using Tree, BST, Heap, and Graph
- Self-test
-
- Topics of the final:
-
Final Syllabus
-
Data Structure-Quiz (Section V)Opened: Monday, 27 November 2023, 2:30 PMClosed: Monday, 27 November 2023, 2:45 PM
-
Data Structure-Quiz (Section W)Opened: Monday, 27 November 2023, 2:30 PMClosed: Monday, 27 November 2023, 2:45 PM
-
Data Structure Lab Final- Section V AssignmentOpened: Monday, 11 December 2023, 2:30 PMDue: Monday, 11 December 2023, 3:50 PM
-
Data Structure Lab Final- Section W AssignmentOpened: Monday, 11 December 2023, 2:30 PMDue: Monday, 11 December 2023, 3:50 PM