SlideShare a Scribd company logo
COP2800 - Java Programming Course Project
Fall 2014 Page 1 of 8 Juan López
INSTRUCTIONS:
In this project, you will create a java program to manage the
grades of one college course.
The user interface for the program will be text-menu driven.
Figure 1 depicts what the menu should look like upon launching
the program.
===============================================
=
1 - Add student to course
2 - Add exam grade for student
3 - Remove a student from course
4 - Show grades for 1 student
5 - Show grades for all students in the course
6 - Save course to file
7 - Load course from file
8 - Quit program
===============================================
=
Enter selection between 1 and 8:
Figure 1 - Menu for course program
1 - Read all instructions CAREFULLY!
The User interface is described in Section 1 of this document.
The Java Classes you must implement are described in Section
2 of this document.
2 - All programming must follow the guidelines in Appendix I
of the text book (page A-79).
3 - The Project must be submitted as a zipped Java Application
as implemented on NetBeans.
4 - The Project must be uploaded by Dec 1, 11:59 PM
(Monday).
5 - Extra credit opportunities are listed in the last page. They
are optional.
COP2800 - Java Programming Course Project
Fall 2014 Page 2 of 8 Juan López
SECTION 1: USER INTERFACE
The program will behave in the following manner:
A - Menu: Menu item selection must be validated.
Upon program launching, the Menu will be drawn on the screen
(see Figure 1). If a user
enters an invalid menu number, the program must advise the
user to enter a valid
selection, and try again.
B - Menu Selections:
Selection 1 - Add Student to a course
When user selects item 1, the program asks the user for the
Student's last name, first
name, student id, and her year in college.
If the Student ID provided is not in the course, the program then
adds the student to the
course, and prints out the student’s record confirming the
addition:
Student added successfully:
Student ID: 1234
Student Name: Smith, Joan
Year in School: 4
Grades: <none>
The program will validate that a student with that ID is not
already in the course:
===============================================
=
1 - Add student to course
2 - Add exam grade for student
3 - Remove a student from course
4 - Show grades for 1 student
5 - Show grades for all students in the course
6 - Save course to file
7 - Load course from file
8 - Quit program
===============================================
=
Enter selection between 1 and 8: 1
Enter student ID: 1234
ERROR: Student ID already exists.
(hint: a new Student
object should be created,
then added to the Course
object's ArrayList of
Students).
COP2800 - Java Programming Course Project
Fall 2014 Page 3 of 8 Juan López
Select 2 - Add an exam grade for a student
When user selects item 2, the program prompts the user for the
student’s id.
If there is no student with the ID entered, the program will let
the user know, and then re-
output the main menu.
If a student is found, the program will ask the user for the
grade. Grades will be between
0 and 100. The system will not hold more than 5 grades per
student.
After adding the grade, the program will print out the student’s
record, confirming the
addition of the new grade:
Student grade added successfully:
Student ID: 1234
Student Name: Smith, Joan
Year in School: 4
Grades: 82
Average: 82.0
Select 3 - Remove a student from the course
When user selects item 3, the program prompts the user for the
student's id.
If there is no student with the ID entered, the program will let
the user know, and then re-
output the main menu.
If there is a student with that id, the program prints the student
info then asks user to
confirm he wants to delete the student from the course.
Student ID: 1234
Student Name: Smith, Joan
Year in School: 4
Grades: 82
Average: 82.0
Are you sure you want to delete? (Y/N):
If the user responds with a "Y", the program then deletes the
student from the course
and outputs the confirmation.
Student 1234 deleted.
(hint: the program first finds the Student that needs to be
deleted from the Course object's Student ArrayList.
Upon the user confirming, the program deletes that Student
object from the Course object's ArrayList of
Students)
COP2800 - Java Programming Course Project
Fall 2014 Page 4 of 8 Juan López
Select 4 - Show grades for 1 student in the course
When user selects item 4, the program prompts the user for the
student's id. The
program then prints out the student's grade in the following
format:
Student record:
Student ID: 1234
Student Name: Smith, Joan
Year in School: 4
Grades: 82, 94, 89
Average: 89.0
Select 5 - Show grades for all the students in the course
When the user selects item 5, the program will print a list of all
the students and their
grades in the following format:
Course roster:
ID Name Year Grades Average
---------------------------------------------------------------------------
------
1234 Lopez, Juan 3 2, 86, 98 62.00
1235 Alvarez, Jeanie 5 95 95.00
1237 Washington, Jerome 3 <no grades> 0.00
1240 Pierre, Monique 3 <no grades> 0.00
Select 6 - Save course to file
When the user selects item 6, the program will prompt the user
for the file name. The
program then saves the file in the format depicted on Figure 2.
If the file cannot be created, the program will return an error
message to the user, then
take the user back to the main menu
Figure 2 - Course file format - use the pipe (“|”) as the delimiter
1234|Lopez|Juan|3|3|2|86|98|-1|-1
1235|Alvarez|Jeanie|5|1|95|-1|-1|-1|-1
1237|Washington|Jerome|3|0|-1|-1|-1|-1|-1
Student ID
Last
Name
First
Name
Year in
School
Number of
Grades
Grades (up to 5,
-1 means no
grade exists)
COP2800 - Java Programming Course Project
Fall 2014 Page 5 of 8 Juan López
Select 7 - Load course from file
When the user selects item 7, the program will prompt the user
for the name of the file to
be loaded. The file to be loaded will be of the same format
depicted in Figure 2.
If the file could not be loaded, the program will return an error
message to the user, then
outputs the main menu.
Select 8 - Quit Program
When the user selects item 8, the program prints the word
"Goodbye!", then exits.
Goodbye!
COP2800 - Java Programming Course Project
Fall 2014 Page 6 of 8 Juan López
SECTION 2: JAVA CLASSES
Your java program must implement at least 3 classes as
described below.
1 - CourseUI class
The CourseUI class has the user interface to the program.
It should present all output to user and receive all input from
the user.
This class should have one
This class needs only one method - the main method.
Your solution should have much more than one method, to
make the code readable.
2 - Student class
The Student class has all information about 1 student:
last name (a string)
first name (a string)
year in school (an integer from 1 - 5)
student id (an integer between 1 and 99999)
an Array of exam scores.
each exam score is an integer from 0 - 100.
a student will have no more than 5 exam grades
The Student class should have at least the following public
methods:
Constructors:
Student(int inId, String inLastName, String inFirstName, int
inYearInSchool)
Student(String inRecordStringFromFile)
Accessors:
String getStudentName()
String getId()
String getYearInSchool()
String getGrades()
double getAverageGrade()
String getStudentFileString()
Mutators:
void setLastName(String inLastName)
void setFirstName(String inFirstName)
void setId(int inId)
void setYearsInSchool(int inYears)
void addExamScore(int inScore)
void removeExamScore(int scoreNbr)
for extra credit
COP2800 - Java Programming Course Project
Fall 2014 Page 7 of 8 Juan López
SECTION 2: JAVA CLASSES (continued)
3 - Course class
The Course class has the information about the course:
an ArrayList of Student objects
name of the file (a string)
flag to know whether file has changed (a boolean)
The Course class should have at least the following public
methods:
void addStudent(in inId, String inLastName,
String inFirstName, int yearInSchool)
void removeStudent(int inStudentID)
void addScoreToStudent(int inStudentID, int inScore)
void removeScoreFromStudent(int inStudentID, int inScore)
Student getStudent(int inStudentId)
String getStudentGrades(int inStudentId)
String getAllStudentGrades()
void saveCourseToFile(PrintWriter inOutput)
void loadCourseFromFile(Scanner inFileName)
for extra credit
for extra credit
for extra credit
COP2800 - Java Programming Course Project
Fall 2014 Page 8 of 8 Juan López
Extra Credit #1 - Add option to Remove an exam grade from
student
Value: 1 homework assignment
Add menu option: Remove an exam grade from a student
When user selects to remove an exam grade from a student, the
program prompts the user
for the student’s id.
If there is no student with the ID entered, the program will let
the user know, and then re-
output the main menu.
If a student is found, the program will list all the grades
associated with that student and
prompt the user for the exam number to delete:
Enter student ID: 1235
Student: Lopez, Jennifer
===========
Num - Score
===========
[ 0] - 94
[ 1] - 100
Enter Quiz number: 1
About to delete [ 1] - 100
Are you Sure? (y/n) y
After removing the grade, the program will print out the
student’s record, confirming the exam
score removal:
Grade [1] deleted:
Student ID: 1235
Student Name: Lopez, Jennifer
Year in School: 5
Grades: 94
Average: 94.00
Extra Credit #2 – When the user selects Quit, if he has made
changes to the
course and has not saved, prompt him to save changes.
Value: 1 homework assignment
Extra Credit #3 – Create a version of the program in another
language.
Value: 1 homework assignment

