Inspiration:
The main inspiration for this project was when we tried to research colleges and were hassled by the lengthy searching through many website pages, just so that we can get a list of classes offered in college. In addition, we found it very difficult to obtain the prerequisites of the classes, and to connect it with the other classes that one have to take. Therefore, we all thought: is there a way to simplify the process of finding college class information in a more simplified, organized fashion? Can we somehow compile all of the information of college classes from the college catalogues and allow students to save time when planning their courses? This thought thus inspired us to create the CollegeTree. By creating the CollegeTree, we would be able to not only end the difficulties of college students not being able to properly plan the classes they want to take, but also make college planning a more fun, simplifed process.
What it does
The CollegeTree is an application written in Java that helps students plan out classes by listing lower division classes to upper division classes from left to right, up to down. Whenever you want to know the prerequisites for a class, all you need to do is click on the square that mentions that specific class’s name, which would paint the square red. When you do, any other classes that need to be taken will show up with a different color from the class that you clicked on. There is a color legend nearby to indicate the path of classes required in order to take the designated class you seek to take. It would also provide a description about this class as transcribed from the original class catalogue website. This can be done with multiple majors for the same college.
How I built it
All of the application and the user interface is constructed with Java, while also using Photoshop when creating the color legend and the logo. We used the Eclipse IDE to develop the Java code. We imported a variety of Java libraries, including JFrame, JPanel, JButton, ActionEvent, ActionListener, Color, FlowLayout, JLabel. Libraries were used to create the user interface, and to implement the stack data structure to hold prerequisite dependency information.
Challenges I ran into
The biggest challenge is inexperience. For most of us, this was our very first Hackathon event. As high school students, we were not able to take the advanced CS classes that many college student counterparts were able to do. Furthermore, most of the team was only knowledgeable in Java, so we could only use Java to create our programs. We did not have the sufficient time to explore other languages, that could have been more suitable for developing this application. We also had to face through the tediousness of integrating front end and the application code, the general lack of experience in creating unique apps like CollegeTree, and our initial lack of knowledge in programming the user interface.
Accomplishments that I'm proud of
We are proud of the fact that we have created one of the most important parts of the backbone for a future app that would be able to help all college students in the near future.
What I learned
I learned that parsing data from the web is a very challenging task. We wanted to be able to add this feature to our application, but we faced immense difficulty. We also learned the importance of breaking a project down into smaller, simpler tasks. That way, we are not overwhelmed by the complexity of completing a big project. Lastly, we learned the importance of foreseeing the number of hours it takes to complete a given task. During a very time constrained environment, such as in the LA hacks, we need to be realistic of our goals and be able to scratch ideas that can not be implemented in the allotted time.
What's next for CollegeTree
After the Hackathon, we will begin to transition the middle end coding part of Java into Python during free time because Python is a lightweight language that has powerful, user-friendly libraries to parse data from the web. Through web parsing, it make the process of extracting college courses from every college in the US more scalable and feasible. Furthermore, as we obtain more and more data from every university’s course catalog, we will connect a database to our application. That way, it would be more efficient for our application to store and load data from the database. Moreover, we will also expand the tree to include high school AP exam class exemptions, as well as graduate courses. Another important feature we want to add to our application is for the user interface to be a 3D model that displays the course information and pre-requisite map. The 3D model will be interactive with a rotation and zoom feature, user-friendly, and very aesthetic. Lastly, our goal is to advertise our idea to all universities, and encourage them to utilize our system to display a very user friendly diagram of all the courses they offer. We envision our application to be embedded into their school website.
Log in or sign up for Devpost to join the conversation.