HOCW
How our curriculum works
- HOCW
- βοΈ Products
- β Dialogue
- π Welcome
- π‘ Morning orientation
- π¬ Active learning
- π― Have we met our goals?
- π¬ Flipped classroom
- πΎ Codewars
- π Day plan
- π Code review
- π Our mission
- Background
- Backlog
- No lectures
- Workshops
- πΊοΈ Curriculum
- π£οΈ Using this module
- π₯ Rhythm of the week
- π§πΎβπ» Importance of prep
- π§ Community goals
- 𧱠Builder mindset
- π«±πΎβπ«²πΏ Study groups
HOCW block viewer
This block viewer lets you flick through all the existing blocks in the HOCW folder so you can choose what parts to add to your pages and what parts you might want to create, revise, or leave out.
It's literally just an alphabetical list of whatever is in this folder.
βοΈ Products
Learning Objectives
π‘
tip
β Dialogue
Learning Objectives
We learn best when we ask questions and explore possible answers. Dialogue is a conversation that facilitates this playful exploration: participants listen to each other, share ideas, build on each other’s ideas, and respectfully challenge and evaluate these ideas.
In practice
Code review
π§πΏβπ€βπ§π½ Reviewers on a PR are expected to ask questions and explore the reasoning behind submitted code. π§πΏβπ€βπ§π½ PR owners are expected to answer the questions and make revisions to their submitted code.
Pair programming
π§πΏβπ€βπ§π½ Drivers are expected to listen to their navigator and implement their directions π§πΏβπ€βπ§π½ Navigators are expected to talk to their drivers and articulate their strategy
π Welcome
Learning Objectives
Welcome to the How our curriculum works module. This is a 3-part self-taught module designed for new members of our community to build a solid understanding of our curriculum. You will need to start with this prep section before exploring the rest of this module.
To best understand how our curriculum works, it makes sense to start by understanding the background in which Code Your Future and our collective mission. With an understanding of our collective mission, the purpose and structure of curriculum will begin to make more sense.
Ready, let’s go…
π‘ Morning orientation
Learning Objectives
We use the morning orientation block to gather the community together. We nominate a time-keeper and a facilitator (if they weren’t already nominated during the week). The objectives of the morning orientation block are clear:
Steps π£
- Search for morning orientation on the curriculum website
- Find a day plan view where the morning orientation is used
- Check the learning objectives on the morning orientation block
π¬ Active learning
Learning Objectives
Active learning is at the heart of our educational philosophy. It is about encouraging learners to build, explore and discuss new concepts instead of being passive recipients of knowledge.
π― Have we met our goals?
Learning Objectives
Learning something as a complete beginner can be daunting: it is often difficult to know where to start. To learn effectively, we must set clear and measurable learning objectives to direct our education. Objectives should allow us to answer questions like this:
Which concepts are we trying to understand?
What skills should I have after my course of study?
What evidence do I need to demonstrate my understanding?
With clear objectives in mind, we can continually evaluate our progress by checking against these objectives. During the course, you must evaluate your progress against a sprintβs success page. For each sprint, the success view lists all the learning objectives for any prep and workshops. It serves as an overview of your learning outcomes for a sprint. Use this view to evaluate your progress.
A module also has a success page, listing the overall learning objectives set by the Global team. At the beginning of a module, review the objectives to understand what you are working towards. At the end of the module, review again to check you’ve met your learning goals.
π Check
- Check you can locate the module success page for the How our curriculum works module
π¬ Flipped classroom
Learning Objectives
We use a flipped classroom model. In this model, we expect trainees to start building their understanding independently as soon as possible. From the beginning of the course, trainees are expected to prepare and take ownership of their learning before they attend in-person sessions.
πΎ Codewars
Learning Objectives
Codewars is an online code challenge platform that allows users to hone their skills on thousands of katas. The platform is useful for developing problem-solving skills and improving your fluency in a programming language. Another key advantage is immediate feedback. Users can check their programming solutions with pre-built test suites, gaining very quick feedback on their progress.
π£ Next steps
- Join the CodeYourFuture clan on Codewars
- Check out the CodeYourFuture authored collections on Codewars
- Practice a kata π π
In practice
- Figure out how to train on Codewars katas and navigate their interface with a training example.
π Day plan
Learning Objectives
Cohorts meet once a week in person. Together, we develop our understanding of the topics we are working on this week. We use a day plan to organise this day. A day plan is an agenda with workshops, study sessions and activities to make the most of our time together.
There’s a day plan for every sprint of every module. Each day plan lists a series of activities, with timings, instructions, and links to resources.
π Code review
Learning Objectives
Often learners try to rush through the curriculum by completing the coursework without evaluating their work. However, our ultimate goal is to build understanding and learn new skills. Our coursework is the means of achieving this goal but not the ultimate goal itself. Learning without evaluation will lead to weak or absent comprehension.
Therefore, code reviews are essential for evaluating our work. They arenβt about grading; they initiate a dialogue starting with constructive feedback about a piece of work. This means you reply to the comments and make changes based on this feedback. This is how you develop your skills. The learning comes from reading and responding, from participating in this dialogue.
Code review is also one way we develop professional technical communication, which is one of the most valuable skills we can give people on this course.
π£ Next steps
- Join the #cyf-code-review channel on Slack
- Check the time of the next code review session
- Locate any unreviewed pull requests for a particular cohort
π Check
- Check out our guides on reviewing
π Our mission
Learning Objectives
CodeYourFuture helps people who need it most to reach their goal of working in tech. We are a grassroots movement that empowers communities with the resources they need to educate themselves and prepare for a career in the 21st-century tech industry.
Background
Learning Objectives
The idea behind CodeYourFuture started brewing in the summer of 2016. Working in the tech industry, CEO and co-founder GermΓ‘n wanted to find a way to make a positive impact on people’s lives through technology. He had observed the invaluable contributions of developers to organizations of various sizes and saw the potential for empowering individuals with coding skills.
During the European refugee crisis of 2015, the UK experienced a negative perception toward forcibly displaced people, despite many individuals lacking personal interactions with refugees or asylum seekers. Seeking guidance, GermΓ‘n connected with Gijs Cortens, the founder of HackYourFuture, who provided valuable support during the early stages of establishing CodeYourFuture.
In mid-October 2016, CodeYourFuture launched its first class with ten students from diverse backgrounds, including Syria, Afghanistan, India, Ethiopia, and a stateless individual. This marked the foundation of the London chapter. An article published in Refugee Deeply provides a detailed account of the launch of the first class. When interviewed during the launch of the first class in 2016, German said:
βThe tech industry is facing a huge challenge to find developers to fill the ever-increasing number of vacancies and, at the same time, to increase the diversity of their workforce to help serve their customers better,β he explains. βTraining refugees to become developers represents a great opportunity to address both issues.β
CodeYourFuture expanded its focus in 2019 to include locally-born disadvantaged adults. Many of these adults face challenges in finding meaningful work in their home country due to a lack of resources. CodeYourFuture aims to bridge this gap by providing them with essential skills and opportunities.
Backlog
Learning Objectives
In software development, we break down complex projects into smaller, manageable parts, which we work on for a week or two. These periods are called “sprints.”
A sprint backlog is like a to-do list. It lists what the team has decided to work on this sprint. It’s chosen from a larger list, usually called the “product backlog,” which holds the entire project to-do list.
The backlog is a set of work designed to build understanding further from the concepts introduced in the course prep. For your course, the mandatory work has been scheduled already. You will add any other tickets you want to work on to your backlog and schedule them according to your own goals and capacity. Use your planning board to do this.
You will find the backlog in the Backlog view on every sprint.
Copy the tickets you are working on to your own backlog. Organise your tickets on your board and move them to the right column as you work through them. It’s a flowchart:
No lectures
Learning Objectives
We donβt lecture trainees during live sessions. We are not against lectures; if you want to deliver a lecture, thatβs great! Put it on Youtube and send us the link. Trainees can then watch lectures at their own pace, with captions, pause, and rewind enabled. Trainees also have free accounts kindly donated by Udemy and you can assign any Udemy for Business course.
At The Docs we have to maximise the time we have together, by working in person on projects, hitting blockers, and learning together. We are not a school. We are a community of professionals coming together to share skills and build real things to help people get real jobs inside one year.
Workshops
Learning Objectives
We do at least one active learning Workshop every class day. Workshops are group activities where the community discusses, solves and reflects on problems related to their current sprint. They are an opportunity for practice, critical thinking and dialogue.
We collectively develop workshops in this repo: https://github.com/CodeYourFuture/CYF-Workshops/. Check out some examples and raise a PR if you’ve got an idea for a new workshop.
πΊοΈ Curriculum
Learning Objectives
Our
π£οΈ Using this module
Learning Objectives
The rest of this module is split into three sprints, which you can complete in your own time: self educate, self coordinate and self evaluate. Each sprint is about how to use the curriculum to achieve each of these community goals. For each sprint, you’ll need to start with the prep sprint to introduce yourself to new concepts before using the backlog to understand how you can start engaging with the community. At the end of each sprint, there is a success page. Check off the objectives in the list.
Ready, head to the self educate sprint
π₯ Rhythm of the week
Learning Objectives
Self-coordinating as a community poses challenges. One challenge is working out not just what to do but when to do it. This gets harder when we are working on different schedules. To make things even harder, we use a flipped classroom model: very different from a regular school.
To solve this problem, we use the rhythm of the week.
This rhythm supports trainees to plan their work during the week while still allowing flexibility in people’s different schedules. In a typical sprint week, Tuesday is the starting point with in-person sessions on Saturdays serving as the mid-point in the week. We use Sundays and Mondays to reflect on our learning and finish off any backlog tasks.
π§πΎβπ» Importance of prep
Learning Objectives
In a flipped learning model, learners are expected to prepare before they meet up as a community. Therefore, regular preparation is essential for our community to self-educate together. In each sprint week, we expect trainees to work on the prep section beforehand to start building their mental model of the week’s concepts.
π§ Community goals
Learning Objectives
To achieve our mission, we bring people together to build self-empowered communities of learners. To this end, we have 3 community goals for achieving our mission:
We build communities that can self-educate
Self educate means the ability to draw on surrounding resources to learn new skills and concepts. Tech changes all the time. We must develop independent learners who can teach themselves new skills and technologies.
We build communities that can self-coordinate
We build communities that can self-evaluate
𧱠Builder mindset
Learning Objectives
Builder mindset means in our minds we remember we are a community of builders.
π«±πΎβπ«²πΏ Study groups
Learning Objectives
In a flipped classroom, we spend our time in class focused on active learning: we need to prioritise time and space for trainees to work on their backlog independently in small groups.
Steps π£
- Search for study group on the curriculum website
- Find a day plan that uses the study group block
- Read the instructions on the block
- Check the learning objectives for the study group block