You are on page 1of 5

Data Structures Project List

Limitations
C or C++ is the only language which can be used.
No external or third party tool or libraries are allowed.
No marks will be awarded in case of copy or plagiarism without proper
references.
Requirement alteration is not allowed.
No graphical interface is required for all projects.
Projects must be properly commented.
You may submit the project in a group.
You may come up with your own project ideas but they must include core
data structures.

Project List

Project 1: Microsoft Access


Level: Hard
Requirements:
Microsoft Access is a relational database application. This
application is normally used to handle and store small databases. It
supports Graphical Interface to perform operations for example
creating tables, forms and building queries.
In this project you don't have to implement all these features. For this
project only two features are required out of hundreds of Access
features. One is Tables and the other is Query engine. Program must
accept command line arguments. User can also be able to save its
database and can also be able to open that some other time.

Tables:
Think about a University database. In a University
database we have many things for example Students,
Teachers, Courses etc. Each one of them is a Table. So in a
university database there are say three tables, Students,
Teachers and Courses. Now each Student has some
characteristics and so do Teachers and Courses have. In
students say we have Student Name, Roll No and Address.
These properties or characteristics are called Fields. A table
is a name of some Entity and each entity has some
characteristics which are Fields in a Table.

Your program must allow a user to create, delete and update a


table. User can be able to add, delete or update fields as well.

Query Engine:
This engine is nothing much but a service which allows a
user to perform some operations on a table with the help
of a simple string. You have to implement only few
Queries. One is Search, Insert and Delete.
Search Query: Search query should be like as following
SELECT * FROM <table name>
SELECT <field name> FROM <table name>
SELECT <field name> FROM <table name>
WHERE <field name> <condition>
Insert Query: Insert query should be like as following
INSERT INTO <table name> VALUES (<value
1>, <value 2>, <value 3>, …)
Delete Query: Delete query should be like as following
DELETE FROM <table name> Clear all fields
DELETE FROM <table name> WHERE <field
name> <condition>

Bonus Points:
Bonus marks will be awarded if you implement Relations
between tables and an Update Query.
Update Query: Update query should be like as following
UPDATE <table name> SET <field name> =
<value>, <field name> = <value>, …
WHERE <field name> = <value>

Project 2: Microsoft Excel


Level: Intermediate
Requirements:
Microsoft Excel is a spread sheet application. We can do a lot of things
on Excel for example charting, macros, searching and a lot of other
stuff. But for this project you need to implement only one thing. The
grid type input system and the formula system. For reference you
have to view Excel application that how the grid input system works
and how formula system works. Your system must be able to save a
file as well as opening that again for editing or viewing.

Formulas:
Implement Sum, Sub, Mul, Divide and other basic
mathematical formulas. Example: =B1+B2 this will sum
the cell B1 and B2 and result will be shown in the cell
where formula is written.

Bonus Points:
Extra marks will be awarded if you implement multi sheet
system with inter sheet formulas.

Project 3: Google Maps


Level: Intermediate
Requirements:
Your program should load the map from a file and then asks user for
its current location. Then user will enter the location which it wants to
search. After search your program will display the shortest and the all
available paths to the current location to the selected location. You
just have to display the name of locations as they appear in map
sequentially. Your Program should be able to search inter cities as well
as intra city locations. It should also display the total distance of the
paths. For reference visit maps.google.com

Bonus Points:
Bonus marks will be awarded if you implement Turn to Turn
system.

Project 4: File System


Level: Hard
Requirements:
File System is the most important part of an Operating System. In this
project you have to implement the file system of a Windows
Operating System say Windows 7. In this file system User will be able
to add new hard disks as well as new CD/DVD Roms. Your system will
generate a file tree as soon as new Removable media is inserted into
CD/DVD Rom and will also removes it as it will be ejected. As hard
disks or fixed media is concerned it will be treated as it is treated in
Windows Systems. User will be able to create partitions, delete
partitions or format partitions. Your system will make sure to keep
record of all information regarding fixed media. Your system must be
able to manage more than one hard disks. After partitions are made
normal operations will be available to perform. For example create
folder, delete folder, rename folder, copy folder, move folder and
same for the files. You must implement the security and attribute
system for files and folders as Windows do for example Folder is
Hidden, Folder is set to System or Read only and same for the files.
System must be able to search files and folders. As a hard disk is
removed from the system, your system must destroy its tree and as it
is attached back to the system the tree must be generated again. A
hard disk is actually a file which contains the information about
partitions, its size, files and folders.

Bonus Points:
Bonus marks will be awarded if you implement a service to
create files to show hard disks and CD/DVD Roms.

Project 5: A Strategy Game (Red Alert)


Level: Intermediate
Requirements:
As you may have played strategy games for example Red Alert, Rise
of Nations or Age of Empires you will be familiar how they works. In
these games we have to build a base or a nation and have to fight
against some enemy to either defend our self or to conquer our
opponent. But in this project you don't need to implement the
computer part or any opponent or any graphical thing. You have to
implement the back end data structures and a small attacking bot
which will attack your base or nation. Your game will have a hierarchy
of structures that what should be the sequence of building structures.
Structures are of different types some are power generation, defense
structures, upgrade structures and some are unit productions
structures along with structures to earn money to build things.
Structures are static where units can move anywhere on the map.
Each structure will acquire some land on the map which is different for
small structures and large structures. Each structure requires an
amount of electricity. Each unit and structure will have some defense
threshold as well as some energy. After the energy gets down to zero
that particular structure or unit will be destroyed. You have to
maintain all information about units and structures and also have to
implement a terrain where you will start the game. User must be able
to load or save its game.
Bonus Points:
Bonus marks will be awarded if you implement a service
which can create custom terrain or maps for your game.

Project 6: Dictionary
Level: Easy
Requirements:
This is a simple multi language dictionary. Your dictionary must be
able to do English – English as well as English – Urdu translation of
words. This dictionary must be able to display synonyms and other
information about the word entered for example either it’s a verb,
noun etc. Your dictionary must display the all available information
about the word entered for search. User must be able to add new
words or update information about some word.

Bonus Points:
Bonus marks will be awarded if you allow the user to add
new languages to the dictionary. A language pack is a file,
which contain information about the dictionary.

Project 7: Automatic Traffic System


Level: Easy
Requirements:
You have to implement an automatic traffic system which will be of
any kind. Either it’s a four way square with four signals or a two way
traffic signal it depends on user requirement. Your system must be
able to handle vip movements which have a high priority than
others. Your system must be able to handle traffic automatically
means it must detects the number of cars waiting on a signal will open
it if it has much number of cars waiting for the signal, but make
sure that the system must manage other signals too. But it must set a
priority based on number of cars. You have to load the signal
information from a file.

Bonus Points:
Bonus marks will be awarded if you implement a service to
create signal information files.

Project 8: Portal
Level: Easy
Requirements:
Your system must have all facilities, UCP portal has. Attendance
is not required.

Other Projects
Email System (Easy)
Ludo Game (Intermediate)

You might also like