More Related Content

Similar to COP2800 - Java Programming Course Project Fall 2014 Page .docx

Remove User From Course
Remove User From CourseRemove User From Course
Remove User From Course
CPIT
 
online exninition system ppt
online exninition system pptonline exninition system ppt
online exninition system ppt
prahlad chandra
 
Student Name Daniel RosadoCourseCIS339Session (month, ye.docx
Student Name Daniel RosadoCourseCIS339Session (month, ye.docxStudent Name Daniel RosadoCourseCIS339Session (month, ye.docx
Student Name Daniel RosadoCourseCIS339Session (month, ye.docx
emelyvalg9
 
Project 4 1/tutorialoutlet
Project 4 1/tutorialoutletProject 4 1/tutorialoutlet
Project 4 1/tutorialoutlet
Messanz
 
Automated Class Scheduling System.pdf
Automated Class Scheduling System.pdfAutomated Class Scheduling System.pdf
Automated Class Scheduling System.pdf
Carrie Tran
 
Evaluating The A Self Based Learning Format The Microsoft Word Documents
Evaluating The A Self Based Learning Format The Microsoft Word DocumentsEvaluating The A Self Based Learning Format The Microsoft Word Documents
Evaluating The A Self Based Learning Format The Microsoft Word Documents
u068701
 
Data director wednesday
Data director wednesdayData director wednesday
Data director wednesday
Derek D'Angelo
 
Studentwise Grades
Studentwise GradesStudentwise Grades
Studentwise Grades
paragm
 
Course recommender system
Course recommender systemCourse recommender system
Course recommender system
Aakash Chotrani
 
Requirement and system analysis
Requirement and system analysisRequirement and system analysis
Requirement and system analysis
Alqalam University Katsina, Nigeria
 
Week 6 presentation
Week 6 presentationWeek 6 presentation
Week 6 presentation
brittanyfox
 
Requirement and System Analysis
Requirement and System AnalysisRequirement and System Analysis
Requirement and System Analysis
Aminu Sa'eed Haruna
 
Project presentation on.pptx
Project presentation on.pptxProject presentation on.pptx
Project presentation on.pptx
AmitSarker29
 
JavaProject.pdf
JavaProject.pdfJavaProject.pdf
JavaProject.pdf
21E135MAHIESHWARJ
 
Odoo 13 Elearning
Odoo 13 ElearningOdoo 13 Elearning
Odoo 13 Elearning
Varsha Technaureus
 
Examview testmanager userguide 8.1
Examview testmanager userguide 8.1Examview testmanager userguide 8.1
Examview testmanager userguide 8.1
William McIntosh
 
Influence of the students’ learning strategy on the evaluation scores
Influence of the students’ learning strategy on the evaluation scoresInfluence of the students’ learning strategy on the evaluation scores
Influence of the students’ learning strategy on the evaluation scores
Technological Ecosystems for Enhancing Multiculturality
 
Software training 谭伟 20183290402_intro
Software training 谭伟 20183290402_introSoftware training 谭伟 20183290402_intro
Software training 谭伟 20183290402_intro
Aminur Rahman Tanvir
 
Application of An Expert System for Assessment and Evaluation of Higher Educa...
Application of An Expert System for Assessment and Evaluation of Higher Educa...Application of An Expert System for Assessment and Evaluation of Higher Educa...
Application of An Expert System for Assessment and Evaluation of Higher Educa...
ijtsrd
 
Face detection project.pptx
Face detection project.pptxFace detection project.pptx
Face detection project.pptx
mohammadzaid568683
 

Similar to COP2800 - Java Programming Course Project Fall 2014 Page .docx (20)

Remove User From Course
Remove User From CourseRemove User From Course
Remove User From Course
 
online exninition system ppt
online exninition system pptonline exninition system ppt
online exninition system ppt
 
Student Name Daniel RosadoCourseCIS339Session (month, ye.docx
Student Name Daniel RosadoCourseCIS339Session (month, ye.docxStudent Name Daniel RosadoCourseCIS339Session (month, ye.docx
Student Name Daniel RosadoCourseCIS339Session (month, ye.docx
 
Project 4 1/tutorialoutlet
Project 4 1/tutorialoutletProject 4 1/tutorialoutlet
Project 4 1/tutorialoutlet
 
Automated Class Scheduling System.pdf
Automated Class Scheduling System.pdfAutomated Class Scheduling System.pdf
Automated Class Scheduling System.pdf
 
Evaluating The A Self Based Learning Format The Microsoft Word Documents
Evaluating The A Self Based Learning Format The Microsoft Word DocumentsEvaluating The A Self Based Learning Format The Microsoft Word Documents
Evaluating The A Self Based Learning Format The Microsoft Word Documents
 
Data director wednesday
Data director wednesdayData director wednesday
Data director wednesday
 
Studentwise Grades
Studentwise GradesStudentwise Grades
Studentwise Grades
 
Course recommender system
Course recommender systemCourse recommender system
Course recommender system
 
Requirement and system analysis
Requirement and system analysisRequirement and system analysis
Requirement and system analysis
 
Week 6 presentation
Week 6 presentationWeek 6 presentation
Week 6 presentation
 
Requirement and System Analysis
Requirement and System AnalysisRequirement and System Analysis
Requirement and System Analysis
 
Project presentation on.pptx
Project presentation on.pptxProject presentation on.pptx
Project presentation on.pptx
 
JavaProject.pdf
JavaProject.pdfJavaProject.pdf
JavaProject.pdf
 
Odoo 13 Elearning
Odoo 13 ElearningOdoo 13 Elearning
Odoo 13 Elearning
 
Examview testmanager userguide 8.1
Examview testmanager userguide 8.1Examview testmanager userguide 8.1
Examview testmanager userguide 8.1
 
Influence of the students’ learning strategy on the evaluation scores
Influence of the students’ learning strategy on the evaluation scoresInfluence of the students’ learning strategy on the evaluation scores
Influence of the students’ learning strategy on the evaluation scores
 
Software training 谭伟 20183290402_intro
Software training 谭伟 20183290402_introSoftware training 谭伟 20183290402_intro
Software training 谭伟 20183290402_intro
 
Application of An Expert System for Assessment and Evaluation of Higher Educa...
Application of An Expert System for Assessment and Evaluation of Higher Educa...Application of An Expert System for Assessment and Evaluation of Higher Educa...
Application of An Expert System for Assessment and Evaluation of Higher Educa...
 
Face detection project.pptx
Face detection project.pptxFace detection project.pptx
Face detection project.pptx
 

More from maxinesmith73660

You have been chosen to present in front of your local governing boa.docx
You have been chosen to present in front of your local governing boa.docxYou have been chosen to present in front of your local governing boa.docx
You have been chosen to present in front of your local governing boa.docx
maxinesmith73660
 
You have been charged with overseeing the implementation of cybersec.docx
You have been charged with overseeing the implementation of cybersec.docxYou have been charged with overseeing the implementation of cybersec.docx
You have been charged with overseeing the implementation of cybersec.docx
maxinesmith73660
 
You have been commissioned to create a manual covering the installat.docx
You have been commissioned to create a manual covering the installat.docxYou have been commissioned to create a manual covering the installat.docx
You have been commissioned to create a manual covering the installat.docx
maxinesmith73660
 
You have been challenged by a mentor you respect and admire to demon.docx
You have been challenged by a mentor you respect and admire to demon.docxYou have been challenged by a mentor you respect and admire to demon.docx
You have been challenged by a mentor you respect and admire to demon.docx
maxinesmith73660
 
You have been chosen as the consultant group to assess the organizat.docx
You have been chosen as the consultant group to assess the organizat.docxYou have been chosen as the consultant group to assess the organizat.docx
You have been chosen as the consultant group to assess the organizat.docx
maxinesmith73660
 
You have been assigned a reading by WMF Petrie; Diospolis Parva (.docx
You have been assigned a reading by WMF Petrie; Diospolis Parva (.docxYou have been assigned a reading by WMF Petrie; Diospolis Parva (.docx
You have been assigned a reading by WMF Petrie; Diospolis Parva (.docx
maxinesmith73660
 
You have been asked to speak to city, municipal, and state elected a.docx
You have been asked to speak to city, municipal, and state elected a.docxYou have been asked to speak to city, municipal, and state elected a.docx
You have been asked to speak to city, municipal, and state elected a.docx
maxinesmith73660
 
You have been asked to provide a presentation, covering the history .docx
You have been asked to provide a presentation, covering the history .docxYou have been asked to provide a presentation, covering the history .docx
You have been asked to provide a presentation, covering the history .docx
maxinesmith73660
 
You have been asked to organize a community health fair at a loc.docx
You have been asked to organize a community health fair at a loc.docxYou have been asked to organize a community health fair at a loc.docx
You have been asked to organize a community health fair at a loc.docx
maxinesmith73660
 
You have been asked to explain the differences between certain categ.docx
You have been asked to explain the differences between certain categ.docxYou have been asked to explain the differences between certain categ.docx
You have been asked to explain the differences between certain categ.docx
maxinesmith73660
 
You have been asked to evaluate a 3-year-old child in your clinic.  .docx
You have been asked to evaluate a 3-year-old child in your clinic.  .docxYou have been asked to evaluate a 3-year-old child in your clinic.  .docx
You have been asked to evaluate a 3-year-old child in your clinic.  .docx
maxinesmith73660
 
You have been asked to develop UML diagrams to graphically depict .docx
You have been asked to develop UML diagrams to graphically depict .docxYou have been asked to develop UML diagrams to graphically depict .docx
You have been asked to develop UML diagrams to graphically depict .docx
maxinesmith73660
 
You have been asked to develop UML diagrams to graphically depict an.docx
You have been asked to develop UML diagrams to graphically depict an.docxYou have been asked to develop UML diagrams to graphically depict an.docx
You have been asked to develop UML diagrams to graphically depict an.docx
maxinesmith73660
 
You have been asked to develop a quality improvement (QI) process fo.docx
You have been asked to develop a quality improvement (QI) process fo.docxYou have been asked to develop a quality improvement (QI) process fo.docx
You have been asked to develop a quality improvement (QI) process fo.docx
maxinesmith73660
 
You have been asked to design and deliver a Microsoft PowerPoint pre.docx
You have been asked to design and deliver a Microsoft PowerPoint pre.docxYou have been asked to design and deliver a Microsoft PowerPoint pre.docx
You have been asked to design and deliver a Microsoft PowerPoint pre.docx
maxinesmith73660
 
You have been asked to be the project manager for the development of.docx
You have been asked to be the project manager for the development of.docxYou have been asked to be the project manager for the development of.docx
You have been asked to be the project manager for the development of.docx
maxinesmith73660
 
You have been asked to conduct research on a past forensic case to a.docx
You have been asked to conduct research on a past forensic case to a.docxYou have been asked to conduct research on a past forensic case to a.docx
You have been asked to conduct research on a past forensic case to a.docx
maxinesmith73660
 
You have been asked for the summary to include the following compone.docx
You have been asked for the summary to include the following compone.docxYou have been asked for the summary to include the following compone.docx
You have been asked for the summary to include the following compone.docx
maxinesmith73660
 
You have been asked to be the project manager for the developmen.docx
You have been asked to be the project manager for the developmen.docxYou have been asked to be the project manager for the developmen.docx
You have been asked to be the project manager for the developmen.docx
maxinesmith73660
 
You have been asked by management, as a senior member of your co.docx
You have been asked by management, as a senior member of your co.docxYou have been asked by management, as a senior member of your co.docx
You have been asked by management, as a senior member of your co.docx
maxinesmith73660
 

More from maxinesmith73660 (20)

You have been chosen to present in front of your local governing boa.docx
You have been chosen to present in front of your local governing boa.docxYou have been chosen to present in front of your local governing boa.docx
You have been chosen to present in front of your local governing boa.docx
 
You have been charged with overseeing the implementation of cybersec.docx
You have been charged with overseeing the implementation of cybersec.docxYou have been charged with overseeing the implementation of cybersec.docx
You have been charged with overseeing the implementation of cybersec.docx
 
You have been commissioned to create a manual covering the installat.docx
You have been commissioned to create a manual covering the installat.docxYou have been commissioned to create a manual covering the installat.docx
You have been commissioned to create a manual covering the installat.docx
 
You have been challenged by a mentor you respect and admire to demon.docx
You have been challenged by a mentor you respect and admire to demon.docxYou have been challenged by a mentor you respect and admire to demon.docx
You have been challenged by a mentor you respect and admire to demon.docx
 
You have been chosen as the consultant group to assess the organizat.docx
You have been chosen as the consultant group to assess the organizat.docxYou have been chosen as the consultant group to assess the organizat.docx
You have been chosen as the consultant group to assess the organizat.docx
 
You have been assigned a reading by WMF Petrie; Diospolis Parva (.docx
You have been assigned a reading by WMF Petrie; Diospolis Parva (.docxYou have been assigned a reading by WMF Petrie; Diospolis Parva (.docx
You have been assigned a reading by WMF Petrie; Diospolis Parva (.docx
 
You have been asked to speak to city, municipal, and state elected a.docx
You have been asked to speak to city, municipal, and state elected a.docxYou have been asked to speak to city, municipal, and state elected a.docx
You have been asked to speak to city, municipal, and state elected a.docx
 
You have been asked to provide a presentation, covering the history .docx
You have been asked to provide a presentation, covering the history .docxYou have been asked to provide a presentation, covering the history .docx
You have been asked to provide a presentation, covering the history .docx
 
You have been asked to organize a community health fair at a loc.docx
You have been asked to organize a community health fair at a loc.docxYou have been asked to organize a community health fair at a loc.docx
You have been asked to organize a community health fair at a loc.docx
 
You have been asked to explain the differences between certain categ.docx
You have been asked to explain the differences between certain categ.docxYou have been asked to explain the differences between certain categ.docx
You have been asked to explain the differences between certain categ.docx
 
You have been asked to evaluate a 3-year-old child in your clinic.  .docx
You have been asked to evaluate a 3-year-old child in your clinic.  .docxYou have been asked to evaluate a 3-year-old child in your clinic.  .docx
You have been asked to evaluate a 3-year-old child in your clinic.  .docx
 
You have been asked to develop UML diagrams to graphically depict .docx
You have been asked to develop UML diagrams to graphically depict .docxYou have been asked to develop UML diagrams to graphically depict .docx
You have been asked to develop UML diagrams to graphically depict .docx
 
You have been asked to develop UML diagrams to graphically depict an.docx
You have been asked to develop UML diagrams to graphically depict an.docxYou have been asked to develop UML diagrams to graphically depict an.docx
You have been asked to develop UML diagrams to graphically depict an.docx
 
You have been asked to develop a quality improvement (QI) process fo.docx
You have been asked to develop a quality improvement (QI) process fo.docxYou have been asked to develop a quality improvement (QI) process fo.docx
You have been asked to develop a quality improvement (QI) process fo.docx
 
You have been asked to design and deliver a Microsoft PowerPoint pre.docx
You have been asked to design and deliver a Microsoft PowerPoint pre.docxYou have been asked to design and deliver a Microsoft PowerPoint pre.docx
You have been asked to design and deliver a Microsoft PowerPoint pre.docx
 
You have been asked to be the project manager for the development of.docx
You have been asked to be the project manager for the development of.docxYou have been asked to be the project manager for the development of.docx
You have been asked to be the project manager for the development of.docx
 
You have been asked to conduct research on a past forensic case to a.docx
You have been asked to conduct research on a past forensic case to a.docxYou have been asked to conduct research on a past forensic case to a.docx
You have been asked to conduct research on a past forensic case to a.docx
 
You have been asked for the summary to include the following compone.docx
You have been asked for the summary to include the following compone.docxYou have been asked for the summary to include the following compone.docx
You have been asked for the summary to include the following compone.docx
 
You have been asked to be the project manager for the developmen.docx
You have been asked to be the project manager for the developmen.docxYou have been asked to be the project manager for the developmen.docx
You have been asked to be the project manager for the developmen.docx
 
You have been asked by management, as a senior member of your co.docx
You have been asked by management, as a senior member of your co.docxYou have been asked by management, as a senior member of your co.docx
You have been asked by management, as a senior member of your co.docx
 

Recently uploaded

Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptxBeyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
EduSkills OECD
 
Level 3 NCEA - NZ: A Nation In the Making 1872 - 1900 SML.ppt
Level 3 NCEA - NZ: A  Nation In the Making 1872 - 1900 SML.pptLevel 3 NCEA - NZ: A  Nation In the Making 1872 - 1900 SML.ppt
Level 3 NCEA - NZ: A Nation In the Making 1872 - 1900 SML.ppt
Henry Hollis
 
How to deliver Powerpoint Presentations.pptx
How to deliver Powerpoint  Presentations.pptxHow to deliver Powerpoint  Presentations.pptx
How to deliver Powerpoint Presentations.pptx
HajraNaeem15
 
The basics of sentences session 7pptx.pptx
The basics of sentences session 7pptx.pptxThe basics of sentences session 7pptx.pptx
The basics of sentences session 7pptx.pptx
heathfieldcps1
 
Nutrition Inc FY 2024, 4 - Hour Training
Nutrition Inc FY 2024, 4 - Hour TrainingNutrition Inc FY 2024, 4 - Hour Training
Nutrition Inc FY 2024, 4 - Hour Training
melliereed
 
How Barcodes Can Be Leveraged Within Odoo 17
How Barcodes Can Be Leveraged Within Odoo 17How Barcodes Can Be Leveraged Within Odoo 17
How Barcodes Can Be Leveraged Within Odoo 17
Celine George
 
Pharmaceutics Pharmaceuticals best of brub
Pharmaceutics Pharmaceuticals best of brubPharmaceutics Pharmaceuticals best of brub
Pharmaceutics Pharmaceuticals best of brub
danielkiash986
 
Electric Fetus - Record Store Scavenger Hunt
Electric Fetus - Record Store Scavenger HuntElectric Fetus - Record Store Scavenger Hunt
Electric Fetus - Record Store Scavenger Hunt
RamseyBerglund
 
CIS 4200-02 Group 1 Final Project Report (1).pdf
CIS 4200-02 Group 1 Final Project Report (1).pdfCIS 4200-02 Group 1 Final Project Report (1).pdf
CIS 4200-02 Group 1 Final Project Report (1).pdf
blueshagoo1
 
Mule event processing models | MuleSoft Mysore Meetup #47
Mule event processing models | MuleSoft Mysore Meetup #47Mule event processing models | MuleSoft Mysore Meetup #47
Mule event processing models | MuleSoft Mysore Meetup #47
MysoreMuleSoftMeetup
 
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptxPrésentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
siemaillard
 
spot a liar (Haiqa 146).pptx Technical writhing and presentation skills
spot a liar (Haiqa 146).pptx Technical writhing and presentation skillsspot a liar (Haiqa 146).pptx Technical writhing and presentation skills
spot a liar (Haiqa 146).pptx Technical writhing and presentation skills
haiqairshad
 
RESULTS OF THE EVALUATION QUESTIONNAIRE.pptx
RESULTS OF THE EVALUATION QUESTIONNAIRE.pptxRESULTS OF THE EVALUATION QUESTIONNAIRE.pptx
RESULTS OF THE EVALUATION QUESTIONNAIRE.pptx
zuzanka
 
NEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptx
NEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptxNEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptx
NEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptx
iammrhaywood
 
Jemison, MacLaughlin, and Majumder "Broadening Pathways for Editors and Authors"
Jemison, MacLaughlin, and Majumder "Broadening Pathways for Editors and Authors"Jemison, MacLaughlin, and Majumder "Broadening Pathways for Editors and Authors"
Jemison, MacLaughlin, and Majumder "Broadening Pathways for Editors and Authors"
National Information Standards Organization (NISO)
 
Philippine Edukasyong Pantahanan at Pangkabuhayan (EPP) Curriculum
Philippine Edukasyong Pantahanan at Pangkabuhayan (EPP) CurriculumPhilippine Edukasyong Pantahanan at Pangkabuhayan (EPP) Curriculum
Philippine Edukasyong Pantahanan at Pangkabuhayan (EPP) Curriculum
MJDuyan
 
Temple of Asclepius in Thrace. Excavation results
Temple of Asclepius in Thrace. Excavation resultsTemple of Asclepius in Thrace. Excavation results
Temple of Asclepius in Thrace. Excavation results
Krassimira Luka
 
Leveraging Generative AI to Drive Nonprofit Innovation
Leveraging Generative AI to Drive Nonprofit InnovationLeveraging Generative AI to Drive Nonprofit Innovation
Leveraging Generative AI to Drive Nonprofit Innovation
TechSoup
 
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptxChapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Denish Jangid
 
SWOT analysis in the project Keeping the Memory @live.pptx
SWOT analysis in the project Keeping the Memory @live.pptxSWOT analysis in the project Keeping the Memory @live.pptx
SWOT analysis in the project Keeping the Memory @live.pptx
zuzanka
 

Recently uploaded (20)

Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptxBeyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
 
Level 3 NCEA - NZ: A Nation In the Making 1872 - 1900 SML.ppt
Level 3 NCEA - NZ: A  Nation In the Making 1872 - 1900 SML.pptLevel 3 NCEA - NZ: A  Nation In the Making 1872 - 1900 SML.ppt
Level 3 NCEA - NZ: A Nation In the Making 1872 - 1900 SML.ppt
 
How to deliver Powerpoint Presentations.pptx
How to deliver Powerpoint  Presentations.pptxHow to deliver Powerpoint  Presentations.pptx
How to deliver Powerpoint Presentations.pptx
 
The basics of sentences session 7pptx.pptx
The basics of sentences session 7pptx.pptxThe basics of sentences session 7pptx.pptx
The basics of sentences session 7pptx.pptx
 
Nutrition Inc FY 2024, 4 - Hour Training
Nutrition Inc FY 2024, 4 - Hour TrainingNutrition Inc FY 2024, 4 - Hour Training
Nutrition Inc FY 2024, 4 - Hour Training
 
How Barcodes Can Be Leveraged Within Odoo 17
How Barcodes Can Be Leveraged Within Odoo 17How Barcodes Can Be Leveraged Within Odoo 17
How Barcodes Can Be Leveraged Within Odoo 17
 
Pharmaceutics Pharmaceuticals best of brub
Pharmaceutics Pharmaceuticals best of brubPharmaceutics Pharmaceuticals best of brub
Pharmaceutics Pharmaceuticals best of brub
 
Electric Fetus - Record Store Scavenger Hunt
Electric Fetus - Record Store Scavenger HuntElectric Fetus - Record Store Scavenger Hunt
Electric Fetus - Record Store Scavenger Hunt
 
CIS 4200-02 Group 1 Final Project Report (1).pdf
CIS 4200-02 Group 1 Final Project Report (1).pdfCIS 4200-02 Group 1 Final Project Report (1).pdf
CIS 4200-02 Group 1 Final Project Report (1).pdf
 
Mule event processing models | MuleSoft Mysore Meetup #47
Mule event processing models | MuleSoft Mysore Meetup #47Mule event processing models | MuleSoft Mysore Meetup #47
Mule event processing models | MuleSoft Mysore Meetup #47
 
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptxPrésentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
 
spot a liar (Haiqa 146).pptx Technical writhing and presentation skills
spot a liar (Haiqa 146).pptx Technical writhing and presentation skillsspot a liar (Haiqa 146).pptx Technical writhing and presentation skills
spot a liar (Haiqa 146).pptx Technical writhing and presentation skills
 
RESULTS OF THE EVALUATION QUESTIONNAIRE.pptx
RESULTS OF THE EVALUATION QUESTIONNAIRE.pptxRESULTS OF THE EVALUATION QUESTIONNAIRE.pptx
RESULTS OF THE EVALUATION QUESTIONNAIRE.pptx
 
NEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptx
NEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptxNEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptx
NEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptx
 
Jemison, MacLaughlin, and Majumder "Broadening Pathways for Editors and Authors"
Jemison, MacLaughlin, and Majumder "Broadening Pathways for Editors and Authors"Jemison, MacLaughlin, and Majumder "Broadening Pathways for Editors and Authors"
Jemison, MacLaughlin, and Majumder "Broadening Pathways for Editors and Authors"
 
Philippine Edukasyong Pantahanan at Pangkabuhayan (EPP) Curriculum
Philippine Edukasyong Pantahanan at Pangkabuhayan (EPP) CurriculumPhilippine Edukasyong Pantahanan at Pangkabuhayan (EPP) Curriculum
Philippine Edukasyong Pantahanan at Pangkabuhayan (EPP) Curriculum
 
Temple of Asclepius in Thrace. Excavation results
Temple of Asclepius in Thrace. Excavation resultsTemple of Asclepius in Thrace. Excavation results
Temple of Asclepius in Thrace. Excavation results
 
Leveraging Generative AI to Drive Nonprofit Innovation
Leveraging Generative AI to Drive Nonprofit InnovationLeveraging Generative AI to Drive Nonprofit Innovation
Leveraging Generative AI to Drive Nonprofit Innovation
 
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptxChapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptx
 
SWOT analysis in the project Keeping the Memory @live.pptx
SWOT analysis in the project Keeping the Memory @live.pptxSWOT analysis in the project Keeping the Memory @live.pptx
SWOT analysis in the project Keeping the Memory @live.pptx
 

COP2800 - Java Programming Course Project Fall 2014 Page .docx

  • 1. COP2800 - Java Programming Course Project Fall 2014 Page 1 of 8 Juan López INSTRUCTIONS: In this project, you will create a java program to manage the grades of one college course. The user interface for the program will be text-menu driven. Figure 1 depicts what the menu should look like upon launching the program. =============================================== = 1 - Add student to course 2 - Add exam grade for student 3 - Remove a student from course 4 - Show grades for 1 student 5 - Show grades for all students in the course 6 - Save course to file 7 - Load course from file 8 - Quit program =============================================== = Enter selection between 1 and 8: Figure 1 - Menu for course program 1 - Read all instructions CAREFULLY! The User interface is described in Section 1 of this document.
  • 2. The Java Classes you must implement are described in Section 2 of this document. 2 - All programming must follow the guidelines in Appendix I of the text book (page A-79). 3 - The Project must be submitted as a zipped Java Application as implemented on NetBeans. 4 - The Project must be uploaded by Dec 1, 11:59 PM (Monday). 5 - Extra credit opportunities are listed in the last page. They are optional. COP2800 - Java Programming Course Project Fall 2014 Page 2 of 8 Juan López SECTION 1: USER INTERFACE The program will behave in the following manner: A - Menu: Menu item selection must be validated. Upon program launching, the Menu will be drawn on the screen (see Figure 1). If a user enters an invalid menu number, the program must advise the user to enter a valid selection, and try again. B - Menu Selections: Selection 1 - Add Student to a course When user selects item 1, the program asks the user for the Student's last name, first name, student id, and her year in college.
  • 3. If the Student ID provided is not in the course, the program then adds the student to the course, and prints out the student’s record confirming the addition: Student added successfully: Student ID: 1234 Student Name: Smith, Joan Year in School: 4 Grades: <none> The program will validate that a student with that ID is not already in the course: =============================================== = 1 - Add student to course 2 - Add exam grade for student 3 - Remove a student from course 4 - Show grades for 1 student 5 - Show grades for all students in the course 6 - Save course to file 7 - Load course from file 8 - Quit program =============================================== = Enter selection between 1 and 8: 1 Enter student ID: 1234 ERROR: Student ID already exists.
  • 4. (hint: a new Student object should be created, then added to the Course object's ArrayList of Students). COP2800 - Java Programming Course Project Fall 2014 Page 3 of 8 Juan López Select 2 - Add an exam grade for a student When user selects item 2, the program prompts the user for the student’s id. If there is no student with the ID entered, the program will let the user know, and then re- output the main menu. If a student is found, the program will ask the user for the grade. Grades will be between 0 and 100. The system will not hold more than 5 grades per student. After adding the grade, the program will print out the student’s record, confirming the addition of the new grade: Student grade added successfully: Student ID: 1234 Student Name: Smith, Joan Year in School: 4
  • 5. Grades: 82 Average: 82.0 Select 3 - Remove a student from the course When user selects item 3, the program prompts the user for the student's id. If there is no student with the ID entered, the program will let the user know, and then re- output the main menu. If there is a student with that id, the program prints the student info then asks user to confirm he wants to delete the student from the course. Student ID: 1234 Student Name: Smith, Joan Year in School: 4 Grades: 82 Average: 82.0 Are you sure you want to delete? (Y/N): If the user responds with a "Y", the program then deletes the student from the course and outputs the confirmation. Student 1234 deleted. (hint: the program first finds the Student that needs to be deleted from the Course object's Student ArrayList. Upon the user confirming, the program deletes that Student
  • 6. object from the Course object's ArrayList of Students) COP2800 - Java Programming Course Project Fall 2014 Page 4 of 8 Juan López Select 4 - Show grades for 1 student in the course When user selects item 4, the program prompts the user for the student's id. The program then prints out the student's grade in the following format: Student record: Student ID: 1234 Student Name: Smith, Joan Year in School: 4 Grades: 82, 94, 89 Average: 89.0 Select 5 - Show grades for all the students in the course When the user selects item 5, the program will print a list of all the students and their grades in the following format: Course roster:
  • 7. ID Name Year Grades Average --------------------------------------------------------------------------- ------ 1234 Lopez, Juan 3 2, 86, 98 62.00 1235 Alvarez, Jeanie 5 95 95.00 1237 Washington, Jerome 3 <no grades> 0.00 1240 Pierre, Monique 3 <no grades> 0.00 Select 6 - Save course to file When the user selects item 6, the program will prompt the user for the file name. The program then saves the file in the format depicted on Figure 2. If the file cannot be created, the program will return an error message to the user, then take the user back to the main menu Figure 2 - Course file format - use the pipe (“|”) as the delimiter 1234|Lopez|Juan|3|3|2|86|98|-1|-1 1235|Alvarez|Jeanie|5|1|95|-1|-1|-1|-1 1237|Washington|Jerome|3|0|-1|-1|-1|-1|-1 Student ID Last Name First Name
  • 8. Year in School Number of Grades Grades (up to 5, -1 means no grade exists) COP2800 - Java Programming Course Project Fall 2014 Page 5 of 8 Juan López Select 7 - Load course from file When the user selects item 7, the program will prompt the user for the name of the file to be loaded. The file to be loaded will be of the same format depicted in Figure 2. If the file could not be loaded, the program will return an error message to the user, then outputs the main menu. Select 8 - Quit Program When the user selects item 8, the program prints the word "Goodbye!", then exits. Goodbye!
  • 9. COP2800 - Java Programming Course Project Fall 2014 Page 6 of 8 Juan López SECTION 2: JAVA CLASSES Your java program must implement at least 3 classes as described below. 1 - CourseUI class The CourseUI class has the user interface to the program. It should present all output to user and receive all input from the user. This class should have one This class needs only one method - the main method. Your solution should have much more than one method, to make the code readable. 2 - Student class The Student class has all information about 1 student: last name (a string) first name (a string) year in school (an integer from 1 - 5) student id (an integer between 1 and 99999) an Array of exam scores. each exam score is an integer from 0 - 100. a student will have no more than 5 exam grades The Student class should have at least the following public methods: Constructors: Student(int inId, String inLastName, String inFirstName, int inYearInSchool) Student(String inRecordStringFromFile) Accessors: String getStudentName() String getId() String getYearInSchool()
  • 10. String getGrades() double getAverageGrade() String getStudentFileString() Mutators: void setLastName(String inLastName) void setFirstName(String inFirstName) void setId(int inId) void setYearsInSchool(int inYears) void addExamScore(int inScore) void removeExamScore(int scoreNbr) for extra credit COP2800 - Java Programming Course Project Fall 2014 Page 7 of 8 Juan López SECTION 2: JAVA CLASSES (continued) 3 - Course class The Course class has the information about the course: an ArrayList of Student objects name of the file (a string) flag to know whether file has changed (a boolean) The Course class should have at least the following public methods: void addStudent(in inId, String inLastName, String inFirstName, int yearInSchool) void removeStudent(int inStudentID)
  • 11. void addScoreToStudent(int inStudentID, int inScore) void removeScoreFromStudent(int inStudentID, int inScore) Student getStudent(int inStudentId) String getStudentGrades(int inStudentId) String getAllStudentGrades() void saveCourseToFile(PrintWriter inOutput) void loadCourseFromFile(Scanner inFileName) for extra credit for extra credit for extra credit COP2800 - Java Programming Course Project Fall 2014 Page 8 of 8 Juan López Extra Credit #1 - Add option to Remove an exam grade from student Value: 1 homework assignment Add menu option: Remove an exam grade from a student When user selects to remove an exam grade from a student, the program prompts the user for the student’s id. If there is no student with the ID entered, the program will let the user know, and then re- output the main menu.
  • 12. If a student is found, the program will list all the grades associated with that student and prompt the user for the exam number to delete: Enter student ID: 1235 Student: Lopez, Jennifer =========== Num - Score =========== [ 0] - 94 [ 1] - 100 Enter Quiz number: 1 About to delete [ 1] - 100 Are you Sure? (y/n) y After removing the grade, the program will print out the student’s record, confirming the exam score removal: Grade [1] deleted: Student ID: 1235 Student Name: Lopez, Jennifer Year in School: 5 Grades: 94 Average: 94.00 Extra Credit #2 – When the user selects Quit, if he has made changes to the course and has not saved, prompt him to save changes.
  • 13. Value: 1 homework assignment Extra Credit #3 – Create a version of the program in another language. Value: 1 homework assignment