Inspiration
The Inspiration for this project is our experience registering for classes this summer. We find that the SIO system does not offer enough logistical support for underclassmen, because their classes all have many sections, and it is a real headache to figure out exactly which to choose. Often times, they take too much time to do this and realize that their class is filled and have to get on waitlist. SIO.K. is designed to solve this problem.
What it does
SIO.K is currently a desktop application that allows you to input the course numbers of all your courses as well as your preferences (there are many of them) and then automatically generates a suitable schedule for you. The features that we have already developed include late wakeup time, lunch break, no late-afternoon classes, no crammed classes, forcing/banning certain sections (for whatever reason). We plan to develop more features in the future. There is also a online HTML version under development.
How we built it
We built it by first creating a Python program that interfaces with the Scotty Labs API and then retrieves the raw course data from the server. This program also parses the data, reformats it and selects only the useful information. This data file is fed into a java reader, which reads and stores the data (in the form of a list of Sections) for the Planner. The Planner runs the selection algorithm to generate the best possible schedules based on the course selection as well as the user preferences. Finally, a simple GUI is constructed to allow for user input and display the result.
Challenges we ran into
There are many challenges that we ran into. The greatest challenge proves to be retrieving and selecting data from the servers. Since we are all freshmen and none of us have previous experience working with APIs, we encountered many roadblocks. The large quantity of data we have to process and the fact that we have to build our program with two languages (python and java) adds to the challenge.
Accomplishments that we're proud of
With no previous hacking experience, we are able to create something that we believe is truly useful for every student (which of course includes ourselves). We are also very proud of the efficiency, reliability and versatility of our software.
What we learned
In short, a lot. We learnt a great deal about working with APIs, developing GUI, data structure/processing as well as product promotion. We also gained a fresh experience of hacking itself--none of us have hacked before, and we all think this is an exciting experience.
What's next for SIO.K
As I have outlined above, we have comprehensive plans for the future of SIO.K. We want to add additional features to the software, including the ability to schedule your classes in the same section as your friends (of course, they have to take the same classes as you). Also, another important agenda is to finish the web-page version, because we believe that this will make SIO.K more accessible to everyone.
Built With
- html5
- imovie
- java
- pip
- python
- scottylabs
- swing
Log in or sign up for Devpost to join the conversation.