Course Recommendation System Using Machine Learning — Python Flask Final Year Project with Source Code

Course Recommendation System Using Machine Learning — Python Flask Final Year Project with Source Code

A working course recommender built on real Harvard enrollment data — KMeans clustering plus cosine similarity, wrapped in a Flask app with search, analytics dashboard and a JSON API. Runs on your laptop in 10 minutes.

Technology Used

Python | Flask | scikit-learn | KMeans Clustering | Pandas | NumPy | Chart.js | HTML/CSS

codeAj
✓
codeAjVerified
🏆5K+ Projects Sold
Google Review
₹499₹1999

Get complete project source code + Installation guide + chat support


What This Project Actually Does

You type a course name. The system finds other courses that get enrolled in by a similar mix of students, and ranks them by how close that mix is. That's it. No magic.

The dataset here is real Harvard enrollment data, aggregated at the course-section level. So each course has a profile: how many undergrads, how many grad students, how many cross-registered, which department it sits in, total headcount. The training notebook (Course_Recommendation_Training.ipynb) scales those features, runs KMeans to group courses into clusters with similar enrollment shapes, and saves everything into models/ as pickle files. At runtime the Flask app just loads those artifacts once at startup and does cosine similarity between feature vectors. Fast, because nothing is recomputed per request.

One thing worth being upfront about: this is not student-level collaborative filtering. There are no individual student records in the source CSV, so it can't say "students like you also took X." It says "courses like this one attract a similar crowd." Your guide will probably ask about this distinction, and being able to answer it clearly is worth more marks than you'd expect.

Key Features

  • Search any course by name with live autocomplete pulling from /api/courses, so you don't have to remember exact course codes like AESTHINT 13
  • Ranked recommendations with an actual similarity score (0 to 1) next to each result, not just an unexplained list
  • A toggle for same_cluster_only — keep it on to stay inside the searched course's KMeans cluster, turn it off to sweep the entire dataset
  • Fuzzy suggestions on a miss: type a course that doesn't exist and the API returns a 404 with a list of close matches instead of just failing
  • An Explore page with filtering, sorting and pagination over every course, where clicking any row instantly fires a recommendation
  • An Analytics dashboard with department distribution, cluster breakdown, class-size histogram and enrollment-composition charts — all served from a single /api/analytics endpoint
  • A proper JSON API (GET /recommend?course=AESTHINT%2013&top_n=5) so you can demo it in Postman during your viva, which examiners love
  • A /health route, because deployment day is not the time to find out your app is half-dead
  • An About page that documents the methodology and the limitations in plain language — half your report's "Limitations" chapter is already written

Real-World Applications

The obvious one is a university course catalogue. Any institution with a course-registration portal can bolt this on so students browsing one elective see four related ones underneath.

Beyond campus, the same enrollment-composition logic maps onto EdTech platforms recommending the next course after someone finishes one, corporate L&D dashboards grouping internal trainings by who actually signs up for them, and academic advising tools that help a counsellor suggest electives to a confused second-year. Swap the Harvard CSV for your own college's enrollment sheet and the pipeline works the same way, which is exactly the extension your panel will ask you about.

Who Should Buy This

If you're a BCA or BSc IT student in your last semester with a submission date closing in and no working ML project, this is the one to pick up. It's Python, it's Flask, it uses scikit-learn properly, and every part of it is explainable in a five-minute viva without hand-waving.

Also good for MCA and BTech CSE students who want a machine learning final year project that isn't another Iris classifier or Titanic survival notebook. Every second batch has one of those. This one has clustering, similarity math, a real web layer and a REST API, which puts it in a different bracket entirely.

Skip it if your college has specifically demanded a Django backend or a deep learning model. Different requirement, different project — check our other listings instead.

What's Hard and What Isn't

The hard part: retraining on a new dataset. If you want to swap in your own college's enrollment data, you have to re-run the notebook, regenerate all six artifacts in models/, and make sure your column names line up with feature_columns.pkl. Get that mismatched and recommender.py throws at startup. We'll walk you through it if you go that route, but don't leave it for the night before.

The easy part, and honestly the surprising one — you don't need to train anything to run the demo. The model artifacts ship pre-trained. No GPU, no CUDA, no waiting. Clone, install requirements, python app.py, done.

Why CodeAj

You're not just getting a zip file. Every project ships with a college-format report covering abstract, literature survey, system design, methodology, results and future scope — formatted the way most universities want it, so you're editing rather than writing from zero. If setup goes sideways on your machine, the project setup session gets it running with you on a call. And if you're browsing around, our machine learning projects with source code collection and the recommendation engine solutions page have close alternatives if this particular dataset isn't your thing.

Frequently Asked Questions

