Skip to content

Commit

Permalink
Content: Onboarding module (#1241)
Browse files Browse the repository at this point in the history
* stub onboarding

copy of ufd

* editing through for library computer adaptation

* fix how this works backlogs

* minor tweaks on htw

* library computer tweaks

* adapt tracks blocks

* start going through composing blocks

* rm ufd from menus

* blocks tweaks

* day plan 3

* UI issue block tweak

learning objectives look screwed up now I'm pulling some in

* missed off the dot dev stuff

* Clarify which backlog - we've talked about multiple kinds of backlog (#1245)

* Update common-content/en/module/onboarding/goals/index.md

Co-authored-by: Daniel Wagner-Hall <[email protected]>

* Update common-content/en/module/induction/dot-dev/index.md

Co-authored-by: Daniel Wagner-Hall <[email protected]>

* Update org-cyf-itp/content/onboarding/sprints/3/day-plan/index.md

Co-authored-by: Daniel Wagner-Hall <[email protected]>

* Update org-cyf-itp/content/onboarding/sprints/3/day-plan/index.md

Co-authored-by: Daniel Wagner-Hall <[email protected]>

* fix link, move diagram, address note

millions of notes on pr, working through them

* fix link, move diagram, address note

millions of notes on pr, working through them

miniature tweaks

* Reword description of goals (#1247)

* update success

but it still doesn't have the enrolllment part

* next steps timing

* pop in a quick note on capacity

* I've put the timeline here for now...

Please do edit this

* Update common-content/en/module/onboarding/expectations/index.md

Co-authored-by: Daniel Wagner-Hall <[email protected]>

* addressing more comments

* rm UFD from menus

* flag UFD as archived

* timings a bit more realistic

* return them to do the prep

they haven't done it!

* update thread instructions

#1241 (comment)

* move image to right dir

* you can explore files in dot dev

and just in github tbh

* Update common-content/en/module/onboarding/do-the-prep/index.md

Co-authored-by: Daniel Wagner-Hall <[email protected]>

* Soften requirements to apply to be a trainee (#1251)

We do not require that everyone participating in ITP is eligible to
enroll as a trainee. But we do require that to have completed the
Onboarding module you must have applied.

Frame success as _applying_ to enroll as a trainee, rather than framing
success as contingent on being positively enrolled as a trainee.

We want everyone to apply. It's ok if not everyone is eligible. But
we're trying to anchor people to a path of applying.

* Update common-content/en/module/induction/accounts/index.md

Co-authored-by: Daniel Wagner-Hall <[email protected]>

* tweak descs

* Edits to onboarding module (#1253)

* add mentored code review block

---------

Co-authored-by: Daniel Wagner-Hall <[email protected]>
  • Loading branch information
SallyMcGrath and illicitonion authored Dec 18, 2024
1 parent 8b37240 commit f38f1a0
Show file tree
Hide file tree
Showing 78 changed files with 1,325 additions and 90 deletions.
2 changes: 1 addition & 1 deletion common-content/en/blocks/backlog/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ In software development, we break down complex projects into smaller, manageable

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.
In this course, 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.

Expand Down
2 changes: 1 addition & 1 deletion common-content/en/blocks/house-rules/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ We teach you how to look things up. Try to use Google to answer your own questio

#### Use the computer yourself

Don't let volunteers or peers type for you. Ask for help, but do the work on your own.
Don't let volunteers or peers type for you. Ask for help, but do the work yourself.

#### Help each other out

Expand Down
18 changes: 18 additions & 0 deletions common-content/en/blocks/wrap-party/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
+++
title="Wrap Party"
time=180
[build]
render = 'never'
list = 'local'
publishResources = false
+++

You made it! 🎉

Thank you so much for your hard work. You've learned a lot and built some amazing things.

Whether you're continuing with another course at {{<our-name>}} or moving on to employment, we're proud of you. 🌟

Now, join the wrap party and celebrate your achievements with your community. 🎈

Can you bring a snack or drink to share? 🍪🥤 Or a board game? We love Dixit, Codenames, and Rush Hour in particular.
19 changes: 19 additions & 0 deletions common-content/en/blocks/wrap/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
+++
title="Wrap"
time=20
[build]
render = 'never'
list = 'local'
publishResources = false
+++

You are done for the day. Take a moment to reflect on what you have learned and achieved.

Stand in a circle and share:

- 📛 your name
- 💪🏽 one thing you achieved today
- 👷🏾 the task you are going to work on next
- 🛟 one thing you need help with

Give yourselves a round of applause. Now you have earned your rest. Usually people go for a cup of tea or a pint after class. You are welcome to join and wind down together.
16 changes: 16 additions & 0 deletions common-content/en/energisers/in-person-and-online/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
+++
title="Energiser!"
emoji="🔋"
time=25
[tasks]
1="Energise the group with a fun game"
2="Get everyone to participate"
[build]
render = 'never'
list = 'local'
publishResources = false
+++

Energisers are a big part of {{<our-name>}}'s culture! Even as adults, we all feel a bit shy and uncertain when we join a new group. But when we let ourselves be silly together, we start to feel more at home.

Here follows one energiser for in-person and one for online.
20 changes: 9 additions & 11 deletions common-content/en/module/fundamentals/next-steps/index.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
+++
title = 'Next steps 👣'

time="20"
time="30"
facilitation = false
emoji= '🧩'
[objectives]
Expand All @@ -21,21 +20,20 @@ In this section, you have a set of questions/tasks to orient you towards what is

Pair up with a new person. In pairs, complete the following tasks:

{{<note type="warning">}}
If you're unsure about the answer to any of the questions below, start a thread in Slack to clarify the answer (unless there is already a thread discussing this matter)
{{</note>}}
> [!WARNING]
> If you're unsure about the answer to any of the questions below, start a thread in Slack to clarify the answer (unless there is already a thread discussing this matter).
1. Using the [curriculum website](https://curriculum.codeyourfuture.io/), locate the setup page and the prep page for sprint 1 of the upcoming Induction module.
1. List the things you need to install ( if anything ) for the upcoming module.
1. Check you can find the backlog page for the Induction sprint. Double check you've copied all the issues from the backlog over to your Course Planner.
1. Starting from the home page of this website, locate the setup page and the prep page for sprint 1 of the next module.
1. List the things you need to install (if anything) for the upcoming module.
1. Check you can find the backlog page for the next sprint. Double check you've copied all the issues from the backlog over to your Course Planner.
1. Double check you've copied all the issues from the backlog over to your Course Planner.
1. Identify all the issues with 🔑 icon that are marked as **Priority**. What does the **Priority icon** 🔑 mean?
1. When ⏰ should you start the prep work for the upcoming Induction module?
1. Experiment with your project planner: can you filter by Size, Week 1, Tech ed, PD etc.?
1. When ⏰ should you start the prep work for the upcoming module?
1. Experiment with your project planner: can you filter by Size, Sprint, or other fields?

## For volunteers

1. Locate the classroom planning board for your region ( if one exists )
1. Locate the planning board for your region (if one exists)
1. Locate the day-plan for the next module
1. Check the instructions and links on the **Priority 🔑 issues** for the upcoming week ( both Tech Ed and PD )
1. In the day-plan for the upcoming week identify the instructions for any workshops and visit the repository containing that readme. Check the instructions make sense.
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,7 @@ time=10
[Active learning](https://www.pnas.org/doi/10.1073/pnas.1319030111) 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.

{{<youtube>}}https://www.youtube.com/watch?v=-GydYPMc74g{{</youtube>}}

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.
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
+++
title = 'Community goals'

time = 10
facilitation = false
emoji= '🧭'
emoji= '🎯'
[objectives]
1='Define our community goals'
[build]
Expand All @@ -15,20 +14,28 @@ emoji= '🧭'

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**
### 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-coordinate**

**Self-coordinate** means the ability to make things happen with the people we have. Code Your Future isn't a large company with lots of staff. (1-2 technical people on staff, worldwide.) We're a community of motivated people who want to help each other. We can't expect someone else will do everything - we need to make sure we get it done ourselves.

We use the collective intelligence we have built up over the years to coordinate our courses. This means many problems _have_ been solved by others and many logistical "rules of the road" have been discovered collectively. We all use tools like [classplanner](https://classplanner.codeyourfuture.io/), [dashboard](https://dashboard.codeyourfuture.io/), Slack, [GitHub](https://github.com/CodeYourFuture/Table-of-Contents), and most importantly the curriculum plan to coordinate courses and help new people join our community. But on the ground, there are always unique learning journeys that need supporting, arising from the unique mix of people in each class.

We are always pragmatic and outcomes focused. If a learner thinks we need a extra time learning a topic, they should suggest it! If a volunteer thinks a workshop on a topic would be helpful, they should give one, or find someone else who can.

### We build communities that can **📝 self-evaluate**

**Self-coordinate** means the ability to make things happen with the people we have. Code Your Future isn't a large company with lots of staff. We're a community of motivated people who want to help each other. We can't expect someone else will do everything - we need to make sure we get it done ourselves.
**Self-evaluating** means _we_ work out what we're doing well at, and what we need to improve. If you don't understand a topic, you must identify this and get help. If you're expecting to get code review and no one has reviewed your code after a week or so, you must raise this problem and get help.

This doesn't mean we can't ask for help - we can - but we need to make sure we make the best use of the knowledge and abilities of everyone around us.
Every piece of prep, every sprint, every module has learning objectives. Check them before and after you do them. If you aren't confident you understand the learning objectives, talk about it.

If a trainee thinks we need a extra time learning a topic, they should suggest it! If a volunteer thinks a workshop on a topic would be helpful, they should give one, or find someone else who can.
### Communities of adults helping each other

### We build communities that can self-evaluate
Don't assume someone else will notice your problems and fix them. Everybody in our community has agreed to help each other; we must also agree to ask for the specific help we need, or we can't win this game!

**Self-evaluating** means _we_ work out what we're doing well at, and what we need to improve. If you don't understand a topic, you should identify this and get help. If you're expecting to get code review and no one has reviewed your code, you should raise this problem and get help.
**Mentors**, it's so important that you ask questions and model asking for help in productive and methodical ways too. It's really hard to ask for help; it's even harder to ask for help in ways that make it easy for others to help us. Everybody in our community is always learning and working on this very difficult skill.

Don't assume someone else will notice you problems and fix them. Every piece of prep, every sprint, every module has learning objectives. Check them before and after you do them. If you aren't confident you understand the learning objectives, talk about it.
Let's work on being curious, humble, brave and kind together. What a team we can be! 🚀
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,7 @@ In a flipped learning model, learners are expected to **prepare** before they me
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!

{{<multiple-choice
question="Which is the best use a volunteer's time on a class day?"
answers="To read an introduction of a topic to trainees. | To help trainees with the questions they had having done the prep work. | To watch trainees read an explanation of a topic."
question="What is the best use of volunteer time on a class day?"
answers="Reading an introduction of a topic to trainees. | Helping trainees with the questions they had having done the prep work. | Watching trainees read and do work by themselves."
feedback="Think again: Trainees can read material themselves at their own pace at home. | Right! Working together on real problems is a great use of in-person time. | Not quite: Just watching people do their own work is quite boring and doesn't add much value."
correct="1"
>}}
correct="1" >}}
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
+++
title="Tasks and Ratios: Capacity Planning"
emoji="⚖️"
time=10
[objectives]
1="Evaluate your capacity"
2="List the core tasks of a class"
[build]
render = 'never'
list = 'local'
publishResources = false

+++

This section is for volunteers. To evaluate your capacity to run a class, here are some rules of thumb:

### How many learners make a class?

Fewer than 8 is too small. A class of 18 is a good size. A class of 30 is too large.

### How many volunteers do we need?

1 volunteer can support 3-5 learners.

### What does a class do?

The basic tasks are:

- [Morning workshop](https://workshops.codeyourfuture.io/) on class day
- Afternoon study group. You can also do the following tasks during study group, or async online during the week:
- [Code review](/prs-needing-review): at least one per learner per sprint
- [Step review](https://dashboard.codeyourfuture.io/): one per learner per module
- Pair programming: at least one per learner per module
- Demo: attend at least one demo by a learner per module

There are additional beneficial activities you can support learners with:

- Rhythm of the week
- Mid-week study sessions online
- Codewars club
- Socials, games nights, meetups
4 changes: 2 additions & 2 deletions common-content/en/module/html-css/what-are-forms/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ So that's the point of all this.

👩🏻‍💻💬 **Mentor:** Right! You put a piece into a form field; you just put _one thing_ in there. A form has many fields, and a field is a single piece of data. It is the smallest piece.

So we [structure data with forms](https://developer.mozilla.org/en-US/docs/Learn/Forms). And we do that by defining form fields.
So we [structure data with forms](https://developer.mozilla.org/en-US/docs/Learn/Forms). And we do that by defining form fields with [semantic HTML](https://web.dev/learn/html/semantic-html).

{{<note title="Now practise with">}}

Expand Down Expand Up @@ -127,7 +127,7 @@ What you need to focus on is _what you're actually doing_. We're structuring dat
<details>
<summary>🧑🏿‍💻💬 Trainee: But then aren't all form elements validation?</summary>

🧑🏽‍💻💬 **Mentor:** You _could_ say that all the rules you make about what the user can put in a field are also validation. Every `type` we just named - input type checkbox, input type email, number, date... are rules about data.
🧑🏽‍💻💬 **Mentor:** You _could_ say that all the rules you make about what the user can put in a field are also validation. Every `type` we just named - input type checkbox, input type email, number, [date](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/date)... are rules about data.

I think the difference is that there's no way to type into a checkbox: there's no error message, you just can't do it. If you type your birthday into an email field, the browser will tell you that's not a valid email address. So one is just impossible to do and the other gives you an error message, and that's normally what we mean by validation.

Expand Down
37 changes: 21 additions & 16 deletions common-content/en/module/induction/accounts/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,15 @@ hide_from_overview=true

+++

Download and install the following software or register for the apps.
Download and install the following software or register for the apps if you have not done so already.

Click on the links to go to the registration pages. Keep your login details for all sites/apps consistent and always use your real name.

{{<note type="info" title="Real Name" >}}
We recognise you may need to keep your birth name private. When we say real name, we mean the name you go by. It does not have to match your birth certificate or any other legal document. It has to be consistent and professional.
{{</note>}}
> [!IMPORTANT]
>
> ##### Real name
>
> We recognise you may need to keep your birth name private. When we say real name, we mean the name you go by. It does not have to match your birth certificate or any other legal document. It has to be consistent and professional.
Every time you create an account which can have a profile picture, you should set one up. Follow these [professional image guidelines](https://www.linkedin.com/business/talent/blog/product-tips/tips-for-taking-professional-linkedin-profile-pictures) when picking an image. Use the same picture for every account.

Expand All @@ -41,20 +43,12 @@ This is your public professional email address. Use it to sign up for all your p
- [ ] I have made a professional Google account and Gmail address.
- [ ] I have explored the [Google Suite](https://applieddigitalskills.withgoogle.com/c/en/workspace), such as calendar, docs and spreadsheets.

### Google Chrome

Google Chrome is the first browser we will all use together.

- [ ] I have downloaded and installed Google Chrome.
- [ ] I have logged into my professional profile on Chrome.

Use your professional Chrome profile for all your {{<our-name>}} work. You will often have to share your screen during sessions, so keep your personal internet use private and away from your professional profile.

### GitHub

You will use [GitHub](https://github.com/signup) to store your code and to collaborate with your peers.
You will use [GitHub](https://github.com/signup) to store your code and to collaborate with your peers. You have already made a GitHub account, but you need to check it is professional. You can change your username in your settings. You can add your professional email address in your settings too. (You can have more than one email address on your account.)

- [ ] I have made a GitHub account using my professional email address.
- [ ] My GitHub account shows my professional name
- [ ] I have added my professional email address to my GitHub account.

### LinkedIn

Expand All @@ -71,14 +65,25 @@ Your cohort is your first network, and this is one of the most valuable things y

### Slack

[Slack](https://slack.com/intl/en-gb) is our community space and how we communicate with each other. Download and install it now.
[Slack](https://slack.com/intl/en-gb) is our community space and how we communicate with each other. Download and install it now. If you are not using your own computer, log in to the web version instead.

- [ ] I have downloaded the [Slack](https://slack.com/intl/en-gb) app on my computer and phone.
- [ ] I have logged in to the {{<our-name>}} workspace.
- [ ] I have found and joined my class channels.
- [ ] I have updated my profile with my picture, my professional email address, my GitHub username, my Linkedin profile and my class.
- [ ] I have introduced myself on Slack.

## Applications

If you're working on a library computer, you can't download these applications. You will use [GitHub Dev](https://github.dev/) to complete coursework instead.

### Google Chrome

- [ ] I have downloaded and installed Google Chrome.
- [ ] I have logged into my professional profile on Chrome.

Use your professional Chrome profile for all your {{<our-name>}} work. You will often have to share your screen during sessions, so keep your personal internet use private and away from your professional profile.

### VSCode

We will use [Visual Studio Code](https://code.visualstudio.com/) (VSCode), a professional IDE you will use on this course and at work.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ time = 15
facilitation = false
vocabulary=[]
emoji= '📋'
[objectives]
[tasks]
1='Double check Git is installed on your local machine'
[build]
render = 'never'
Expand All @@ -25,3 +25,6 @@ git version 2.40.0
```

Otherwise, you will need to [install](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) it or ask for support on your Slack channel.

> [!TIP]
> If you are working on a library computer, you do not have a terminal, but your github.dev account already has Git installed. (It's called "Source Control".) So you can skip this step.
Loading

0 comments on commit f38f1a0

Please sign in to comment.