Wolaita Sodo University
School of Informatics, Computer Science Department
Semester Based Project for DSA
Maximum Weight :25%
Instructions of the project
1. Start coding your project based on the design. Implement the chosen data structures and
algorithms, ensuring efficiency and correctness. Make sure to follow good coding practices, use
comments, and version control.
2. Analyze the performance of your algorithms and data structures. Discuss time and space
complexity, and make improvements if necessary.
3. Create comprehensive documentation that explains the project's structure, algorithms used,
and how to use the application.
4. Prepare a presentation and a report that outlines your project, including the problem statement,
design, implementation, testing, and performance analysis. Be prepared to explain your work and
answer questions.
5. Submit your project code, documentation, and any necessary files or resources to me.
6. You will Present your project at the end of semester and explain your project's strengths and
limitations.
7. Get your project with respective to your group
The objective of this project: is to apply your knowledge of data structures and algorithms to
solve a real-world problem or create a useful application. You will demonstrate your
understanding of key DSA concepts and your ability to design, implement, and analyze
algorithms.
Prepared by Tekle D.
List of Project
1. Student Grade Management System
This project uses arrays to store student records, applies sorting algorithms to arrange
students based on their scores, and implements binary search to quickly locate a specific
student record in the dataset.
2. Web Browser History Manager
This system uses stacks to manage the backward and forward navigation of web pages,
where visiting a new page pushes it onto the stack and going back pops the previous page
from the stack.
3. Printer Job Scheduling System
This project implements a queue data structure to manage print requests, ensuring that
documents are printed in the same order in which they are received following the First-In-
First-Out (FIFO) scheduling principle.
4. Music Playlist Application
This application uses a doubly linked list to store songs in a playlist, allowing users to
move forward and backward through songs efficiently while maintaining the order of the
playlist.
5. Expression Evaluation Calculator
This project uses stack data structures to convert infix expressions into postfix notation
and evaluate the expressions, enabling the system to process mathematical operations
correctly according to operator precedence.
6. File Directory Management System
Prepared by Tekle D.
This system uses a tree data structure to represent the hierarchical structure of
directories and files, where each folder acts as a parent node and the contained files and
subfolders are represented as child nodes.
7. Social Network Friend Analyzer
This project models users and their relationships using a graph data structure, and uses
Breadth-First Search (BFS) to analyze connections and determine the shortest relationship
path between users.
8. City Route Navigation System
This application represents cities as nodes in a graph and roads as edges, and applies
shortest path algorithms to determine the most efficient route between two locations.
9. Online Bookstore Search Engine
This project organizes books using a binary search tree to store book records, enabling
efficient searching, insertion, and retrieval of book information.
10. Hospital Emergency Room Management System
This system uses a priority queue to manage patients based on the severity of their
condition, ensuring that patients with critical conditions receive treatment before others
regardless of arrival time.
11. Password Storage and Strength Checking System
This project uses a hash table to store and retrieve user passwords efficiently, enabling
fast lookup operations and preventing duplicate or weak password entries.
Prepared by Tekle D.