Final Distance: UCB Perfect Schedule Generator

About
Final Distance was founded in Spring 2002 by Patrick Shyu (pshyu@uclink.berkeley.edu), EECS 2005. It is a schedule generator, designed to handle all scheduling needs (especially to minimize schedule gaps). Hence, the name "perfect schedule generator."

Final Distance is the only resource necessary for Telebears season.



History

Catching Glimpse of the End
Telebears season: days are spent planning the semester's schedule. Even then, it still isn't perfect, with gaps everywhere. The same problem occurs each semester... and backups are often necessary in case classes are cancelled or waitlists don't fall through. We were crawling, when we should have been flying.

In Spring 2002, Final Distance began. An algorithm had been discovered. But, it was midterm season, and so Final Distance remained as only lines on an AIM profile:
"I have a great idea for a program, it's all thought out. But it'll take about 5-10 hours. Anyone up for it?"

No one responded. The project began anyways. In the midst of midterm season, from roots of lack of time, Final Distance was born. With "Utada Hikaru - Final Distance" on repeat during late nights, a prototype formed. It was very basic and took more than 5-10 hours, but it worked. Friends saw it; no one knew how to use it. Every class-entry needed to be entered manually. Final Distance was still faster than any human, but slow at the same time. Run overnight, generating a schedule would take hours. Filtering EVERY single schedule set takes exponential time -- it is an intractable problem.

So Far Away
Several methods were sought to shorten the generation time (ie., releasing a private executable file, which was twice as fast). A new incredibly fast algorithm, however, suddenly appeared. And Final Distance's potential reached far.

To celebrate, an automatic class-entry form was implemented. Students would be able to specify their classes, and the possible times would be automatically listed. Everything worked fine during compile time, but once placed online, JAVA's security sandbox took effect. JAVA's widespread compatibility meant enormous security. Access to http://schedule.berkeley.edu was forbidden. Days of work were ruined, the celebration was in vain.

A week passed in stillness. The decided solution was an individual private database. It would have to be updated constantly, but there was no other choice. An auxiliary program named "Net Generator" was created, designed to extract information from http://schedule.berkeley.edu. It would have to do for now.

Final Distance was entirely text-based, but graphics were demanded. The website was thus divided into two frames: core Final Distance, and an outside graphical interface. A student was to copy data from Final Distance and paste it into the second frame, in order to obtain graphical representations of schedules. It was slow and inefficient, but this too would have to do for now.

Taking Flight
Final Distance was advantageous enough for a small release. News of a "schedule generator" was posted on select CS newsgroups. The response was favorable. Hundreds of hits logged in during Telebears season.

Over the Summer, Final Distance received massive updates. Code was streamlined, and error handling was implemented. Finally with more time, an integrated graphical interface was created, removing dependence on outside sites. With full graphical support, students became able to view and compare schedules instantly. Save/load features were implemented. But more importantly over the Summer, a way to jump out of JAVA's security sandbox was found. The distance was closing.

In Fall 2002, combining PERL, SHELL, HTML, CGI, and JAVA, Final Distance extended to the online schedule of classes. It was truly independent, 100% accurate, 100% of the time. The two previous flaws were finally eliminated.

Final Distance saw an official release in September 2002. 250 fliers (link) announced the news. The janitors trashed many, but the remaining ones were extremely successful. Each flier had 13 wings, near all taken within hours. The demand was absolutely enormous.

Adding a quick-link to http://schedule.berkeley.edu, Final Distance provided students easy access to all the information possible on their selected class. Adding a glamorous-printable feature, students could easily view and print their schedules. When this was made entirely editable, and CCN/LOC were automatically added in, Final Distance took flight.

Closing the Distance
A perfect schedule and a perfect graphical-chart were generatable in seconds.
A day's work became that of an instant's.
We used to only dream and wish of such things. Now see and live in such a world.

From dreams to reality, we are beginning to reach the Final Distance.