This project is designed to implement concepts from an "Introduction to Computer Science" course. It provides a simple graphical user interface (GUI) to calculate personal letter grades for specific courses and conduct a comprehensive analysis of class grades.
- PyQt5: For building the graphical user interface.
- Numpy: For numerical operations and data processing.
- Matplotlib: For plotting and visualizations.
The project consists of two main sections:
This section allows users to calculate their personal letter grade for a specific course. Users are prompted to input required information, including assignment grades, quizzes, midterms, and final exam grades. The program then calculates the letter grade based on this data and outputs a text file containing the grade and a summary of the results.
This section enables users to analyze class grades. It allows loading grades from various formats (text, CSV, Excel, or direct input through the terminal) and then plots the grade distribution using Matplotlib. The program also saves the generated graph as a PDF file and creates a text file containing statistical information about the grades.
- User-Friendly Interface: The PyQt5 GUI makes it easy to enter grade data and navigate through the application's features.
- Flexible Data Input: Supports loading grades from text files, CSV, Excel, or terminal input.
- Comprehensive Grade Analysis: Generates a graphical representation of grade distributions and produces statistical summaries.
- Output Files: Creates a text file with personal grade information and a PDF file with the grade analysis graph.