We have seen countless friends and family struggle learning to code. The tools meant to help them such as CodeAcademy end up boring them, doing more harm then good. This is due to their fixed interactions, set lesson plans, and lack of interactivity with the user. Users should learn what they want, when they want, just as you would during an actual coding project.
How it works
With GitYouSome, we let the user decide their own path. They pick the content along the way, and get self-tailored content and coding challenges built at their level. By crawling thousands of sources (Git, StackOverflow, etc) and parsing out user-specific content that learns as you do, we provide a level of support not found elsewhere.
We make sure a user will never encounter any functions or commands they haven't been taught. This will reinforce the topics already visited and not make the learner confused about a topic due to unrelated syntax complexity.
Challenges I ran into
One of the hardest parts of the project has been working with one experienced coder and three others who are new to coding. Delegating tasks has been fun, and trying to help without just completing along the way is difficult. However, my team has put in great effort throughout the time here, especially considering that we arrived very late after an entire day of driving.
Accomplishments that I'm proud of
The entire project has been very challenging technically. I've had to parse code segments to find both valid and invalid code, parse code and modify code in-line to override built-in functions for proper page rendering, and aggregate thousand of scraped web pages to find the best code to teach a user.
We had to come up with ways to challenge a user based on arbitrary code. This was particularly difficult to even imagine. We came up with some clever solutions using code content and knowledge of what is being shown.
What I learned
The other teammates all worked with completely new technologies. This posed a great challenge, but gave great rewards. Everyone is super glad they came and made huge personal strides.
What's next for GitYouSome
The next step is to make GitYouSome into a full-fledged educational tool. We believe the potential is massive, letting users follow their desires in learning. The fact that the code base is not fixed also allows for lots of interesting opportunities and easy expansion.