You are on page 1of 24
Rae 22S) PODAR INTERNATIONAL SCHOOL, oe Sines GANDHINAGAR COMPUTER SCIENCE Project File Session: 2023-24 Subject Code: 083 Class: 11 (Science) Roll. No.: 12 Topic: School Grading System Submitted to: Submitted by: Mr. Gaurav Upadhyay Ms. Dia Nair CERTIFICATE THIS IS TO CERTIFY THAT DIA NAIR OF CLASS 11. SCIENCE) HAS SUCCESSFULLY COMPLETED THE PROJECT WORK ON THE TOPIC SCHOOL GRADING SYSTEM UNDER THE GUIDANCE OF MR. GAURAV UPADHYAY DURING THE ACADEMIC YEAR 2023-2024 AS PER THE GUIDELINES ISSUED BY CENTRAL BOARD OF SECONDARY EDUCATION — CBSE, IN PARTIAL FULFILLMENT OF COMPUTER SCIENCE PRACTICAL EXAMINATION CONDUCTED BY PODAR INTERNATIONAL SCHOOL - GANDHINAGAR. SIGN SIGN INTERNAL EXAMINER EXTERNAL EXAMINER SIGN PRINCIPAL ACKNOWLEDGEMENTS With immense pleasure, I would like to present this report on the project work on the School Grading System. I offer my sincere gratitude to Mr. Gaurav Upadhyay for his valuable guidance, motivation and encouragement. He has shown keen interest in this project right from the beginning and has been a great motivating factor in outlining the flow of my work. I am also thankful to our principal Mrs. Madhumita Bhattacharya for providing all kinds of support and motivation. I would also like to thank my parents who provided support and guidance for my project work. Dia Nair Roll no.: 12 INDEX Sr. no. Topic Page No. | Remark 1. Introduction 1-2 2. My Grading System 3-4 3. Hardware and Software 5-6 4. Code 7-13 5. Output 14-19 6. Bibliography 20 Introduction School grading systems are methods used by educational institutions to evaluate and assess students’ academic performance. These systems assign grades or scores to students based on their performance in coursework, exams, projects, and other assessments, Grading systems can vary between countries, educational levels, and institutions. Here are some common school grading systems Letter Grades: o A,B,C,D, F: This system is widely used in the United States. Each letter grade corresponds to a certain range of percentage or GPA. Percentage Grading: © Scores are given as a percentage, typically out of 100. For example, 90-100% might be an 'A,' 80-89% a'B,' and so on GPA (Grade Point Average): o GPA isanumerical representation of a student's average performance. It's often on a scale of 0 to 4 or 0 to 5, with each letter grade corresponding to a certain GPA value. Pass/Fail: © Inapass/fail system, students either pass or fail a course without receiving specific letter grades. This system is often used in some college courses and certain educational settings. Numeric Grading: © Scores are given as numericvalues on a scale (e. a higher number indicates better performance. 1 to 10), where Descriptors: © Instead of using traditional grades, some systems use descriptive terms such as "Excellent," "Good," "Satisfactory," and "Needs Improvement." + Standards-Based Grading: ©. This system assesses a student's proficiency in specific skills or knowledge areas rather than assigning an overall grade. It focuses on whata student knows and can do. * Mastery-Based Grading: ©. Like standards-based grading, mastery-based grading emphasizes a student's mastery of content, allowing them to progress at their own pace * Hybrid Systems: o Some educational institutions use a combination of different grading methods, such as assigning letter grades for overall performance and providing detailed feedback on specific skills or competencies. It's important to note that grading systems can vary not only between countries but also between different schools, colleges, and universities. Each system has its own advantages and challenges, and the choice of a grading system often depends on educational philosophies, institutional policies, and cultural norms. My Grading System (Using Python) The School Grading System designed in Python is a comprehensive and user- friendly application that facilitates the management of student information, grades, and overall academic performance. Key Features: Student Information Management: © Users can add new students to the system by entering their name, student ID, and class, The system ensures that duplicate student IDs are not allowed. Grade Entry for Five Subject: © The system allows users to enter grades for five subjects: Maths, Physics, Chemistry, Computer Science, and English. Upon selecting the "Enter Grades" option, users are prompted to input grades for each subject. Percentage Calculation: © After entering grades for a student, the system automatically calculates the percentage scored based on the entered grades. The percentage is then stored for further reference. Editing Grades: co Users have the option to edit grades for a specific subject. They can view the current grades, choose the subject to edit, and input the new grade. The percentage is recalculated after editing. Student Deletion: © The system allows the deletion of a student by specifying the student ID. This feature ensures efficient management of student records. Adding Remarks: © Users can add remarks for a student by entering the student ID. This feature provides an opportunity to include additional comments on a student's performance. * Displaying Student Information: o Users can view detailed information about a student, including their name, class, grades for each subject, calculated percentage, and remarks (if any). The system checks if grades have been entered before displaying detailed information. * User-Friendly Interface: © The system presents users with a menu-driven interface, allowing them to choose specific actions seamlessly. It guides users through the options, ensuring an intuitive experience. ¢ Validation and Error Handling: ©. The system incorporates validation mechanisms to handle errors gracefully. It checks for existing student IDs, subjects, and ensures data integrity throughout the application. The School Grading System implemented in Python provides a robust and accessible tool for managing student grades and information. Its simplicity and functionality make it an ideal choice for educational institutions seeking an efficient solution for grading and student performance tracking. This system showcases the power of Python's basic concepts in creating practical applications for real-world scenarios in education. Hardware and Software Requirement Hardware Requirements: 1, Computer or Server: Any modern computer or server with sufficient processing power to run the Python programming environment. 2. Storage: * Adequate storage space for storing the Python script, student data, and any additional files associated with the application. 3, Input Devices: * Standard input devices such as a keyboard and mouse for interacting with the Python script. 4, Output Devices: * Adisplay monitor or screen to view the output generated by the Python script. Software Requirements: 1. Python Interpreter: The Python interpreter is essential for executing the Python script. The code is compatible with Python 3.x versions. Installation: © Download and install the latest version of Python from the official Python website: Python Official Website 2. Code Editor or Integrated Development Environment (IDE): A code editor or integrated development environmentis necessary for writing editing, and running the Python script. Recommended IDE: Visual Studio Code, PyCharm, or any other Python-friendly IDE. Installation: = Download and install the preferred IDE from their respective official websites. 3. Operating System: * The Python script is compatible with various operating systems, including Windows, macOS, and Linux. 4. Dependencies: * The code utilizes core Python concepts and doesn't have external dependencies. However, ensure that the system has a stable internet connection during the initial installation of Python and the chosen IDE. 1 Spi Ry OM 2 eI tn ti We # Initialize an empty dictionary to store student information student data = {} def add_student(): student_id = int(input("Enter student 1D: "}) # Check if the student ID already exists if student id in student data: print(f"Student with ID {student _id} already exists.") return name = input ("Enter student nane: "| student_class = input ("Enter student class: ") ¥ Initialize empty grades and remarks for the new student grades = {'Naths': 0, 'Physics': 0, "Chemistry's 0, ‘Computer Science’: 0, 'Englis remarks = '' percentage = 0.0 student_data[student id] = (‘name's name, 'class': student class, 'grades's grades print(f"Student with ID {student id} added successfully." lief calculate percentage (student_id): if student _id in student _data: total marks = sun(student data[student_id] ['grades'] values ()) I can (Stk Wig etn paca AA ae ft fi Ci up number of subjects = len|student data[student. id] ['grades']) percentage = total marks / (number of subjects * 100) * 100 student data[student id] "percentage'] = round(percentage, 2) else: print (f*Student with ID {student id) not fourd.") (ef enter _grades(student id): if student_id in student data: print (f"Enter grades for student 1D {student id}:") for subject in student data[student id] ['grades']: grade = int (ingut(f"Enter (subject) grade: ")) student data[student id] "grades! ] [subject] = grade calculate percentage (student_ id) print ("Grades for student 1D {student id} entered successfully.") else: print (f"Student with ID {student id} not found,") def edit. grades(student_id) if student id in student data: print (f*Current grades for student 1D (student id}: {student data[student. id][ subject = input ("Enter the subject to edit: ") if subject in student data[student id] ['grades"]: eT) | Sprout Cesar aay - 9X eH et Bo yo Hain new_grade = int{input (f"Enter new grade for {subject}: ")) student data[student_id]['grades' | [subject] = new grade caloulate percentage(student id) print ("Grades for {subject} updated successfully." else: print (£"Subject {subject} not found for student 1D {student id}.") else: print (£"Student with ID {student id} not found.") def delete student (student id): if student_id in student data: del student _data[student id] print (f*Student with ID {student id) deleted successfully.") else: print ("Student with ID {student id} not found,") def display student_info(student_id) : if student_id in student _data: student info = student _data[student id] print ("Student 1D: {student id}") print (ftNane: {student info['nane']}") print (f"Class: {student _info['class']}") eas (prc Ry ete Spc MR BOD Se fant es Hi Hp if any(grade != 0 for grade in student_info['grades"].values()): print(f"Grades: {student info['grades']}") print(f"Percentage: {student info['percentage']}$") else: print ("Grades have not yet been updated. ") renarks = student info['renarks'] if student info['renarks'] else "None" print(f"Renarks: {renarks}") else: print (E*Student with 1D (student id} not found.") (def add renarks (student, id): if student id in student data: renarks = input(f"Enter renarks for student 1D (student id): ") student data[student id) ['renarks'] = renarks print (f"Renarks added for student ID {student id} successfully.") else: print(f"Student with ID {student id) not found.) # Variable to track if it's the first run first run = True + Exanple usage: Wwhile True: a ty eSco8g aE Se ot oe Inte if first run: print ("\n0ptions:") print("1. Add new student") print ("2. Exit") choice = input("Enter your choice (1-2): ") Lf choice = '1': add_student () first run = False elif choice == '2': break else: print("Invalid choice. Please enter a number between 1 and 2.") else: print("\ndptions:") print("l. Add new student") print("2. Enter grades for a student") print("3, Edit grades for a student") print("4, Delete a student") print("5. Display student information") print("6. Add renarks for 2 student") peint("7. Exit") choice = input("Enter your choice (1-7): ") ea cet Spee DAN ean ANN BP =e ef Oi Hh choice == '1's add_student() if choice == '2': student _id = int (input ("Enter student ID: ") enter_grades(student,_ id) if choice = '3!: student_id = int(input("nter student 1D; " edit, grades (student _id) if choice == '4': student id = int(input("Enter student 1D: " delete student (student id) if choice = '5!: student id = int(input("Enter student 1D: " display student_info (student_id) if choice = '6': student_id = int(input("nter student 1D; " add_renarks (student_id) if choice = '7': break Se: print ("Invalid choice. Please enter a nunber between 1 and 7.") ei at Output First run/Add a new student: bxeanue -oX 6 26 ty Wi Python 3.12.0 (tags/v3.12.0:0£b18b0, Oct 2 2023, 13:03:39) [MSC v.1935 64 bit (AM * D64)] on win32 Type "help", "copyright", "credits" or "license()" for more information. »> = RESTART: C:/Users/diana/Desktop/CS project code DIA NAIR.py Options: 1. Add new student 2, Bxit Enter your choice (1-2): 1 Enter student ID: 100 Enter student name: Dia Nair Enter student class: 11 Student with ID 100 added successfully. Options: 1, Add new student 2, Enter grades for a student 3, Edit grades for a student 4, Delete a student 5. Display student information 6, Add remarks for a student 7, Bait Enter your choice (1-7): | 1 wwe Enter grades for a student: 4e Gt Sed Deg hee Wine Hep 3, Edit grades for a student 4, Delete a student 5. Display student information 6, Add remarks for a student 1, Exit Enter your choice (1-7): 2 Enter student 1D: 100 Enter grades for student 1D 100: Enter Maths grade: 99 Enter Physics grade: 98 Enter Chemistry grade: 99 Enter Computer Science grade: 100 Enter English grade: 98 Grades for student ID 100 entered successfully. Options: 1, Add new student 2, Enter grades for a student 3, Bdit grades for a student 4, Delete a student 5. Display student information §, Add remarks for a student 1, Bait Enter your choice (1-7): wat Display Student Information: A meses - ox 98 Dg Gos in 3. Edit grades for a student 4, Delete a student 5. Display student information 6. Add renarks for a student 7, Exit Enter your choice (1-7): 5 Enter student 1D: 100 Student ID: 100 Nane: Dia Nair Class: 11 Grades: {'Maths': 99, 'Physics': 98, ‘Chemistry's 99, ‘Computer Science’: 100, ‘En glish': 97} Percentage: 98.6% Renarks: None Options: 1, Add new student Enter grades for a student . Bdit grades for a student . Delete a student . Display student information . Add renarks for a student « Bait Enter your choice (1-7): | wis Add remarks for a student: amsainr - 9% 96 Jog Op en Remarks: None Op 1, Add new student 2, Enter grades for a student 3, Edit grades for a student 4, Delete a student 5, Display student information 6, Add remarks for a student 7, Exit ‘Enter your choice (1-7): 6 Enter student ID: 100 ‘Enter renarks for student 1D 100: Outstanding Remarks added for student ID 100 successfully. Options: 1, Add new student 2. Enter grades for a student 3, Edit grades for a student 4, Delete a student 5, Display student information 6, Add remarks for a student 7, Exit Enter your choice (1-7): | aS Delete a student: menace ‘ke Gt Sed Deag Os Win Hr Options: 1, Add new student 2. Enter grades for a student 3, Edit grades for a student 4, Delete a student 5. Display student information 6, Add renarks for a student 1, Bait Enter your choice (1-7): 4 Enter student 1D: 100 ‘Student with ID 100 deleted successfully, Options: 1, Add new student . Enter grades for a student . Edit grades for a student . Delete a student . Display student information . Add renarks for a student «Exit Enter your choice (1-7): 2 Enter student 1D: 100 Student with 1D 100 not found. mas Invalid student ID: 2 meses -or eS 98 Dag Gos tan Hy »> = RESTART: C:/Users/diana/Desktop/CS project code DIA NAIR. py Options: 1, Add new student 2, Exit Enter your choice (1-2): 1 Enter student 1D: 100 Enter student nane: Dia Nair Enter student class: 11 Student with ID 100 added successfully. Options: 1, Add new student 2. Bnter grades for a student 3, Bdit grades for a student 4, Delete a student 5. Display student information 6. Add renarks for a student 1, Exit Enter your choice (1-7): 2 Enter student ID: 199 Student with 1D 199 not found. bs Bibliography 1.www.wikipedia.com 2.www.w3schools.com 3. www.geeksforgeeks.org 4.www.python.org

You might also like