You will get the complete source code along with an installation guide and chat support to help you set up and understand the project.
All our projects are thoroughly tested multiple times, so the code is completely error-free. But in case you still face any issue, you can reach out to us on WhatsApp (+91 8603862290) and we will fix it and provide you the updated code.
You can book a 1-on-1 Setup & Explanation Session where we connect via AnyDesk and Google Meet, set up the project on your laptop, and explain the complete code working and flow.
No, you cannot re-sell the project. This is completely illegal and a violation of our terms. If we find any such activity, we will take legal action.
Full source code. app.py, recommender.py, every template, the CSS file, requirements.txt, all six model artifacts inside models/ and the training notebook. Nothing is obfuscated or held back. Open it in VS Code and you can read every line.
No. kmeans_model.pkl, scaler.pkl, feature_columns.pkl, top_departments.pkl, courses_with_clusters.csv and X_scaled.npy are already trained and sitting in the models folder. The app loads them once when Flask boots. Training is only needed if you want to plug in a different dataset.
It'll run on anything from the last eight years. No deep learning, no GPU, no CUDA headaches. 4GB RAM and Python 3.9 or above is genuinely all you need. Startup takes a couple of seconds because it's just loading pickle files.
Yes. You get a college-format report with abstract, literature survey, system design, methodology, implementation details, results and future scope. Drop in your name, college, roll number and guide's name, adjust the formatting to whatever your university demands, and it's ready.
Say no, and say why. The source data is aggregated at course-section level with zero individual student records, so there's no user-item matrix to factorise. This is item-to-item similarity over enrollment composition features. Being able to explain that difference clearly is usually worth marks.
You can, but it's the harder path. Re-run Course_Recommendation_Training.ipynb with your CSV, regenerate all six artifacts, and make sure your column names match what feature_columns.pkl expects. Mismatch there and recommender.py fails at startup. Worth doing if you have the time, and we'll help on a setup call if you get stuck.
The API returns a 404 with a suggestions list of fuzzy-matched names, so the UI shows close alternatives instead of a dead end. Only courses present in courses_with_clusters.csv can be recommended, since the app looks up a precomputed feature vector rather than building one on the fly.
Yeah, completely offline once it's installed. Flask runs on 127.0.0.1:5000, the dataset is local, the models are local. Just install everything a day before, not during the presentation.
Installation Guide

Extra Add-Ons Available – Elevate Your Project

Add any of these professional upgrades to save time and impress your evaluators.

Live 1-on-1 Mentorship

Personal session with an expert developer

Project Setup

We'll install and configure the project on your PC via remote session (Google Meet, Zoom, or AnyDesk).

Source Code Explanation

1-hour live session to explain logic, flow, database design, and key features.

Want to know exactly how the setup works? Review our detailed step-by-step process before scheduling your session.

₹999

Custom Documents (College-Tailored)

  • Custom Project Report: ₹1,500
  • Custom Research Paper: ₹1,000
  • Custom PPT: ₹800

Fully customized to match your college format, guidelines, and submission standards.

Project Modification

Need feature changes, UI updates, or new features added?

Charges vary based on complexity.

We'll review your request and provide a clear quote before starting work.

Project Files

GoogleReviews

What Our Students Say

5(38+ reviews)
S
Sujit Chavan
a month ago

He explained the project clearly and thoroughly. He was very supportive throughout the process and was always available to help when needed. His guidance and assistance made it easier to understand the project and complete tasks effectively.

Y
Yash Baisware
4 months ago

I had a very good experience with CodeAj Marketplace. The team is professional and supportive, especially Ajay Pandit sir who guides clearly throughout the project. The work was completed neatly and according to requirements. A great place for learning and project development. Highly recommended for students and developers.

R
Ravi Singh
3 months ago

Excellent explanation! Concepts are explained in a very simple and understandable way. It really helped me a lot in improving my knowledge. Great work!

K
Keerthika S
a year ago

Codeaj was really helpful with my project, especially during the customization part. He didn't just do the work but also took the time to explain everything, from the project structure and database to the code itself. It was a huge help, especially for students trying to understand how everything fits together. I really appreciated his support and the way he made things easier to follow.

S
Sprillxstone
10 months ago

Working with CodeAj Marketplace has been such a positive experience. The projects delivered are original, carefully crafted from scratch, and tailored to meet expectations with impressive attention to detail. What really makes him stand out is his willingness to go the extra mile — not just in creating outstanding work, but also in helping others understand how everything functions. He explains things clearly, addresses questions patiently, and ensures the whole process feels like a learning journey instead of just a handover. On top of the technical expertise, his calm and approachable personality makes communication effortless. No unnecessary stress, just smooth collaboration and genuine support. I truly value the dedication he brings to his work and would highly recommend him to anyone in search of high-quality, authentic projects.

A
Abdullah ATK
11 months ago

I purchased a project from him recently and I have to say it's one of the best decisions I've made. The project was absolutely beautiful, built completely from scratch with no shortcuts, and perfectly matched what I wanted. What makes him stand out is not just his ability to create anything we ask for, no matter how complex, but also the way he helps us understand every part of it. He patiently explains the process, clears doubts, and makes sure we actually learn from the project instead of just using it. On top of his skills, his personality is amazing — he's calm, chill, and very friendly to talk to. There's no stress when working with him, only smooth communication and genuine support. I truly appreciate the effort he puts in and would highly recommend him to anyone looking for original, high-quality projects.

J
Jaya shree
9 months ago

