slate_permutate is a tool to help organize a weekly schedule for college students. It takes a list of courses the student wishes to register in and displays all possible combinations of different sections. The section options are presented as a tabbed view of weekly schedules from which the student may select a desired schedule. After this point, the student is free to work with the registrar to register for the desired schedule.
The current official deployment of SlatePermutate is http://slatepermutate.org/.
 School Support
slate_permutate is most useful when it has information about all of the sections a school offers for the upcoming semester. slate_permutate's "generic" school support requires that the user enter scheduling information about every single section for each course the user adds to his schedule. If slate_permutate knows information about a school's sections, it can autocomplete the list of sections for a given course. The user's work is reduced to merely typing in the list of desired courses; but the user may still remove sections from consideration if, for example, the section is taught at an undesirable time or to single out certain professors.
Currently, slate_permutate supports the following schools well:
- Calvin College
- Cedarville University
- Community College of Baltimore County Maryland
- University of Michigan
 Adding More Schools
If you are interested in what slate_permutate can do for your institution and are willing to fund the development necessary to integrate slate_permutate into your institution, please contact Nathan Phillip Brink, the current maintainer. I'd be happy to help in any way I can regardless of funding, but funding can help me prioritize. Consider contacting people in the Computer Science at your institution, as they might be interested in working on slate_permutate.
If you are inclined towards Computer Science, see #Development and add the new school yourself. A new school is added by creating a new file in the school.d directory. A new school's filename should be named so that
http://NAME.edu/ points to the school's website. Look at existing files in school.d and school.d/README.txt for information about the API a school must implement.
- Generic: http://myedu.com/class-schedule/
- Generic: http://schedulizer.com/
- butte: http://mybc.butte.edu/ScheduleBuilder/
- umich: http://mschedule.com/
slate_permutate is distributed under the GNU Affero GPL 3.0. This means that you are free to use and modify slate_permutate, but if you make modifications and deploy it you must publish those modifications.
- slate_permutate-0.1_pre20101110 Original release, quite stale and likely buggy.
To obtain the tip, just clone the Mercurial repo:
 Bugs and Contact
Please feel free to hop into irc.ohnopub.net#slatepermutate to discuss development of slate_permutate or get support. Bugs, feature requests or suggestions, and patches should be submitted at protofusion's bugzilla instance under the SlatePermutate product and may be browsed at the same place. Please be sure to properly configure your ~/.hgrc, and we will gladly accept hg export patches. But recognize that we may hold submitted patches to high standards even though our current codebase is crappy.