ankurgaur2007/smart-timetable-generator — explained in plain English
Analysis updated 2026-05-18
Study a working example of recursive backtracking applied to a real scheduling problem.
Generate a basic clash free class timetable for a small set of subjects and rooms.
Use the project as a template for learning object oriented design in Java.
Extend the code to add faculty availability preferences or export options.
| ankurgaur2007/smart-timetable-generator | ajinkyagokhale/esp-flasher-java | takattowo/bootloaderspoofer | |
|---|---|---|---|
| Stars | 12 | 12 | 12 |
| Language | Java | Java | Java |
| Setup difficulty | easy | moderate | hard |
| Complexity | 2/5 | 2/5 | 5/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires Java 17 installed.
Smart Timetable Generator is a Java program that runs in the terminal and builds a university class schedule without any clashes. The author built it as a learning project to practice object oriented programming, recursion, and constraint checking in Java, and describes it as meant to be simple enough for a second year computer science student to read and understand. You tell the program how many subjects there are, along with the faculty member teaching each one, how many lectures per week it needs, and whether it requires a lab. The program then tries to place every lecture into a room and a time slot using a technique called backtracking: it tries a placement, checks whether it breaks any rule such as a faculty member or room already being used at that time, and if a later lecture cannot be placed anywhere, it goes back and tries a different room or time slot for an earlier one, continuing until a full clash free schedule is found or every option has been tried. The project ships with a set of Java classes, each handling one piece of the problem: subjects, rooms, days, time slots, lectures, the constraint checker, and a printer that displays the finished timetable in the console. Default rooms and time slots are built in, though the room count is fixed to a handful of regular classrooms plus one lab, and a lunch break is not included in the generated schedule. To run it you need Java 17 installed, then you either open the project in an IDE and run the main file, or compile and run it from the command line. The author lists possible future additions such as a graphical interface, saving results to a file, exporting to PDF or CSV, and using a database instead of keeping everything in memory, but notes the current version is intentionally kept simple.
A Java console app that builds clash free university timetables using recursive backtracking.
Mainly Java. The stack also includes Java.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.