A Streamlit-based web application designed to analyze and visualize academic performance data from a college grades dataset (grades.csv). This project provides insights into cumulative GPA, semester-wise GPA trends, grade distribution, and course details, with a bilingual interface (Indonesian/English) for enhanced accessibility. Built with Python, Pandas, and Plotly, it showcases data processing, interactive visualizations, and robust error handling, making it a strong addition to a data science portfolio.
- Cumulative GPA and Total Credits: Displays overall academic performance with cumulative GPA and total credits earned.
- Semester-wise GPA Bar Chart: Visualizes GPA per semester with hover data for total credits, using Plotly for interactivity.
- Grade Distribution Pie Chart: Shows the proportion of grades achieved (A, AB, B, BC) from the dataset, with a note clarifying that only achieved grades are displayed.
- Course Tables: Interactive tables listing courses per semester and per grade, with expandable sections for detailed views.
- Bilingual Interface: Supports Indonesian and English languages for labels and messages, improving usability.
- Data Validation: Includes error handling for missing files, invalid grades (outside A, AB, B, BC, C, D, E), and non-numeric credits, ensuring robustness.
- Python 3.8+
- Streamlit: For building the interactive web application.
- Pandas: For data processing and analysis.
- Plotly Express: For creating interactive visualizations.
- CSV: Input data stored in
grades.csv.
The grades.csv file contains academic data with the following columns:
- Semester: The semester number (1–8).
- Kode Mata Kuliah: Course code.
- Mata Kuliah: Course name (Indonesian).
- Nama Mata Kuliah B. Inggris: Course name (English).
- SKS: Credits earned for the course.
- Nilai: Grade received (A, AB, B, BC).
- Clone the repository:
git clone https://github.com/arianz/academic-performance-analysis.git
- Navigate to the project directory:
cd academic-performance-analysis - Install dependencies:
pip install -r requirements.txt
- Run the Streamlit app:
streamlit run app.py
See requirements.txt for dependencies:
streamlit==1.22.0
pandas==2.2.3
plotly==5.14.1
| GPA Bar Chart | Grade Distribution Pie Chart |
|---|---|
![]() |
![]() |