I received my project from CodeAJ Marketplace on time, and the work was very neat and well-presented. The team maintained good communication and delivered everything as promised. I appreciate their timely completion and professional approach.

T
taha vohra
a year ago

I sincerely thank Mr. Ajay Pandit for his constant support and valuable guidance throughout the project. His timely advice, encouragement, and expertise greatly contributed to the successful completion of the work. I'm truly grateful for his mentorship.

S
Sonal
10 months ago

I had an outstanding experience with CodeAj while developing my mobile app. Their team was incredibly cooperative, ensuring every customization I requested was implemented flawlessly. The service was top-notch, and the final product exceeded my expectations. Highly recommend CodeAj for anyone seeking professional and reliable app development services! 11/10

R
Rutik Jagtap
a year ago

I would like to sincerely thank Ajay Pandit for providing me with the project. His guidance and explanation of the system's architecture, modules, and AI integration were extremely helpful in understanding the project thoroughly. Ajay's support played a key role in helping me implement the hotel booking and payment module effectively. His willingness to clarify concepts and walk me through complex logic made the learning process smooth and insightful. I truly appreciate his mentorship and the time he dedicated to ensuring I was well-prepared for both the development and presentation of this project.

P
Prachi Narkar
a year ago

I had a great experience with the project I purchased. It was well-structured and met all my expectations. The team was responsive and supportive throughout, addressing all my queries promptly. Highly recommended for anyone looking for quality projects and good service.

V
varshi v
11 months ago

I'm really thankful to Codeaj for helping me with my project explanation and guiding me throughout. Your support made everything much easier and clearer.

S
Sreekrutha Pasunuru
9 months ago

The project he made was wonderful, and the way he patiently listened, understood all my ideas and presented them so well in the project, was amazing. I would highly recommend him to everyone.

A
Anushka A
a year ago

I would like to sincerely thank Ajay Pandit for providing me with the project. His guidance and explanation of the system's architecture, modules, and AI integration were extremely helpful in understanding the project thoroughly.

M
Mohini Singh
11 months ago

Too good experience, I love their projects and they are available for you to help, they are incredible good. Must avail their services. I am happy customer.

R
Ramavath Parvathi
11 months ago

The team was very supportive and their explanation was very good, they are clarifying each and every doubts with lots of patience. Highly recommended for quality projects.

S
Soundarya S
6 months ago

I really like their work and they made good project in less amount.

S
Sambhaji Sonwane
a year ago

Thank you, CodeAj Bro, for supporting the Doctor Appointment System project. Your guidance during the project setup, installation, and report creation was very helpful and greatly appreciated.

M
Mukul Panwar
11 months ago

One of the best Software Developer provide the best setup environment for project, good explain skills, and good technical skills, step by step explain project through google meet and budgetly price project Available.

R
Rasika Tambe
a year ago

Thank you so much for your excellent work on our project! Your kindness and clear explanations made the entire process smooth and enjoyable. Highly recommend!

P
payal Tripathi
a year ago

Really very supportive, helpful and kind, loving nature. Available for any time for any query, highly recommend to get projects from him.

E
Evan Lavigne
a year ago

Awesome projects. They support on setting up the project after purchasing. Completely legal one. Affordable projects too.

S
Satesh kumar Nayak
a year ago

Code AJ guide team are very formal, friendly to setup project step by step and explain each question 🙂

S
sanjay mp
a year ago

Thank you codeAj, Best site to get your project done quickly, with fast responses and instant clarification of any project-related doubts.

A
ahmedafa
a year ago

I really liked the work, and they solved my issues very well too.

G
Gauri Pandey
a year ago

They provide very good service and code also running condition and they fulfill all the queries it's very helpful.

D
DasHy
a year ago

Really helpful, makes things easy to understand and very kind nature, you can look forward to get help from here.

P
Prashant Undalli
10 months ago

Thank you so much for building the Project for my requirement.

S
Sunhith Reddy
11 months ago

Looking forward to many many collaborations and always tend to buy the projects.

H
Hemant kumar Kushwaha
a year ago

I am so satisfied with codeAJ because of his help.

A
Anjali
a year ago

Thank you so much sir for your support and help.

G
Govardhan Reddy
a year ago

Ajay bro has excellent knowledge and his response is nice.

J
Janet Ase
a year ago

This is a great app I love it with good functionality.

A
Anjali Varun
a year ago

Thank you so much for your help and support.

S
Sanskruti Kalshetti
a year ago

Highly recommended for the projects.

P
Purva Chavan
a year ago

Loved the project work.

P
p.p.s. raghavendra
11 months ago

It is super for students.

P
Pranita Sandim
a month ago

I recently purchased this project online and I am very satisfied with it. The project was well-designed, properly organized, and included all the necessary files and documentation. The source code was clean, easy to understand, and worked as expected. A special appreciation for the project explanation and setup session. The session was detailed and easy to understand, covering both the project implementation and the complete setup process. All my questions were answered clearly, which helped me understand the project much better. Thanks for giving your time.

⭐ 98% SUCCESS RATE
  • ✓ Full Development
  • ✓ Documentation
  • ✓ Presentation Prep
  • ✓ 24/7 Support