Click here to Skip to main content
15,888,254 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
I want to create a school timetable Generator, that takes simple things like teacher names, their available times, their subjects, school subjects, classes, divisions, etc and create a timetable using some heuristic algorithm.

Problem is that i am a beginner in python, MySql, and have done very few projects with minimal experience and completely no experience in solving Heuristic algorithms.

The program must output Excel files that have timetables for 10 Classes with unique subjects, and all 10 classes have 100 subjects. It also generates such timetables for the given number of teachers. So the hard and soft constrains here rise exponentially.

can anyone guide me into telling me where i should start? How difficult this is going to be? or refer to a similar project?

What I have tried:

I have tried reading code from other projects, but they usually don't take the approach that i need, these projects are simple, and are unlikely to be useful in an actual institution.

I have been all over google, research papers, and articles that discuss a solution to this problem, and am in dire need of help and guidance, so any help from your side will be extremely appreciated.

Thanks...
Posted
Updated 10-Oct-20 0:32am

1 solution

If you are having problems getting started at all, then this may help: How to Write Code to Solve a Problem, A Beginner's Guide[^]

Think about exactly what you want to produce, and write a "functional specification" for the system you want to produce: Functional specification - Wikipedia[^]
That "firms up" the requirements you have above, and starts to give the whole system a "shape".
From there - given this isn't a small or easy task - you might find it well worth producing a detailed design document from the FS, along with a test specification so you can be sure when it's complete!

And to be honest, this isn't a "beginner project" - you are going to have to learn quite a lot to get this to a standard where it will be "useful in an actual institution."

Good luck!
 
Share this answer
 
Comments
Member 14960716 10-Oct-20 12:21pm    
Thanks a lot!, i understand it is a little difficult, and i am ready to learn... but what should i learn to solve this? can this be solved using simple OOP concepts? or will it require higher skills like Machine learning and advanced Algorithms?, also, i have made a few games and large projects using C++ and Python before. So i can make code, the methods, then classes and the implementation, but i still do not know if this can even be solved by those things. So if someone experiences like you can tell me if that's possible, then ill spend all the time trying to draft a functional specification. A more apt question i think would be, to ask you how you would solve this...
OriginalGriff 10-Oct-20 13:49pm    
Yes it's possible - there are loads of them out there and have been since computers were first available, but there's no trivial algorithm:
https://scholar.google.co.uk/scholar?q=timetable+scheduling+algorithm&hl=en&as_sdt=0&as_vis=1&oi=scholart

It's a complex problem but it's do-able.

How would I do it? Buy in a package! :laugh:
Would I write my own? No. I don't have spare time to do that as I don't need one. I have enough projects on the go and sitting in the "to do when I have time" pile already.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900