Assignment World

logo white icon

Securing Higher Grades Costing Your Pocket? Book Your Assignment At The Lowest Price Now!


Home / Advanced Data Structures

Subject Code – MSCS502
Subject Name – Advanced Data Structures
University Name – Marist College, New York, USA

Advanced Data Structures – MSCS502

The subject MSCS502 Advanced Data Structures includes- Linear and Non-linear data structures, linked lists, stacks, queues, trees, heaps, hashing, UML/ ER diagrams, etc. UML (Unified Modelling Language) is used to visually represent a software system.
ER (Entity Relationship) is a pictorial representation of the real-world entities and their relationships with one another.
This subject is a pre-requisite for students who are pursuing Master’s in science (MSc) without doing graduating with a BS in Computer science.

Advanced Data Structures is one of the most important disciplines of computer science since they are used for storing, organizing, and managing data and information for efficient, easy access, and modification. Advanced data structures are the foundation for designing and developing efficient and effective software and algorithms.
To become a skilled and successful programmer one should know how to create and construct decent data structures. With the rise of new information technology, working practices, its scope is likewise expanding. So in order to grow as a programmer this subject is very important and necessary to learn.

Marist College, New York

Marist College is located in Poughkeepsie, New York offering excellent education to students. According to US News and World Report, Marist College is ranked 7th position for undergraduate teaching in New York.

Why Us?

We a perfect platform to meet your academic needs. Our experts are trained and qualified enough in their respective subjects and are able to provide you with assistance in any subject or topic. Whether you are a graduate or post-graduate, we have solutions to all your university assignments. Get custom assignment help from our experts and boost your academic grades.

Get assignment help now.

Assessment Details

Assessment 1

In this assessment, you will design a database in its entirety. A legit one, one that is intended to actually solve real-world requirements.

You have decided to join an early-stage startup called Mapcushion with a strong vision for their project, but no actual product (yet). They want to create an indoor localization software that will track devices by triangulating the signal emitted via Bluetooth low energy (BLE) beacons. Their target market is K-12 schools and the goal of the product is to provide officials with a real-time map of teachers and other personal locations in the case of an emergency (active shooter, etc). In addition to the tracking capabilities, the software also allows for guest check-in by scanning a visitor’s ID (driver’s license).
Your role is to design the database schema that will make it all possible. You may use the
DBMS of your choice for this project, but it must be relational.


There are 3 major pieces to this project, and 2 large deliverables.
1. High-level understanding of requirements: Review requirements, functional description,
mockups, and this documentation. Make sure to ask questions if there are any areas you
are not sure about (all questions must be directed to the forums).
a. Deliverable: none
b. Suggested time frame: completed within the first week

2. UML-based ER diagram: You must create a complete ER diagram for the Mapcushion
data schema.
a. Deliverable: UML ER Diagram in PDF format
b. Suggested time frame: by the end of the project’s 3rd week

3. Database creation scripts: In the database management system of your choice you must
create a SQL script that will create the entire database schema including all Keys,
Constraints, Views, etc.
a. Deliverable: Database Script in the format used by relational DBMS of your choice.
b. Suggested time frame: end of the project.

Assessment 2

Assessment Goal

Building on your GitHub Java project from previous assignments, implement a basic hash table structure from scratch without the use of any built-in libraries or utilities.


1. Create a class to define your custom hash table implementation.
a. The class should contain at least the following attributes with getters and setters for each.
i. int collision count
ii. int P with 13 as a default
iii. int M as the table size with a default of 101
iv. LinkedList[M] hash Table

b. Create a `void clear()` method to remove all content from the hash table.

c. Create an `int hash(String key)` method that calculates the integer hash of the string parameter using a polynomial rolling hash function.
i. H(s[0], s[1], … , s[n]) = (s[0]*p1 + s[1]*p2 + … + s[n]*pn) mod M
where M is the size of the table class attribute, n is the length of the string, and P is a base integer value class attribute.
ii. Collisions should be handled via simple separate chaining using a modified version of your LinkedList class from assignment 1. Simply add another String attribute to your LinkedList node class to hold the value or key.
iii. A counter should be kept to track the number of collisions.

d. Create an `int insert(String key, String value)` method to insert a string parameter
into the hash table based on the output of the hash method. The method should
return -1 if the hash table is full, 0 if successfully inserted, and 1 if the key existed

e. Create an `int remove(String key)` to remove a key-value pair from the hash table.
The method should return 0 if successfully and -1 if not found.

f. Create a `String read(String key)` that returns the value stored in the hash table for the key parameter and null if the key is not found.

g. Create a `String search(String value)` that searches the hash table for the value string and returns true if found otherwise false.

h. Create a ` String printHashTable()` to print out the contents of the table in the format “hash(key): key” separated by newlines.

2. Update the main method of class to read in the contents of the file specified on
the command line, like ‘data/input0.txt’.
a. Create an empty instance of your HashTable class.
b. Insert each line of the file as entries into your HashTable instance.
c. Print the size of the hash table and the number of collisions. Then print the content
hash and key pairs of your HashTable instance. Only print the pair if the value
has content. Sample output below.

3. Increment the version number to 3.0.0 throughout the project code and documentation.
HINT: Check out the pom.xml file and

4. Make sure you adhere to the contribution requirements outlined in the like
having proper JavaDoc and passing checkstyle analysis.

5. Commit any final updates and push the commits to the remote ‘dev’ branch.

6. Submit a pull request from the dev branch to your main branch.

7. Add ‘gildmi’ as a reviewer to the newly created pull request.


Will you be able to complete my assignment?
Yes, we have professional experts on board who can complete your assignment smoothly.

How long will it take you to complete the assignment?
You must state the deadline at the time of making an order.

Will you be able to provide the assignment to me before the deadline?
Yes, we can, but you must specify the duration when making the order.

Is it true that some answers may require a Student ID, and that my personal information will be safe with you?
Yes, we will keep all of your personal information secure and confidential.

If my classmate also gets the assignment done with you, how will you make sure that the solution is completely different?
Our writers pay attention to detail and make every assignment from scratch ensuring originality of the work.

Will you give the Turnitin Report?
Yes, we always give Turnitin Report with the assignments and that too free of cost.

What if I need to make modifications to the work after receiving feedback from the professor?
Yes, we can make changes to the assignment based on the feedback until it meets the original standards.

What is the payment process?
We always request to make payment in advance & the writer starts working once the payment is confirmed.