This repository houses the curriculum used by The Odin Project. It is available for free to anyone who would like to learn web development in a project-focused and collaborative environment.*
See it live at theodinproject.com/curriculum.
Students, educators, and developers are encouraged to make contributions to the curriculum. It has been greatly simplified so that it should be a rather straightforward process -- just fork this repository, make your changes (e.g. adding the link to your solution for one of the exercises), then submit a pull request. The lessons presented at theodinproject.com/curriculum are all stored in their appropriate course directories here.
Please take a look at the contributing page to find out more about the contributing workflow
What to contribute
1. Student Solutions
If you've finished a project, submit the link to your solution's github repo where it says to do so in the project description. See the section "Project Solutions" below.
2. Other Content
We link out to all kinds of free pre-existing videos, blogs and tutorials. If we're trying to teach something and you know there's a better resource out there, put it in the "Additional Resources" section of that lesson. Same goes for alternate but useful explanations of the material. If you've got high quality material on your own blog or website, feel free to do the same. Content with an obvious commercial angle (like marketing videos) should only be used if there is no reasonable substitute.
3. Exercises and Projects
This is a project-driven curriculum so having useful and interesting projects that break down to address specific content modules is crucial. We're always on the lookout for good project ideas that can be broken down into a checklist of deliverables. If you can help on any of those levels, please contribute!
We will also be instituting quizzes at the beginning and end of most lessons. If you know of or have created any interesting problems that address a particular area of content, please send them or the links to them this way!
4. Curriculum Strategy
This curriculum is built to pave the way between new students and industry. If you're a developer or hiring manager and have a strong opinion about something you believe junior devs are lacking these days and should be included in the curriculum, let us know by opening an issue If you're a student and have gone through a unit and still don't feel like you understand something well enough, tell us so we can beef up that section!
HOW to Contribute
There are two main ways to contribute to the curriculum:
Edit on Github For small changes like adding links to student solutions or fixing typos, it's easiest to just edit the file directly on Github, which I show how to do in this YouTube video.
Pull Request: To contribute in ways that are larger than what can be done directly on Github or if you're expecting to make several contributions over time, it is best to submit a Pull Request. I describe that workflow in this YouTube video here and Github has good documentation and video support as well. Basically, you will fork the curriculum repository, make your changes or additions to the appropriate file, then submit a pull request with your changes.
Other helpful links
For more information about The Odin Project, go to theodinproject.com.
For the source code to The Odin Project's main website (which pulls in this curriculum), check out the github repo here.
* See license.md for usage details.
Created by Erik Trautman