EECS2030 Lab 4

Due: Fri June 7 before 11:59PM

Introduction

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.

GETTING STARTED

  1. Start eclipse.
  2. Download this project file.
  3. Import the project stub by doing the following:
    1. Under the File menu choose Import...
    2. Under General choose Existing Projects into Workspace and press Next
    3. Click the Select archive file radio button, and click the Browse... button. You may have to wait about 10 seconds before the file browser appears.
    4. In the file browser that appears, navigate to your home directory.
    5. Select the file 2030S19lab4.zip and click OK
    6. Click Finish.
  4. All of the files you need for this project should now appear in eclipse.

Resources

Lab exercise

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.

Description and details of the classes is provided by this API.
You do not have to include javadoc comments in your implementation.


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).

Submit your work

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.

Academic Dishonesty

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.

Submit for students NOT working in a group

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
  

Submit for students working in a group

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
  

Submit your work from outside the Prism lab

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:

  1. transfer the files from your computer to the undergraduate EECS server red.eecs.yorku.ca
  2. remotely log in to your EECS account
  3. submit your newly transferred files in your remote login session using the instructions for submitting from within the lab
  4. repeat Steps 1 and 3 as required

Windows users will likely need to install additional software first. Mac users have all of the required software as part of MacOS.

Detailed instructions are here.