Reference no: EM13755956
Principles of Programming Languages
Programming assignment: the Student class and the ExamGrades class.
Problem 1: Student class
Student class description:
The student type should describe student's last name, first name, id ( letter 'N' followed by an 8-digit number), gpa (a real number in the range of 0.0 to 4.0, a whole number of credits completed, and a single letter status indicating full time ('F') or part time ('P'). All students should be full time by default, unless their status is changed.
The operations allowed should be the following:
• Create a new student given the first name, last name, id and status (gpa and number of completed credits both
initialized to zero).
• Create a transfer student given the first name, last name, id, status, gpa and number of credits.
• Determine student's id.
• Determine student's name.
• Determine student's status.
• Determine student's gpa.
• Determine student's number of credits.
• Change student's status.
• Update number of completed credits for a student by adding the new number (for example credits completed in the current semester) to the current number of credits. The number of completed credits should never decrease.
• Change student's gpa (replace the old value of the gpa with new one).
• Produce a string with student information in the following format:
LastName FirstName id status gpa numberOfCredits
Driver program: The driver program is a class with the main method that tests your class. You should make sure that you class can handle the following situations:
1.Create a new student with valid first/last name, id, and status.
2.Create a new student with valid first/last name, id, and invalid status.
3.Create a new student with valid first/last name, invalid id, and valid status.
4.Create a new student with valid first/last name, invalid id, and invalid status.
5.Create a transfer student with valid first/last name, id, status, gpa and number of credits.
6.Create a transfer student with valid first/last name, id, status, invalid gpa and valid number of credits.
7.Create a transfer student with valid first/last name, id, status, gpa and invalid number of credits. NOTE: In all of the above cases, you can assume that the first and last names are valid.
8.Change student's status from part time to full time.
9.Change student's status from full time to part time.
10.Change student's status from part/full time to an invalid status.
11.Change student's number of completed credits by adding a positive integer to the current number.
12.Change student's number of completed credits by adding a negative integer to the current number (this should not decrease the current number of credits).
After each test you should print the string with student information (using the format described above) for the student that was just modified. SOMETHING TO THINK ABOUT: Think about how you would represent an entire database of students using a Java class. What operations should that kind of database provide and how (insertions, deletions, queries, modifications of student data)?
Problem 2: ExamGrades class
Write a class that can store a list of students and their exam grades. Your class should contain two arrays:
• an array of 100 student last names,
• an array of 100 student exam grades.
Initially both arrays are empty.
The class should have default constructor that does nothing.
The class should provide the following methods:
• add (... ) - adds new student and exam grade; this will add one entry to each array,
• getNumberOfStudents ( ... ) - returns the current number of students in the list
NOTE: the maximum number of students is 100,
• sortByName ( ... ) - sorts both arrays, so that they are arranged alphabetically NOTE: whenever you move a name in one array, you need to move the grade in the other array
• sortByGrade ( ... ) - sorts both arrays so that they are arranged from highest exam grade to the lowest
NOTE: whenever you move a grade in one array, you need to move the name in the other array
• print ( ... ) - prints to the screen students' name and grade one per line (either unsorted, or in the order that results from the last sort method used)
NOTE: if an add method is called after one of the sorts methods is called, the new student should be added to the end of the current list. This will produce a list that is no longer sorted.
WARNING: You need to keep track of the current number of students in the list. When the array is sorted only the used locations in the array should be sorted, not the entire array. Write a program with main() method that tests the ExamGrades class.
Discuss the impact of having an operating system
: Discuss the impact of having an operating system that allows execution on the stack and what disallowing this will prevent
|
What kind of competition do they face in their market
: How are they affected by the laws of supply and demand? What decisions have they made that reflect those laws and what kind of competition do they face in their market.
|
What types of art work or materials would not likely survive
: What types of art work or materials would not likely survive? How might this affect our opinion of a culture?
|
Operational security to help determine the root
: In a report of 2-3 pages, describe how and what should be reviewed in terms of operational security to help determine the root cause of this problem
|
The student class and the examgrades class
: The student type should describe student's last name, first name, id ( letter 'N' followed by an 8-digit number), gpa (a real number in the range of 0.0 to 4.0, a whole number of credits completed, and a single letter status indicating full time
|
Describe shift in the roman empire that created byzantium
: describe the shift in the Roman Empire that created Byzantium in the East and what would eventually become Europe in the West
|
Risk analyses conducted by the internal federal c&a team
: With the completion of the threat, vulnerability, exposure, and risk analyses conducted by the internal federal C&A team, your chief technology officer (CTO) has asked that the team transition to the evaluation of the technical, management, and op..
|
Countrys surveillance practices
: The topic of U.S. government surveillance continues to be hotly debated, with strong opinions in favor of surveillance programs, as well as vocal protestations of government overreach.
|
Case study of martinez company
: Martinez Company has decided to introduce a new product. The new product can be manufactured by either a capital-intensive method or a labor-intensive method. The manufacturing method will not affect the quality of the product. The estimated manuf..
|