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
4991999

Get complete project source code + Installation guide + chat support

Project Files

Get Project Files

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.

Installation Guide

Extra Add-Ons Available – Elevate Your Project

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

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

⭐ 98% SUCCESS RATE
  • Full Development
  • Documentation
  • Presentation Prep
  • 24/7 Support
Chat with us