Due: Fri June 7 before 11:59PM
The purpose of this lab is to model course enrollemnts by the registrar. There are five classes to be implemented: Student, Course, CourseOffering, StudentEnrollement, and Registrar. You will use collections to store and retrive data about students and courses. The implementation for the class StudentEnrollement is provided for you in addition to the implementation for toString methods.
This project does not provid a JUnit tester file, so you may want to write your own tests to validate your implementation. However, a sample calls to Registrar.enroll method are shown in Registrar.main method as examples of using the enroll method.
You may, and are encouraged to, work in groups of up to 2 students from the same lab section.
In this lab you will implement the classes that models students and courses and a utility class that represnts the registrar. Not all the courses are offered, therefore the class CourseOffering represnts the courses that are being offered. Students, meeting enrollemnts criteria, can only enroll to a course that is being offered. Once a student is enrolled, an object of class StudentEnrollement is created to store the enrollemnt date and other information.

Note: If you cannot complete one or more of the methods, at least make sure that it returns some value of the correct type;
this will allow the tester to run, and it will make it much easier to evaluate your code.
For example, if you are having difficulty with compareTo then make sure that the method returns some integer value
(such as 0).
To submit your work, you need to transfer your
Student.java, Course.java, CourseOffering.java and Registrar.java files to a
Prism lab computer. You can use a USB stick, a secure FTP program, or a secure copy program to do so.
Once you have transferred your files, log onto a Prism computer and follow the instructions below.
When you submit your lab, you claim that it is solely your work. Therefore, it is considered as an violation of academic integrity if you copy or share any parts of your Java code during any stages of your development.
When assessing your submission, the instructor and TA may examine your code, and suspicious submissions will be given zero and reported to the department if necessary. We do not tolerate academic dishonesty, so please obey this policy strictly.
If you are
not working in a group, submit your solution using the
submit command. Remember that you first need to find your workspace directory,
then you need to find your project directory.
In your project directory, your files will be located in the directory
src/eecs2030/lab4
submit 2030 lab4 Student.java Course.java CourseOffering.java Registrar.java
If you are working in a group, create a plain text file named group.txt. You can do this in eclipse using the menu File -> New -> File. Type your login names into the file with each login name on its own line. For example, if the students with login names
rey, and
finn, worked in a group the contents of
group.txt would be:
rey finn
Submit your solution using the
submit command. Remember that you first need to find your workspace directory, then you need to find your project directory.
In your project directory, your files will be located in the directory
src/eecs2030/lab4
submit 2030 lab4 Student.java Course.java CourseOffering.java Registrar.java group.txt
It is possible to submit work from outside the Prism lab, but the process is not trivial; do not attempt to do so at the last minute if the process is new to you. The process for submitting from outside of the Prism lab involves the following steps:
Windows users will likely need to install additional software first. Mac users have all of the required software as part of MacOS.