Instruction: This week’s assignment involves writing a Python program to compute the weighted average grades for students and determine which student has the highest average. Write a function that use


Instruction:

This week’s assignment involves writing a Python program to compute the weighted average grades for students and determine which student has the highest average.

Write a function that uses student name as argument. The function should display the student name and prompt the user for three grades for the student: one for the discussion, one for the quiz, and one for the programming assignment. The function should calculate the weighted average grade using the following formula and return the calculated average.

wtAvgGrade = discussion_grade * 0.15 + quiz_grade * 0.35 + assignment_grade * 0.5

Write a main program which defines a list of four students. You can decide on the names of the four students. Use a for loop, to call the function successively for each student to calculate weighted average grade for each student. In addition, a check should be made to determine whether that student’s grade is the highest so far. Once the loop completes, the program should display the name of the student with the highest average grade, and the corresponding weighted average grade. If more than one student has the highest grade, display the name of the first such student.

Your program should include Header comments (what the program does) and in-line comments (the major design steps). Document the values you chose for the student name list as well. Also document the values you chose as the weights for the three grades in your comments as well.

Submit your Python program as a text file (.py) file. In addition, submit a Design outline and a Test plan/report (at least 3 different test cases) in a Word document or a PDF file, and include a screenshot of execution of your program for each test case.

Your submission must also adhere to the SubmissionRequirements document. (i.e., Filename and display your name, class, date in the output).

Grading:

15% – Design – outline proper sequence of steps, calculations (if necessary). Identify all your loops, validation.

10% – Test Plan – Completeness of your Test plan/report (at least three test cases).  Include screenshots for each test case.

10% – Documentation – Header and in-line comments. Documentation of major steps (from design outline).

65% – Program prompts and executes correctly on all test cases. Satisfies all requirements (each requirement – 10 pts, compiles – 20 pts, effectiveness and neatness – 10 pts, descriptive variables – 5 pts, def main() – 5 pts).

Important note: This is an individual assignment and students are required to submit their original/independent work and adhere to UMGC academic integrity policy. Your submission should adhere to the Submission Requirements document. It is advised that you read all the material, including the Lecture before attempting the assignment.