Task

Consider the following specification.

Swansea University is planning to develop an online system for allowing students to choose x optional modules out of n options (where x n). Each module information must include a title, a module code, a module coordinator, and a limit on how many stu- dents can enrol in the course, and a student must have a unique identity number. Now, the system should allow a student to change their mind within a given period of time, and transfer to another module given that there is still a space available in that module. Naturally, the expectation is that this system will be a part of a multi-threaded program allowing many students to enrol and/or transfer modules concurrently.

You can ignore the time period for the purpose of this assignment.

In this assignment, your task is to design and implement an object oriented program (in Java 8) focusing on the correctness of the core concurrent functionalities: multiple students enrolling and transferring modules (with limits on numbers) independently. Please also include a short simulation application that uses your design (i.e. classes) and demonstrates these functionali- ties.

Academic Honesty!
It is not our intention to break the school's academic policy. Posted solutions are meant to be used as a reference and should not be submitted as is. We are not held liable for any misuse of the solutions. Please see the frequently asked questions page for further questions and inquiries.
Kindly complete the form. Please provide a valid email address and we will get back to you within 24 hours. Payment is through PayPal, Buy me a Coffee or Cryptocurrency. We are a nonprofit organization however we need funds to keep this organization operating and to be able to complete our research and development projects.