UH Manoa Scheduler Application
This application is an app developed on the Android platform that provides an alternative method of viewing course data from Manoa's Class Availability webpage. Currently student's from UH Manoa have to visit this webpage in order to view which courses are available for the selected semester. The student then has to manually for time conflicts when picking which courses they want to take. Our application automates this process. The student can use our app to select a semester, create a list of courses, and our application will automatically produce all the possible schedules a student can take for the semester. Our application also produces a time block visualization of what the schedule looks like
Screenshots
Google Play
The application is no longer published on the Google Play Store. However a web app implementation is being worked on here
Functionality
Our application is separated into five main activities:
- Builder Activity (for building schedules)
- Viewer Activity (for viewing saved schedules)
- Search Activity (for searching for searching for courses)
- Preferences Activity (for configuration schedule options)
Builder Activity
- Allows students to add courses by CRN (e.g. 70596) or Course Name (e.g EE 361)
- When adding by Course Name, the builder will produce schedules using every possible combination of the course (e.g. since CHEM 160 would have many available courses, it will produce all possible combinations using every single CHEM 160 available).
- When adding by CRN, the builder will produce schedules using only that one particular class (e.g. the student enters a CRN number for EE 371 taught by Professor Iskander at 8:30 to 9:20 in MSB 214 for MWF)
- The builder also allows students to filter produced schedules by Start and End Times, Days, and Time Blocks
- The student may also configure minimum course count for the schedules (e.g. If the desired course list is 5, the student can configure a lower minimum count such as 4 to produce more schedules)
Viewer Activity
- Allows the students to view saved schedules (can view time block representation)
- The student can also force a partial update of course data using the overflow menu
Search Activity
- Allows the student to search for courses by Major, CRN, Course Name, or Title
- Searches can be filtered by GE/Focus Fulfillment and Start/End Times
- The course database can be forced to update in this activity
- The student can save courses by name or CRN to a "starred item list" which acts as a clipboard that can be pulled up in the builder activity.
Preferences Activity
- Allows the student to configure builder options under a profile name
- The options include Days (configure which days the student doesn't want any course to fall on), Time Blocks (configure which days and time the student doesn't want any course to fall on), and START/END times (the schedules must start after the designed start time and end before the designated end time)
Improvements the App Could Use
- Better utilization of larger screens (tablet support)
- Improve the search activity intuitiveness; the search activity also does not efficiently display lots of data
- Provide a metric system for scoring produced schedules to aid students when picking schedules to save. (e.g. based on free time between courses)
- Improve performance of the builder function (perhaps thread the function)
- Change the method of course retrieval data; James and I were unable to get the ITS department to provide us with a solid method of course data retrieve (e.g. JSON) since we both were graduating while working the project. Future students, please see if you guys can change this!
Authors, Contributors & Support
The original developers of the project are Andy Ng @1andyn and James Hartman @surfsnowpro.
Contribute
The Project is open source, released under the GNU GPL v2 license. Feel free to fork the repo and start your own project based on our app.
Cloning
$ git clone https://github.com/1andyn/droid_sch