PYTHON PROGRAMMING
MODULE END ASSIGNMENT 1
Assignment Title: Student Grade Management System
Problem Statement
Design and implement a Python program that simulates a Student Grade
Management System using
functions and control structures.
The objective is to reinforce your understanding of:
● Writing and calling user-defined functions
● Using control flow statements (if-elif-else)
● Applying basic input validation
● Structuring clean and readable code
Assignment Task Overview
You are required to:
1. Define a function calculate_average(marks) that:
● Accepts a list of 5 numeric marks (between 0 and 100).
● Returns the average of these marks.
2. Define another function get_grade(average) that:
● Accepts the average mark as input.
● Returns the grade based on the following criteria:
■ A for average 90
■ B for 80 average < 90
■ C for 70 average < 80
■ D for 60 average < 70
■ F for average < 60
3. In the main program:
● Prompt the user to enter marks for 5 subjects.
● Validate that each mark is a number between 0 and 100.
● Use the defined functions to calculate the average and determine the
grade.
● Display both the average and the final grade.
Sample Inputs
Enter marks for 5 subjects: 85 90 78 88 92
Average Marks: 86.6
Grade: B
Deliverables
● A complete Python script (.py file) implementing the system
● Inline comments explaining logic and flow
● Sample input and output demonstration
● A brief one-page summary highlighting your approach, validation
logic, and learning outcomes
Skills to be Evaluated and Mapping
Assignment Core Skill Sub-Skill Expected
Section Proficiency
Input Validation & Basic Syntax Input Handling, Beginner
Data Entry Type Conversion,
Range Checking
Grade Calculation Control Flow Conditional Intermediate
Logic Statements(if-
elif-else), Logical
Operators
Data Storage & Data Structures Lists for Storing Intermediate
Processing Marks, Iteration
Function Design Functional User-Defined Intermediate
Programming Functions
(calculate_aver
age(),
get_grade())
Code Modularity Program Structure Separation of Logic Intermediate
into Reusable
Components
Output Formatting Presentation Displaying Average Beginner
and Grade with
Proper Formatting
Error Handling Robustness Input Validation, Intermediate
Preventing Invalid
Data Entry
Code Readability Communication Meaningful Names, Beginner
Indentation,
Comments
Rubric & Mark Allocation (Total: 25 Marks)
Skill / Full Criteria for Full Marks Partial Credit Partial Credit
Component Marks Description Marks Range
Input & 3 All inputs correctly handled, Minor validation 1.5 – 2.1
Validation validated (0–100 range), errors or missing
numeric type ensured edge-case checks
Control 4 All if-elif-else Some logical 2 – 2.8
Structures statements correctly used conditions
for grade classification incorrect or
missing
Data Handling 3 List used effectively for Partial or improper 1.5 – 2.
(Lists) storing marks and use of list
computing average operations
Function Usage 4 Functions Functions defined 2 – 2.8
(calculate_average, but lack proper
get_grade) correctly modularity or
defined, reusable, and clarity
modular
Output 2 Output (average, grade) Output incomplete 1 – 1.4
Formatting displayed clearly and or poorly
accurately formatted
Error Handling 3 Proper handling of invalid Limited validation 1.5 – 2.
inputs using conditions or or missing some
exceptions checks
Code 3 Clean indentation, Minor naming or 1.5 – 2.
Readability & meaningful names, inline formatting issues
Comments comments present
Overall Structure 3 Code well-structured, Logic correct but 1.5 – 2.
& Logic logically organized, fully minor flow or
functional structure issues
Python Skill Taxonomy Structure
Skill Category Sub-Components
Programming Basics Input/Output, Variables & Data Types
Logic & Control Flow Operators, Conditional Statements, Loops
Collections List, Tuple, Dictionary, Set
Functional Programming User-defined Functions, Built-in Functions, Modules
Higher-Order Functions Lambda, Map, Filter, Recursion
File Operations Open, Close, Read, Write, Update, Remove
Robust Code Exception Handling, Assertions
Communication Comments, Code Organization, Readability
Achievement Criteria & Passing Rules
● Students must receive at least partial (non-zero) credit in every
evaluated section — no component can be left blank or unattempted.
● To pass, students must fully achieve at least two major skills:
○ Data Structures, and
○ Function Usage & Modules.
● Each evaluated assignment must include a complete feedback report
and a detailed scorecard outlining performance across all skill
components.