The goal is to develop an application for grading in courses at IIIT-Delhi. The application should provide for (i) creating
This problem has been solved!
Do you need an answer to a question different from the above? Ask your question!
- The goal is to develop an application for grading in courses at IIIT-Delhi. The application should provide for (i) creating a course for grading with its name, credits, list of assessments with percentage weight for each (e.g. [("quiz", 5), ("mid-sem", 15), ...], a grading policy as a list percent for different grades (we will assume that only grades are: A, B, C, D, and F, so this can be [80, 65, 50, 40, 30] (i.e. A above 80, B between 80 and 65, ..., F below 30). However, the final cutoff for each grade will be within +/- 2 of the percent specified (i.e. for A it will be between 78 and 82) - it will be the higher of two consecutive marks within this range which have the highest difference. (So, if the marks are 81.9, 81.8, 81.7, 81, 80.9, 80.8..., then the cutoff will be the midpoint of 81.7 and 81, which has the largest gap (ii) adding students' marks for all assessments given in a file - there will be rolling followed by marks for each. Once marks are given, it should do the grading - apply the policy to determine the grade for each student.
- Change to: [80, 65, 50, 40] (i.e. A above 80, B between 80 and 65, ..., F below 40)
- It should then ask the professor what he wants to do: 1. Generate a summary - which should print the course info (name, credits), assessments and their weight, cutoffs for different grades, and grading summary (how many As, how many Bs, etc) 2. Print the grades of all the students in a file as: roll no, total marks, and grade (one line for each student). 3. Search for a student record - given the roll no, show marks in different assessments, total marks, and final grade.
Develop this program and use it for grading the "IP" course. The assessments and the grading policy is given below (in the main program steps)
- The main program can be something like (rough sketch):
- cname, credits = "IP", 4
- assessments = [("labs", 30), ("midsem", 15), ("assignments", 30), ("endsem", 25)]
- policy = [80, 65, 50, 40, 30]
- create-IP course (cname, credits, assessments, policy)
- Upload-marks data - call a function/method with input as marks.txt
- doGrading - call a function/method
- Loop asking for what operation (1, 2, 3); perform the operation till no input is given
- Question 4. Write this program using class and objects - it seems that "Course" and "Student" will be natural classes. Write this program using classes and objects. You must have at least two main classes for the course and student.
- Question 5. Write this program without using classes and objects. (You may find dictionaries as suitable data structures.) Do the same problem without using OOP.