Every individual piece of curriculum is called a Lesson.
A Lesson can be either a Readme or a Lab. Each lesson is stored in its own repository on Github.
A Readme is expository material that describes one or more concepts. Readmes should always include examples, code snippets, and as much as possible, should not refer to or rely on information and code from previous lessons. In general, Readmes should always walk students through a concept instead of just giving it to them without any context. Because of this, they often include guided codealongs.
A Lab is where students practice in depth the concepts that they've learned, whether that's just the concepts from a previous Readme or a combination of different concepts from multiple units and topics that they've already covered. All of our labs are test driven so you must create tests that a student’s solution needs to pass. The file structure of a lab will vary depending on the type of lab and the topic you’re teaching.
Lessons can be organized into Units. While a unit can vary in length, at a minimum, they should contain at least two pieces of content (a Readme and a Lab). Typically in a unit, each Readme will have a Lab that immediately follows it and at the end of the unit, there will be more difficult labs that cover multiple concepts from the unit as well as from other previous lessons.
A series of units can be combined to form a Topic.
One or more connected Topics create a Track.
Sometimes at the end of a Topic or Track, there will be larger projects that students will work on. They're usually applications and can take the following format:
- A test-driven project where students build a specific application
- An open assessment where students build an application within a specific category and have specific requirements that should be included. Assessments are not test-driven.
View What Do We Mean By Curriculum? on Learn.co and start learning to code for free.
View What Do We Mean By Curriculum on Learn.co and start learning to code for free.