waaaaargh / HackerTree

A Skill tree for learning how to code [Concept Stage]
5 stars 1 forks source link
elearning programming

HackerTree

A "skill tree" for learning how to code.

Concept

Learning how to code can be challenging and long-winded. Although there are some truly great resources out there, they are scattered and often missing a thread.

Learn by Coding

Although we realize that there is nothing more practical than solid theory, we also know from our own experience that learning how to code is best done by coding - and that's why we want to get people to work on projects early in their learning process.

Choose Your Own Adventure

We also realize that different people are driven by different things, which is why - except for a very minimal "Beginners' Track" - every track will be modular.

Work on Your Own Pace

Even when getting into a huge project like learning how to code, the commitment a learner has to make should be minimal in order to keep the course accessible. Learners should always be able to assess their skill level quickly - every lesson should be followed by a test the learner can take.

Share Your Results

In order to enable learners to contribute to open-source projects, they should be encouraged to collaborate and share their results publicly.

Structure

Beginners' Track

The Beginners' track should be kept minimal (i.e. not more than 3 lessons of 90 minutes). Every lesson in the Beginners' Track should be able to stand on its own: It should teach something practical that is relevant to the learner.

Projects

After an introduction to vital tools and concepts via the Beginners' Track, the learner should be encouraged to work on projects relevant to them.

Ideally, a project teaches the learner a new concept (or at least a new aspect of a concept).

Some more advanced projects require the learner to be comfortable with other concepts, ideally taught by other projects. Each project should have a list of other projects required to successfully complete it.

Projects should focus on teaching exactly one new concept. A project should take the learner abut 90 to 150 minutes to complete. Concepts that can not be taught in 90 minutes should be split up in smaller chunks.

How to Contribute

When contributing, please keep in mind that the project is at a conceptual stage. Currently, we are collecting ideas and resources, not building a platform.

If you want to add your ideas to the corresponding folder, using templates if one is in place.