🧑🏾‍💻 prep

How do we build a community of self educators?

🎬 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.

Each adult learner is unique, with their own background, experiences and existing knowledge. It doesn’t make sense to assume what people do and do not know already, or to broadcast the same information to everyone. Instead, we use questions to find out what people already know, and help each individual bridge their gap to meeting the course goals.

With active learning we ask specific, targeted questions to find out what we do not yet know, so we can work on that together.

🐬 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.

🧑‍🏫 No lectures

Learning Objectives

We don’t give traditional frontal lectures during live sessions. We are not against lectures though; if you want to deliver a lecture, that’s great! Put it on YouTube and send us the link. Students can then watch lectures at their own pace, with captions, pause, and rewind enabled.

At MigraCode Barcelona 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.

Time is very important at MigraCode. We try our best to use everyone’s time as well as we can. We want to use our time together to help learners with the things they can’t do at home: debugging, pair programming, code review, and building projects.

🧑🏾‍💻 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.

Trainees should show up to class with questions and problems they didn’t understand from the prep they already did. This means that we can use our in-person time to work together to fix real problems people have!

🤔 What is the best use of volunteer time on a class day?

📝 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 beyond the concepts introduced in the course prep. For your course, we have prepared a backlog of mandatory work for each sprint. You will copy these tasks into your own backlog. You can also add any other tickets you want to work on to your backlog, and schedule all of the tasks 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. Here’s a flowchart showing the stages a ticket goes through:

flowchart LR Backlog --> Ready Ready --> in_progress in_progress[In Progress] --> in_review in_review[In Review] --> Done

🗂️ 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.

🥁 Rhythm of the week

Learning Objectives

If we’re expecting to get help with our problems in class, we need to have run into those problems before class.

Different people have different schedules - they may work different days or nights, or have other responsibilities.

To solve this problem, we use the rhythm of the week.

Weekly rhythm diagram

This rhythm supports MC students to plan their work during the week while still allowing flexibility in people’s different schedules. In a typical sprint week, Monday is the starting point with in-person sessions on Saturdays. We use Sundays and Mondays to reflect on our learning and finish off any backlog tasks.

🙌 Next steps: Backlog and Success

Learning Objectives

Now that you’ve finished the prep for this sprint, find the backlog for the Sprint and work through the items. When you’ve done this, find the Success page for the module, and make sure you’ve completed all of the learning objectives.

There should be a link to the next page (Backlog) at the bottom of this one. You can also get to the Sprint overview page (which links to Prep, Backlog, Success, and anything else relevant) by clicking the name of the Sprint at the top of the page.

Every sprint you do follows this pattern which you should follow. Look at the overview for the sprint, and work through the pages in order.