About NodeSchool

NodeSchool is an open source project run by volunteers with two goals: to create high quality programming curriculum and to host community learning events.

Interactive tutorials

The "workshopper" format was first created by Substack of the Internet in Summer 2013 when he wrote the stream-adventure workshopper.

The defining characteristic of the workshopper is the interactivity and automation. Workshoppers are made up of challenges of increasing difficulty. Each challenge starts by explaining a concept, and then presents a list of requirements for solving the challenge. Learners then try and write a computer program that satisfies the criteria.

When they feel confident about their solution they submit it to the workshop for verification. The workshop runs their solution and checks if all requirements were satisfied. If any are wrong or missing the learner gets contextual feedback and they can try again. If their code passes all of the criteria then they pass the challenge and move on to the next challenge.

All of this happens in an automated way. Workshoppers can be thought of almost like a unit test suite that the learner must make pass by implementing the correct code.

A wide range of topics

All of the NodeSchool workshops are written using Node, but the subject of a workshop doesn't necessarily have to be about Node. For example the shader-school workshop teaches computer graphics concepts and doesn't involve writing JavaScript at all.

The NodeSchool community has developed some really great tools for authoring new workshops. If you have an idea for a workshop we encourage you to check out our Building Workshops page.

Events around the world

We have had communities on every continent except Antarctica host a NodeSchool event. Anyone can host an event, and as a community we try to compile useful information, guidelines and tips for making events fun and welcoming for everyone. See our page on hosting an event to learn more.

Get in touch

We use GitHub for organizing NodeSchool. The best place to get in touch is our organizers repository. You can open a new Issue on that repository and organizers will get notified and can respond. This method is a lot better than directly e-mailing any of the organizers.

Code of conduct

NodeSchool organizers must follow the code of conduct outlined in the organizers repository. Each NodeSchool chapter is responsible for maintaining their own code of conduct. If you have questions about the code of conduct for a chapter you can open an issue in their associated github repository.