Question
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
ArrayList
boolean meetsRequirements(PlanOfStudy thePlan)
double numberOfCreditsRemaining(PlanOfStudy thePlan)
ArrayList
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
void setPrerequisites (ArrayList
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.
Student Course abstract Degree CourseCatalo abstract HonoursDegree abstract GeneralDegree CS BCGStep by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started