CSCI1250 Project 3 Fall 2015
CSCI1250 INTRODUCTION TO COMPUTER SCIENCE 1
PROJECT3
THE PROJECT
You are to write a program that will ask the user for a grade and give
them options for applying a curve to that grade. It should give them the
option to curve by 10 points or 10 percent. It should also give them the
option to curve the grade by the number of points that they enter or a
percentage that they enter. It should use a menu to allow the user to
select from the different options for curving the grade.
Your program should include the following static methods at the very
minimum.
1. A method to ask the user for the original grade. It should return the
original grade.
2. A method to display the menu, get the users selection and return it.
The menu should look like the one shown in the example (with your
name displayed instead of mine).
3. A method to freeze the screen. It should accept a message to be
displayed to the screen. It should display a couple of blank lines
then the message to be displayed. It should wait until the user
presses Enter.
4. A method to clear the screen. It should simply display enough
blank lines to make it look like the screen has been cleared.
5. A method to get the number of points for the curve to be applied.
It should request the number of points from the user and return what
was entered.
6. A method to get the percentage for the curve to be applied. It
should request the percentage (as a decimal) from the user and
return what was entered.
7. A method to calculate the number of points for the curve based
upon the percentage that has been selected. It should accept the
percentage and the original grade and return the number of points
to be applied.
8. A method to apply the curve to the original grade. It should
accept the number of points to be applied and the original grade.
CSCI1250 Project 3 Fall 2015
It should apply the points to get the new grade and return the new
grade. 100 is the maximum grade that can be received, so if the
curve causes the grade to go over 100, it should be set to 100
instead.
9. A method to display the amount of points applied as the curve and
the new grade. It should accept the number of points applied and
the new grade.
Notes:
1. The main method should use a switch to process the user’s
selections.
2. Note the messages used in the screen shots when freezing the
screens.
3. The output should look similar to what is shown. It must include all of
the information shown but formatting is up to you. Make sure that
your output is neat, readable and understandable to the user.
4. The screen should be cleared before displaying the menu.
5. If an invalid selection is made, an appropriate error message should
be displayed.
CSCI1250 Project 3 Fall 2015
PROJECT TO DO LIST:
Step 1. Requirements Specification
o You have been given a .
Beyond the EU: DORA and NIS 2 Directive's Global Impact
CSCI1250 Project 3 Fall 2015 CSCI1250 INTRODUCTIO.docx
1. CSCI1250 Project 3 Fall 2015
CSCI1250 INTRODUCTION TO COMPUTER SCIENCE 1
PROJECT3
THE PROJECT
You are to write a program that will ask the user for a grade and
give
them options for applying a curve to that grade. It should give
them the
option to curve by 10 points or 10 percent. It should also give
them the
option to curve the grade by the number of points that they
enter or a
percentage that they enter. It should use a menu to allow the
user to
select from the different options for curving the grade.
Your program should include the following static methods at the
very
2. minimum.
1. A method to ask the user for the original grade. It should
return the
original grade.
2. A method to display the menu, get the users selection and
return it.
The menu should look like the one shown in the example (with
your
name displayed instead of mine).
3. A method to freeze the screen. It should accept a message to
be
displayed to the screen. It should display a couple of blank
lines
then the message to be displayed. It should wait until the user
presses Enter.
4. A method to clear the screen. It should simply display
enough
blank lines to make it look like the screen has been cleared.
5. A method to get the number of points for the curve to be
applied.
It should request the number of points from the user and return
what
3. was entered.
6. A method to get the percentage for the curve to be applied. It
should request the percentage (as a decimal) from the user and
return what was entered.
7. A method to calculate the number of points for the curve
based
upon the percentage that has been selected. It should accept the
percentage and the original grade and return the number of
points
to be applied.
8. A method to apply the curve to the original grade. It should
accept the number of points to be applied and the original
grade.
CSCI1250 Project 3 Fall 2015
It should apply the points to get the new grade and return the
new
grade. 100 is the maximum grade that can be received, so if the
curve causes the grade to go over 100, it should be set to 100
4. instead.
9. A method to display the amount of points applied as the
curve and
the new grade. It should accept the number of points applied
and
the new grade.
Notes:
1. The main method should use a switch to process the user’s
selections.
2. Note the messages used in the screen shots when freezing the
screens.
3. The output should look similar to what is shown. It must
include all of
the information shown but formatting is up to you. Make sure
that
your output is neat, readable and understandable to the user.
4. The screen should be cleared before displaying the menu.
5. If an invalid selection is made, an appropriate error message
should
5. be displayed.
CSCI1250 Project 3 Fall 2015
PROJECT TO DO LIST:
o You have been given a set of requirements but this is where
you will need to ask any questions to get further clarification if
necessary.
o Write UML statements for every method (see the notes section
for example of what this should look like)
o Write the algorithm/flowchart for every method (see the
notes section for example of what this should look like)
o Create a class called Project3 containing a method called
main (which contains the code to implement this project).
6. Your project should be saved in a folder named
LastnameFirstnameProject3 (replace Lastname and Firstname
with your own last and first name)
o Write your program one step at a time, i.e. make sure one
thing works before going on to something else. For instance,
write the part that displays the menu and reads in the user’s
selection (and test it to make sure that it works) before writing
the rest of the code.
necessary for each step, one at a time)
Using the algorithms written:
writing another method. This is the easiest way to
write a program that has lots of methods
because you make sure one is working before
you go to the next. That way, if something
doesn’t work, you can easily know it was in the
7. code that was just added.
o Be sure to follow the programming standards when writing
your code. Make sure that you declare all variables and
constants together at the beginning of your program and
include a comment for each.
CSCI1250 Project 3 Fall 2015
o Complete the documentation of the application by inserting
comments and adhering to programming standards.
o Create your Javadocs and place them in a javadocs folder
inside your LastnameFirstnameProject3 folder. To create the
javadocs, use the command javadoc Project3.java
o Test your program to make sure that it works!
o Create a word document named Project3Screenshots.doc (or
docx) in the same folder as your project. At the very top of
8. the document type YOUR name and CSCI-1250-201on the
right-hand side.
one invalid selection) of your code running and paste
them in the Word document. Use different input each
time you run your program. Your screenshots should
look similar to the following screenshot shown below.
You may have to resize your window in order to be get
a screenshot with all of this in it.
o Zip up the folder containing your source code, javadocs and
screenshots. Drop the zipped folder onto D2L. It should be
named LastnameFirstnameProject3.zip
o Upload the .zip file to the dropbox in D2L. This must be done
by the due date/time. The dropbox will close promptly at the
due date/time and no submissions will be allowed after that.
If you have not completed the project, submit whatever you
have. Partial credit is better than no credit at all. Remember
that NO late work is accepted.
9. o Print out the. java file and place the following in this order in
a
clear sheet protector and bring it to class on the due date:
1. grade sheet on top with your name on it
2. algorithm/flowchart/UML entry (for all methods,
including main)
3. source code
4. screenshots
5. javadocs (only the Project3.html file needs to be
printed and included)
CSCI1250 Project 3 Fall 2015
Notes:
otepad++
o Do not print your source code out in regular Notepad
o Be sure to avoid WORD WRAPPING. Print Landscape if you
need to.
10. -aligned and have
correct
spelling/grammar
e displayed to two decimal places
accepting
input
A sample of the UML entry/algorithm would look like this…
Method: sumNumbers
UML Entry: +sumNumbers(num: int, num2:int) : int
Algorithm: (or Flowchart and place a screen shot of the
flowchart below)
Accepts two integer numbers in the parameter list
Calculate the sum by adding the two numbers together
Return the sum
* You should have one of these entries for each method that you
create
11. CSCI1250 Project 3 Fall 2015
SCREEN SHOTS
Prompting for the original grade
Beginning Menu
CSCI1250 Project 3 Fall 2015
Selection 1
Selection 2
CSCI1250 Project 3 Fall 2015
12. Selection 3
Selection 4
(note here that the grade should have gone over 100,
but it was capped at 100)
CSCI1250 Project 3 Fall 2015
If an invalid selection is made
Option 5 should just exit
CSCI1250 Project 3 Fall 2015
13. Project 3 Grade Sheet Name:
Comments
Is it Correct?
Code is executable
Produces correct results
Produced using minimalistic code
Results are not contrived
Is it Maintainable?
(Did you follow programming
standards?)
Coded indented correctly
Comments for each module
Comments to enhance readability
Meaningful identifiers used
Whitespacing used appropriately
Constants used where appropriate
14. Does it have an Appropriate Interface?
Results are understandable
Appropriate prompts for requested
information
Appropriate feedback to the user
Validates user input
Acceptable grammar used
Was it submitted properly?
Zipped folder to D2L containing:
(with appropriate file/folder names)
UML Class diagram N/A Not applicable for this project
Algorithm/Flowchart/UML Entries
Source Code
Screen shots
Javadocs
File folder containing hard copies of
above items (submitted in class – must
15. be in order shown above with grade
sheet on top )
Additional Notes / Comments
Total Grade
CSCI1250 Project 3 Fall 2015