The goals of this assignment are to learn the following:
- How to instantiate an Array data structure
- How to create, add, and get items in an array
- How to use Arrays as parameters
- How to design and use classes
Computer Science Principles Curriculum
- Big Idea: Algorithms: EK 4.1.1A, EK 4.1.1B, EK 4.1.1C, EK 4.1.1D, EK 4.1.1E, EK 4.1.1F, EK 4.1.1G, EK 4.1.1H, EK 4.2.1A, EK 4.2.1B
- Big Idea: Programming: EK 5.1.2A, EK 5.1.2B, EK 5.2.1A, EK 5.2.1B, EK 5.2.1C, EK 5.2.1D, EK 5.2.1E, EK 5.5.1A, EK 5.5.1D
Common Core Standards
- English Language Arts Standards » Science & Technical Subjects: CCSS.ELA-Literacy.RST.9-10.3, CCSS.ELA-Literacy.RST.9-10.4, CCSS.ELA-Literacy.RST.9-10.5, CCSS.ELA-Literacy.RST.9-10.7, CCSS.ELA-Literacy.RST.9-10.10, CCSS.ELA-Literacy.RST.11-12.2, CCSS.ELA-Literacy.RST.11-12.3, CCSS.ELA-Literacy.RST.11-12.4, CCSS.ELA-Literacy.RST.11-12.5, CCSS.ELA-Literacy.RST.11-12.10
- Mathematics Content: High School Functions » Building Functions: CCSS.Math.Content.HSF.BF.1A
- Standards For Mathmatical Practice: CCSS.Math.Practice.MP1, CCSS.Math.Practice.MP2, CCSS.Math.Practice.MP4, CCSS.Math.Practice.MP5, CCSS.Math.Practice.MP6, CCSS.Math.Practice.MP7, CCSS.Math.Practice.MP8
In the StudentGrades application you will practice storing values in arrays and continue practicing object-oriented programming. First create a Quorum class named Student under the 'New File' menu option. You will also need a new blank application with your main.quorum file. In this class you will store the name of the student, the max possible score the student can get, and an array of scores the student has received on assignments. For this project you will assume each student only has 5 scores, each worth 100 points. This means the max possible score is 500 points. In addition to these class variables you will need to define the following actions in the Student class:
use Libraries.Containers.Array class Student //define class variables here //sets the student name action SetName(text name) end //get the student name action GetName returns text end //set the scores for the student action SetScores(Array
scores) end //Returns the students overall grade in the class //An A is 90 to 100 percent, a B is 80 to 89 percent, //a C is 70 to 79 percent, a D is 60 to 69 percent, and //an F is anything lower than 60 percent action GetFinalGrade returns text return "" end //a private action to help you calculate the total points //a student has (stored in the scores array). private action GetPointTotal returns number integer totalPoints = 0 //your code here return totalPoints end //a private action that gets the final percentage a student //has in the class (their total points/ max points possible). private action GetFinalPercentage returns number number value = 0 return value end end
In main.quorum you will need to define two arrays: one to store Student objects and another to store grades, an integer. Once you have defined these arrays you can start to construct each student and their grades. Define two students with the names and grades listed below:
- Jenny: 92,100, 95, 88, 79
- John: 73, 91, 87, 88, 95
Once this information is stored you can loop through the Array of students and output some basic information. The program should produce output that does the following:
- Get the student from the array.
- Output or say the student name and the array index the student was found at.
- Calculate the student's grade.
- Output or say the grade of the student
student jenny is at array index 0 jenny's grade is a A student john is at array index 1 john's grade is a B
- Create a new project and name it StudentGrades.
- There should be a total of 2 files:
- Each file should have the corresponding class defined in the file.
- Use appropriate variables to store and keep track of values (including class variables).
- You should implement each action given in the assignment specification.
In the next tutorial, we will discuss Challenge 5.1, which describes a session on creating an in-game map in Quorum.