4 ms·
Some Berkeley students developed a similar service called Ninja Courses[1]. This lets you browse through classes, order textbooks and also shows ratings. (Altho
by tikhonj 13y ago
Some Berkeley students developed a similar service called Ninja Courses[1]. This lets you browse through classes, order textbooks and also shows ratings. (Although all the ratings are submitted by Ninja Courses users, I believe.)
It can even automatically build a schedule for you by choosing lectures and sections that don't overlap, optimizing based on user preferences. For example: do you want more morning classes, more afternoon classes, more gaps, less gaps, some days off... This automates away a rather tedious part of choosing your schedule--something I haven't seen in other similar tools (although I haven't looked too closely).
Instead of shutting it down, the university used it to build an official Schedule Builder[2]. The official version doesn't have rankings, but exposes other interesting information--in particular, grade distributions.
Since then, Ninja Courses has expanded to a bunch of other UC campuses as well.
Just thought I'd share a nice success story to counterbalance most of the others :).
[1]: http://ninjacourses.com/ http://ninjacourses.com/
[2]: https://schedulebuilder.berkeley.edu/ https://schedulebuilder.berkeley.edu/
- achal 13y agoBerkeley's also trying to expose more things via an API: https://developer.berkeley.edu/ https://developer.berkeley.edu/ (it was primitive last time I tried it, but still a nice initiative to prevent the scraping that most sites have to resort to right now)
- gambogi 13y agoRIT also has a similar service [1] there's a new ui in the works for the spring, but it's interesting to see how widespread this issue is. Also I have to say RIT has done an awesome job if coordinating with the devs, they give a CVS dump of their course database periodically. [1] http://schedule.csh.rit.edu http://schedule.csh.rit.edu
- yebyen 13y agoThis has been around in one form or another since at least 2003 in several iterations, since John Resig made the first version. It may have been the first such "schedule maker" although at that time it did not offer "Course Roulette" which I see it has now!
- creatio 13y agoHow would one start to begin making such an scheduling algorithm? I'm asking for learning purposes. What should I be reading? Or their resources for basic such things...
- kriro 13y agoConstraint programming would be a good start, you can also google nurse scheduling problem. You might want to research Prolog (since the Prologs tend to have good CS libraries), specifically Eclipse (not to be confused with the IDE): http://eclipseclp.org/ http://eclipseclp.org/
- PierreMage 13y agoYou can take a look at Discrete Optimization course on Coursera: https://www.coursera.org/course/optimization https://www.coursera.org/course/optimization The next session will start March 4th 2014.
- raverbashing 13y agoThis can be modelled using MIP (Mixed Integer Programming) http://en.wikipedia.org/wiki/Mixed_integer_programming#Integer_unknowns http://en.wikipedia.org/wiki/Mixed_integer_programming#Integ... Probably not the best way but it's doable. In fact one of the exercises of the class I took was similar to that (matching Professors to Classes with their constraints and class constraints)