Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Can someone help me with this for java please, Im new and trying to learn. The solution will consist of two application classes (Planner and

Can someone help me with this for java please, Im new and trying to learn.

The solution will consist of two application classes (Planner and BootStrap) plus a set of library classes. The Planner and Bootstrap classes must have a main method from which the application is run. You may add additional classes and methods if you wish. A figure showing the class hierarchy is provided at the end of this document.

Concrete Classes in the Degree Hierarchy

The concrete classes (CS, SEng, and BCG) must provide the following public methods. In some cases these methods should be overridden methods of the abstract parent classes.

String getDegreeTitle()

void setDegreeTitle(String title)

void setRequiredCourses(ArrayList listOfRequiredCourseCodes)

ArrayList getRequiredCourses()

boolean meetsRequirements(PlanOfStudy thePlan)

double numberOfCreditsRemaining(PlanOfStudy thePlan)

ArrayList remainingRequiredCourses(PlanOfStudy thePlan)

You may use static final class variables to model the different requirements for each degree. Those class variables should also be placed at the appropriate level of abstraction in the Degree hierarchy.

PlanOfStudy

The PlanOfStudy class should use the FileReader and FileWriter classes from java.io for reading and writing. The PlanOfStudy class must provide the following public methods:

void setDegreeProgram(Degree deg)

Degree getDegreeProgram()

void importData(String filename)

void saveState()

void addCourse(String courseCode, String semester)

void removeCourse(String courseCode, String semester)

void setCourseStatus(String courseCode, String semester, String courseStatus)

void setCourseGrade(String courseCode, String semester, String grade)

Course getCourse(String courseCode, String semester)

Course

The Course class must provide a copy constructor that returns a deep copy of the supplied parameter.

public Course(Course copy)

The Course class must provide the following public methods:

String getCourseCode()

void setCourseCode(String courseCode)

String getCourseTitle()

void setCourseTitle(String courseTitle)

double getCourseCredit()

void setCourseCredit(double credit)

ArrayList getPrerequisites()

void setPrerequisites (ArrayList preReqList)

void setCourseStatus(String courseStatus)

String getCourseStatus()

void setCourseGrade(String grade)

String getCourseGrade()

void setSemesterTaken(String semester)

String getSemesterTaken()

Course Catalog

The CourseCatalog class must provide the following public methods:

void initializeCatalog(String filename)

void addCourse(Course toAdd)

void removeCourse(Course toRemove)

void saveCatalog()

Course findCourse(String courseCode)

Student

The Student class must provide the following public methods:

String getFullName()

void setFirstName(String first)

void setLastName(String last)

String getFirstName()

String getLastName()

void setStudentNumber(Integer studentNum)

Integer getStudentNumber()

Details about the data file

There are three different data files that are used to bootstrap this planning system. There will not be intentional errors in these data files.

Course List

The course list data file is loaded by the Bootstrap program. A single line of this data file consists of:

CourseCode, CreditWeight, CourseName,PrerequisiteList

The prerequisite list will be a colon-delimited list of prerequisite courses. For example, the listing for CIS*2430 and CIS*2750 would look like this:

CS*2430,0.5,OO Programming,CS*2500

CS*2750,0.75,Software Systems Development and Integration,CS*2520:CS*2430

Required Courses

The required courses file should only be loaded by the Bootstrap program once the course list has been loaded. Each line on this file will represent the required courses for a single degree. The first element of the line will be the degree name. The remaining elements will be required courses. For example, the line for the BCG would look like this:

BCG, CS*1500,CS*1910,CS*2430,CS*2500,CS*2520,CS*2750,CS*2910,CS*3530

Student Transcript

The student transcript is loaded by the Planner program. It represents the courses that a student has taken the first time the planner program is run. Each line of the file gives information about a single course. The lines contain the following information

CourseCode,Status,Grade,Semester

CS*1500,Complete,84,F17

CS*2500,Complete,80,W18

CS*1910,Complete,81,W18

CS*2430,InProgress,,F18

Saving State

The application must save the current state of the Plan of Study and the Course and Degree information. You may choose to use multiple save files or a single file to accomplish saving.

image text in transcribed

Student Course abstract Degree CourseCatalo abstract HonoursDegree abstract GeneralDegree CS BCG

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Icdt 88 2nd International Conference On Database Theory Bruges Belgium August 31 September 2 1988 Proceedings Lncs 326

Authors: Marc Gyssens ,Jan Paredaens ,Dirk Van Gucht

1st Edition

3540501711, 978-3540501718

More Books

Students also viewed these Databases questions

Question

Write a Python program to sort a dictionary by key

Answered: 1 week ago

Question

WHAT IS AUTOMATION TESTING?

Answered: 1 week ago

Question

What is Selenium? What are the advantages of Selenium?

Answered: 1 week ago