Inspiration

We remember back when we were young freshmen, registering for UGA classes was a very daunting task. There were an overwhelming number of tabs, classes, and sections with confusing information. We wished there was a clear cut and simple way to create a schedule that fit our needs. With fall registration around the corner, we felt inspired to tackle this problem, and help the poor confused freshmen that can't even point out the MLC. Because of this, we dreamt up CourseDawg

What it does

CourseDawg is a one stop shop for creating class schedules curated for each individual's needs. Contrary to Athena's complex layout, a student needs only to specify his/her preferences (early or late classes, MWF or TR classes, etc...) and pick the classes that he/she wishes to take this semester. From there, CourseDawg algorithmically generates all possible schedules with the class sections available and creates the best possible schedule based upon a student's preferences. A student can also view the locations of his/her classes on the mini-map provided to get a better understanding of what the walking distance of this schedule will be. Once a student is satisfied with the schedule created, a student can then click-to-copy the CRNs and paste them straight into Athena.

How we built it

We used a java backend to receive and parse through public UGA class bulletins into well organized and useable JSON format. We also used React.js coupled with Material-ui and Pigeon-maps to build an easy to use and informative front end.

Challenges we ran into

A difficult problem we ran into was the unique challenge of parsing a difficulty laid-out pdf into a compatible JSON file. There were many interesting edge cases to account for and it helped us to learn to create more robust code.

Accomplishments that we're proud of

We are very proud of how much of our idea was brought to life given the 48 hours. We did not expect to create such a polished product but this challenge helped us learn to code on the fly and access our creativity more. This was Michael's first project and considering the size and lack of knowledge of certain programs he was able to pull his own weight really well and learned very quickly to code in a team setting.

What we learned

We learned a lot about parsing rough forms of data into forms that we can easily use. For instance, the UGA class registry that is available online has a lot of strange abnormalities throughout it an we learned several tricks in Java to get through these road blocks.

What's next for CourseDawg

We will definitely be continuing development for CourseDawg in the future to get it ready for students to use in registration. We want to streamline the backend input and also add more customizable preferences so that the schedules can be even further personalized to a student's needs. We would also like to work with UGA administration in getting access to the API to streamline the process and give students another easier option for registration.

Built With

Share this project:

Updates