I came to college excited for the endless opportunities and soon became stifled by them. About once a week, I would redesign my four years at Carolina with a different major-minor combination in mind; however, the redesigning process would take a long time because UNC has no user-interface for visualizing all the required classes of a major. I kept making grids in Microsoft Word, until I finally declared Computer Science as my major – fourth time’s a charm. Right after I finished our secondary java course, I went home over winter break and made a java scheduling app. However, I found that executable jars are not great for sharing an app, so I came into this hack-a-thon with the goal of learning HTML, CSS, and JavaScript in 24 hours in order to help other students visualize their 4 years.

What it does

You can select a UNC major – I only had time to load 4 in from our academic worksheets -- add individual classes, or upload a unique course list as a text file -- which makes the app usable for students at other universities. Once uploaded, you can drag classes to other semesters or delete them all together. It’s also mobile friendly!

How I built it

After going through the Mozilla Developer Network training on HTML, CSS, and JavaScript, I compiled the program to add classes from an input or a pre-prepared list (such as CS_BA). I used Sortable, a JS library for dragging and deleting elements in a list. I used to get the base for my logo, and I relied on GitHub for hosting the site.

Challenges I ran into

I spent about 3 hours trying to load in local text files – one for each major at Carolina – and I couldn’t get it to accept the files, so I had to make an array in the css page for each major.

Accomplishments that I'm proud of

I am really proud of how I was able to get the file upload to work and that I got the classes to drag from one semester to the next. Overall, I would have never guessed I could have done this in one day, so thank you Pearl Hacks for the motivation!

What I learned

I learned that JavaScript is so much simpler than Java!! It took me so much longer to do the same thing in Java, implementing model-view-controller, but with JavaScript I didn’t have to make class objects, I could just create divs and load text into them! I can’t wait to use JavaScript more!

What's next for Plan Carolina

I want to have all the courses put into a JSON file so I can add elements to them like difficulty – which would be cool to crowd source – so that students can balance the difficulty of their semesters.


I just got a domain from and set it up, so it might not show up by 11AM, but here is the link:

Share this project: