COSC 120 WINTER 2014 PP #3 GRADE AUDIT Distributed: 13 March 2014 Due: 24 March 2014 Write a MATLAB program to check a student's transcript against a list of required courses. The required courses is a list of unique non-negative integers that represent the courses the student must pass. Example: [ 1 5 17 2 45 4 32 ] The student's transcript is a 2D array. Each row in the array is a course #, course grade. That is, column 1 is the course #, column 2 is the grade in that course. Example: [ 45 0.0 ; 32 3.0 ; 1 4.0 ; 2 2.0 ; 17 2.0 ; 29 0.0 ; 29 4.0 ; 1 4.0 ; 32 4.0 ] The grades are given as grade point values: 4.0 means 'A', 0.0 means 'E'. Students may retake courses, for example in the above transcript, course #32 was taken twice: once with B and once with 'A'. Your program will check the required courses against the transcript. If a student has *ever* passed the course (GP >= 1.0), then that requirement is satisfied. If a student has only E (GP = 0.0), then the requirement is not satisfied. Your program will output the list of required courses, together with the audit for that class. Any class that was not taken should be marked as 'X'. Then, state whether audit is passed or not passed. Your program will then output the current *total* GPA (to 2 decimal places). Note, this calculation differs from how EMU works in two ways: 1. At EMU, only the last grade for a course counts in the GPA -- not all the grades. 2. At EMU, the class is passed if the last grade is D or better. Example output for above data: --- --- --- --- --- --- --- --- Transcript audit Course # Audit Grade 1 4.0 5 X 17 2.0 2 2.0 45 0.0 4 X 32 3.0 Student does not pass audit. Total GPA: 2.56 --- --- --- --- --- --- --- --- Testing and data: (1) Test the data against the above data and against data that you generate. (2) At the demo, you will be given test data to use. Turn in: Hardcopy of code Screen shot of correct execution on above data. Demo and walk-through. Extra credit: Read data from files (one for required, one for transcript). + 10% Grade based on: (1) 80% Correctness (2) 20% Readability (comments, good names, good use of functions)