This syllabus has the following aims
- To direct teachers across our network to our content
- To share content developed by volunteers between our cities (slides, videos, exercises etc)
- To ease the load of planning lessons for our teachers
- To be a repository of exercises for our trainees
- To be a resource for our trainees to refer to
The vast majority of our trainees fit this profile:
- Non-native English speaking
- Limited to zero prior experience in programming
- Many do not have higher education certificates (Bachelors or higher)
- Some have not worked in a professional setting before
This means that in general our trainees
- Respond better to exercises than written material
- Will quickly become overwhelmed with long, meandering lectures
- May have a lower resilience to failure and errors
You should keep these qualities in mind whenever we develop content for our trainees.
This website contains everything that we teach our trainees. For organisational documents you can reference the Docs website.
We currently have two planning boards to coordinate tasks on the Syllabus
- Syllabus Planning - here
These tasks are to do with one of our modules. These modules are living documents that changes and react to development over time. This board includes all associated homework and challenges to do with our courses.
- Workshop Development - here
These tasks are one workshops that provide non-essential skills or experiences to our trainees. For example, modules in Mobile Application Development or Machine Learning. Once run, these modules are kept as a library for future trainees and volunteers to refer back to.
To contribute to the Code Your Future syllabus, fork and open a pull request to this repository.
Significant contributions are accepted strictly through approved pull requests, even for administrators of the repo.
Syllabus wide discussion happens in
Module or workshop specific discussion happens in
cyf-module-. For example, the React module discussion can be found in
You can find an example of the a lesson plan here
A lesson must have
- Learning Objectives
- Contents of the lesson
- Several topics that are covered in the lesson
- Each topic must have appropriate exercises
- A link to the homework
Focus on exercises in the class rather than presentations or long explanations
Homework should contain
- Resources to help the trainee study the material in the lesson
- A set of homework that the trainee must complete before the next lesson
- Any tasks the trainee should complete before the next lesson
The homework should be relevant, get harder gradually with an (optional) stretch goal for more advanced trainees.
Instructor Notes should contain
- Links to presentations made by other schools
- Links to any videos of previous classes
- Explanations of how the lesson should be taught
- Any other useful information about the lesson content
These notes are (along with Slack) one of the key ways that we should share knowledge and learnings between schools.