Description and Instructions

1. Objectives

The main objective of this project is to get familiar with designing and developing an algorithmic problem solution using data structures concepts.

2. Introduction

On this project each group of students will solve a problem to assess their understanding of data structure. Students will work in groups of 2-3 students then collect their work in one report to be submitted with the other project materials.

3. Required work

Choose an algorithmic problem related to the concepts of data structures (one that has been covered in class) and write a problem statement on it.

Examples of projects topics:

Problem Name

Suggested Data Structure

Train Schedule Manager

Student Course Scheduler

Social Network Connections

Shopping Cart

Flight Reservation System

Shortest Path Finder

Music Streaming Playlist

Doubly Link list

2D- Array

Graph

Singly Link list

2D-Array

Graph

Circular Link list

Select one of the projects Name in the table above. It is also possible to suggest new project (must be approved by course instructor).

Understand the problem.

Implement at least two solutions of the problem using data structures.

You must use at least one data structure in your solution.

Analysis the Algorithm complexity of your solutions

4. What to submit?

Project Report

Source Code

Describe the Problem.

Describe the Algorithm used to solve the problem.

Analysis the Algorithm complexity of your solutions.

Write the program in Java code to solve the problem.

Marking Criteria

#

Criteria

Marks

1

Project Report

6

1.1

Describe the Problem

1

1.2

Describe the Algorithm used to solve the problem (solution 1)

1

1.3

Describe the Algorithm used to solve the problem (solution 2)

1

1.4

Analysis the Algorithm complexity of your solution 1

1.5

1.5

Analysis the Algorithm complexity of your solution 2

1.5

2

Source Code

8

2.1

Java code to solve the problem. (Solution 1)

4

2.1

Java code to solve the problem. (Solution 2)

4

Total

14

__________________________Important, we will choose problem 7