Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Concrete Classes in the Degree Hierarchy The concrete classes ( CS , SEng, and BCG ) must provide the following public methods. In some cases
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 setDegreeTitleString title
void setRequiredCoursesArrayList listOfRequiredCourseCodes
ArrayList getRequiredCourses
boolean meetsRequirementsPlanOfStudy thePlan
double numberOfCreditsRemainingPlanOfStudy thePlan
ArrayList remainingRequiredCoursesPlanOfStudy 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 setDegreeProgramDegree deg
Degree getDegreeProgram
void importDataString filename
void saveState
void addCourseString courseCode, String semester
void removeCourseString courseCode, String semester
void setCourseStatusString courseCode, String semester, String courseStatus
void setCourseGradeString courseCode, String semester, String grade
Course getCourseString courseCode, String semester
Course
The Course class must provide a copy constructor that returns a deep copy of the supplied parameter.
public CourseCourse copy
The Course class must provide the following public methods:
String getCourseCode
void setCourseCodeString courseCode
String getCourseTitle
void setCourseTitleString courseTitle
double getCourseCredit
void setCourseCreditdouble credit
ArrayList getPrerequisites
void setPrerequisites ArrayList preReqList
void setCourseStatusString courseStatus
String getCourseStatus
void setCourseGradeString grade
String getCourseGrade
void setSemesterTakenString semester
String getSemesterTaken
Course Catalog
The CourseCatalog class must provide the following public methods:
void initializeCatalogString filename
void addCourseCourse toAdd
void removeCourseCourse toRemove
void saveCatalog
Course findCourseString courseCode
Student
The Student class must provide the following public methods:
String getFullName
void setFirstNameString first
void setLastNameString last
String getFirstName
String getLastName
void setStudentNumberInteger 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 colondelimited list of prerequisite courses. For example, the listing for CIS and CIS would look like this:
CSOO Programming,CS
CSSoftware Systems Development and Integration,CS:CS
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 CSCSCSCSCSCSCSCS
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
CSComplete,F
CSComplete,W
CSComplete,W
CSInProgress,,F
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.
Step 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