A technical reference for the DAV Team Course Recommender, IIT Bombay
The Course Recommender helps IITB undergraduates discover elective courses that align with both their academic history and their stated research interests. It combines two complementary signals to generate personalised recommendations:
The final recommendation score is a weighted sum of PS and ISS, with the weights controlled by a set of options sothat you can tune the balance to your preference. After scoring, every candidate course is passed through a multi-layer eligibility engine before being shown.
Describe what you're looking for naturally. You can search by topic, career goal, department, minor, or grading preference, and combine multiple filters in one query.
You can combine several preferences in a single search. Examples:
This score goes by two names, because it works slightly differently depending on your year of study:
For a course h in the student's history and a candidate course c:
The Interest Similarity Score involves matching course descriptions with the interest(s) of students by using Reciprocal Rank Fusion (RRF), to merge two independent retrieval signals over the running course catalogue, one using cosine similarity, and other using keyword matching.
The two scores are independently min-max normalised to [0, 1] and combined into a single Final Score (FS) via a weighted sum. The weight parameter α can be decided by the student by means of an option set.
The three options and their corresponding weights are as follows:
If the interest field is left blank, the system automatically switches to
100% People's Score mode.
The top 60 courses by FS are then forwarded to the
eligibility engine.
The recommender also supports queries based on the minor programmes. Students may request recommendations from one or more specific minor programmes, and can ask to specifically include/exclude courses from any topic, and even department(s).
For courses having easier grading, their FS is boosted by means of an additional grading score, whenever the student asks for courses with easier grading. The grading score is calculated by means of (AA + AB)%, then normalized.
Every recommended course passes through a sequential set of checks (Restrictions → Prerequisites → Time Slot Clash → Instructor Approval). Results are grouped into four sections based on the first blocking condition encountered:
The end-to-end flow from entering the tool to receiving results:
Degree, department, batch year, interests
PS + ISS weighted by chosen option
Restriction, prereq, clash checks
Four-section ranked output
The results page displays course entries grouped into the four eligibility sections. Each entry can be expanded to show the full course description. A division dropdown (where applicable) updates the displayed slot, instructor, and eligibility status in real time.
Expanding any entry reveals year-wise grading statistics in the form of pie charts of grade distributions with %AP, %AA, and %(AA+AB), along with the full course description. Only the statistics corresponding to the selected division type are shown.
Any course can also be starred as a favourite. Favourites are remembered on your device and can be reviewed anytime from the Favourites tab, and every new set of recommendations is checked for time-slot clashes against your favourite courses as well, not just your core courses. The favourite-specific eligibility engine results can be viewed in the favourites section exclusively.
All course-related information has been taken from the Internal ASC Portal.
For technical queries, contact the Data Analytics and Visualization Team, UGAC, IIT Bombay.