Often when trying to learn a new skill, it is not immediately obvious what natural learning hierarchy a skill may have and how concepts are connected.

What it does

Pathways of Discovery (aka PoD, not the band) aims to decompose a skill into an abstract curriculum via crowd sourcing, link learning resources to the the dynamic curriculum, and finally evaluate the quality of each resource via the user base's first hand experience with the resource. For example, if I wanted to learn a programming language, there are numerous sites that provide sets of lessons however every lesson is not created equal. If one site does an incredible job of explaining a concept but poorly describes another, one is left to fend for themselves to find additional sites to gain further insight. One may consider it beneficial to be able to have a concept explained different ways and in slightly different contexts, and by aggregating diverse resources we can accelerate the learning process by eliminating wasted time one would spend searching for supplemental material. With this in mind, PoD's goal is to take a topic like Python, decompose it into subtopics such as Variables, Functions, Classes, Multiprocessing Frameworks, Database Drivers, etc., link resources that directly relate to each subtopic's concept, and finally crowd source the quality of each resource based on it's effectiveness at clearly communicating the concept.

How we built it

PoD employs a standard three layer architecture, consisting of a No-SQL "wide column" database which is exposed to the world via a RESTful API that is (tentatively) consumed by Angular Javascript. Ideally, a graph-based database would be more suited towards this application, however due to the time constraints and the team's familiarity with Cassandra, we opted to forgo it for this iteration. Additionally, the three layer architecture will allow us to have the option to expose the API to the public.

Challenges we ran into

With such a complex task at hand, the most challenging part of this Hackathon was determining what requirements we could deliver for this iteration. Another challenge we faced was the intrinsic organic complexity of the vision. It was difficult to realize graph relations in a non-graph based database, and much time was spent determining an effective mapping of the data model and implementing basic database operations on the mapping.

Accomplishments that we are proud of

HackDFW has given us the opportunity to lay significant ground work for future development. We were able to effectively communicate our ideas to each other despite varying backgrounds and design philosophies.

Things we accomplished:

  • Developed a Conceptual Model
  • Built a Database Schema from the Conceptual Model
  • Implemented a RESTful API to expose the Database
  • Designed and Integrated an AngularJS Interface to interact with the API

What we learned

Due to the diverse set of skills that each team member has, everyone was able to learn various concepts from one another and has gained invaluable teamwork experience that we may not have had to chance to experience anywhere else.

What's next for Pathways Of Discovery

Elaboration on technical details seems almost futile at this point due to the pending analysis of our current implementation. However, many members of the team are interested in continuing to collaborate in order to see a more polished, prim, and proper version be produced.

Share this project: