This project is a web-based application designed to recommend elective courses to students based on their current grade report. The application uses data extraction from PDF grade reports, data processing, and a recommendation algorithm to suggest the most suitable elective courses. Built using Python and Flask, this project incorporates various data science techniques to analyze and recommend courses that align with the student's interests, career goals, and academic performance.
- Upload Grade Report: Users can upload their PDF grade report, which is then processed to extract relevant academic data.
- Course Recommendations: Based on the extracted data and the predefined curriculum, the system recommends elective courses that match the student's profile.
- Model Improvement: Users can provide feedback to improve the recommendation model, making it more accurate over time.
- Session Management: The application uses session management to handle user interactions and data updates securely.
- Flask: The web framework used to create the application.
- Pandas: Used for data manipulation and analysis.
- Fitz (PyMuPDF): Used for extracting data from PDF files.
- Seaborn & Matplotlib: Used for data visualization (if necessary).
- Data Extraction: Extracts course titles, credits, grades, and other relevant information from the uploaded PDF grade report.
- Data Normalization: Normalizes course titles and merges datasets to create a comprehensive grade report.
- Prerequisite Check: Ensures the student has completed the necessary prerequisites for the recommended elective courses.
- Attribute Filtering: Filters courses based on attributes such as interest level, relevance to career goals, course popularity, project-based learning, and industry relevance.
- Weighted Scoring: Calculates similarity scores for elective courses using a weighted formula and recommends the top courses.
-
Clone the repository:
git clone https://github.com/mohsinmshabbir/elective-course-recommendation-system.git cd elective-course-recommendation-system
-
Create a virtual environment and install dependencies:
python -m venv venv source venv/bin/activate # On Windows, use `venv\Scripts\activate` pip install -r requirements.txt
-
Run the application:
flask run
-
Access the application in your web browser at
http://127.0.0.1:5000
.
- Home Page: Start by uploading your PDF grade report.
- Recommendations: View the recommended elective courses based on your current academic profile.
- Improve Model: Provide feedback to improve the recommendation model.
Contributions are welcome! Please fork the repository and create a pull request with your changes.
This project is licensed under the MIT License.