Write an application that models courses, students, and faculty members in a university.

General Directions
•Use proper Java naming conventions.
•All input and output must use JOptionPane (except where otherwise noted).
•From now on it will be assumed that each class you create will have private instance variables and any necessary getters and setters. I will no longer explictly ask you to create these.
•Be sure to implement toString() for each class.

The Person Class

A Person has a name and an Address (represented by an object of class Address). Note that the subclasses of Person inherit the fields and methods of Person. You may need to override some of the methods in the subclasses.

The Student Class

Student is a subclass of Person. A student has CIN number, and a course schedule represented by an ArrayList of Courses.

The FacultyMember Class

FacultyMember is also subclass of Person. A FacultyMember has an employee id number and a teaching schedule, which is an ArrayList of Courses.

The Address Class

An address has a street number, street name, city, and state.

The Course Class

A course has a course identifier , a course title , a term represented by a String , and an instructor, which is a reference to a FacultyMember.

Driver Class

Write a Driver class that maintains lists of Students, Courses, and FacultyMembers and has a menu that provides ways to list, create, and delete them based on user input. The driver class should also provide a way for a student to add and drop existing Courses and a way to assign faculty member to teach existing Courses. Do not create a new Course when a Student adds or when a faculty member is assigned to teach; let the user choose a Course from the list. Think about how to organize this input before you start coding.

Include a method that can be called from main that will use your methods to add and delete some hard-coded test data (several students, several faculty members, and several courses.) This will let you code code the lists and the methods to add and delete items without using the user input functions.

Solution Preview

This material may consist of step-by-step explanations on how to solve a problem or examples of proper writing, including the use of citations, references, bibliographies, and formatting. This material is made available for the sole purpose of studying and learning - misuse is strictly forbidden.

public Student(String CIN) {
       this.CIN = CIN;      
       course_schedule = new ArrayList<>();

    public String getCIN() {
       return CIN;

    public void setCIN(String CIN) {
       this.CIN = CIN;

    public void setTerm(String term) {
       this.term = term;

    public void setTitle(String title) {
       this.title = title;

    public String toString() {
       if (instructor == null) {...

This is only a preview of the solution. Please use the purchase button to see the entire solution


or free if you
register a new account!

Assisting Tutor

Related Homework Solutions

Get help from a qualified tutor
Live Chats