Skip to content

Commit

Permalink
Merge branch 'main' into content/replace-scrimba
Browse files Browse the repository at this point in the history
  • Loading branch information
SallyMcGrath authored Dec 7, 2024
2 parents c4b85c6 + c5a5627 commit ebda1e8
Show file tree
Hide file tree
Showing 506 changed files with 4,511 additions and 1,239 deletions.
4 changes: 3 additions & 1 deletion .github/workflows/check-consistency.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,11 @@ jobs:
with:
go-version: 1.21
- name: Build tooling
run: (cd tooling/go && go build ./cmd/local-overrides-enforcer && go build ./cmd/sprint-consistency)
run: (cd tooling/go && go build ./cmd/local-overrides-enforcer && go build ./cmd/sprint-consistency && go build ./cmd/site-consistency)
- name: Check override consistency
run: ./tooling/go/local-overrides-enforcer
- name: Check sprint consistency
# TODO: The Launch should probably have themes, but for now we'll ignore it so we can be checking the rest of the repo without having to fix this.
run: ./tooling/go/sprint-consistency --exclude-roots org-cyf-launch
- name: Check site consistency
run: ./tooling/go/site-consistency
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Code Your Future is a volunteer-led community of tech professionals, and we teac

Our curriculum content is all open source, and our teaching style is [flipped classroom](https://teachingcommons.stanford.edu/teaching-guides/blended-and-hybrid-teaching-guide/frameworks-blended-and-hybrid-teaching/flipped). This means that anyone should be able to follow the curriculum content independently. We offer mentoring and support to help people work through it, but the content does not assume a teacher/mentor will be present for programme delivery.

Our Golbal Syllabus Team is responsible for the overall direction of the main curriculum. They decide the strategy and accept new tested content into the core. Find out more by learning [how to contribute](/contributing.md).
Our Global Syllabus Team is responsible for the overall direction of the main curriculum. They decide the strategy and accept new tested content into the core. Find out more by learning [how to contribute](/CONTRIBUTING.md).

Our curriculum and our curriculum platform are tightly integrated with GitHub. We want our learners to know how to use Git and GitHub and how modern development practices work, so we do almost everything right on GitHub. Learners submit their work by creating a pull request to the project repo. They plan their work using GitHub Projects, and they track their progress on the issues. We code review via the GitHub PR interface, and we have some automation and unit testing on quizzes and exercises/problems.

Expand Down Expand Up @@ -78,7 +78,7 @@ Then add the common theme and content modules as hugo modules to hugo.toml:

Look at the [org-cyf](/org-cyf/) and [org-cyf-tracks](/org-cyf-tracks/) examples for more details and options.

To customise the css, make a dir `assets/custom-theme` and throw any scss in there. It will be compiled and added last.
To customise the CSS, make a dir `assets/custom-theme` and throw any SCSS in there. It will be compiled and added last.

To add site logo/s, make a dir and add svgs to `assets/custom-images/site-logo/`. They will be added to the site header.

Expand Down
1 change: 1 addition & 0 deletions common-content/config
2 changes: 1 addition & 1 deletion common-content/deploy-netlify.sh
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 @@ -4,7 +4,7 @@ title="Backlog"
time= 30
vocabulary="Backlog"
hide_from_overview=true
[objectives]
[tasks]
1="Find the backlog"
2="Copy your tickets to your own backlog"
3="Manage your tickets on your board"
Expand Down
2 changes: 1 addition & 1 deletion common-content/en/blocks/coming-soon/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description = 'This content is coming soon'
time = 20
facilitation = false
emoji= '🌫️'
[objectives]
[tasks]
1='Find the plan in Slack instead'
[build]
list = 'never'
Expand Down
2 changes: 1 addition & 1 deletion common-content/en/blocks/evaluate/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title="Evaluate ✏️"

time= 60
[objectives]
[tasks]
1="Evaluate your current progress against previous modules"
[build]
render = 'never'
Expand Down
15 changes: 15 additions & 0 deletions common-content/en/blocks/get-how-computers-really-work/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
+++
title = "Get a copy of How Computers Really Work"
time = 5
hide_from_overview = true
[build]
render = "never"
list = "local"
publishResources = false
+++

Throughout this course, we will reference the book [How Computers Really Work](https://www.howcomputersreallywork.com/) by Matthew Justice.

You will need a copy. {{<our-name>}} is working out how to get you a copy if you can't afford one.

If you buy your own copy [from e.g. Amazon](https://www.amazon.co.uk/How-Computers-Work-Hands-Workings/dp/1718500661), {{<our-name>}} cannot pay for this.
2 changes: 1 addition & 1 deletion common-content/en/blocks/morning-orientation/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title="🎡 Morning orientation"

time=15
[objectives]
[tasks]
1="Introduce and welcome new volunteers"
2="Nominate a timekeeper"
3="Check the morning day plan and group structures"
Expand Down
6 changes: 3 additions & 3 deletions common-content/en/blocks/retro/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,14 @@ hide_from_overview=true

{{<tabs name="Run a retro">}}
{{<tab name="Video">}}
{{<youtube>}}https://www.youtube.com/watch?v=TeKHx6GY3Zw{{</youtube>}}
{{<youtube>}}https://www.youtube.com/watch?v=3rCllHgDl7s{{</youtube>}}
{{</tab>}}
{{<tab name="Text">}}

{{<note title="Retro (20 minutes)" type="activity">}}
A retro is a chance to reflect. You can do this on [a FigJam](https://www.figma.com/board/otHBufZ3jGm9S7QPxeuXYV/Retro-Board-CYF) (make sure someone makes a **copy** of the template before you start) or on sticky notes on a wall.
A retro is a chance to reflect. You can do this on [RetroTool](https://retrotool.io/) (create a free anonymous retro and share the link with the class) or on sticky notes on a wall.

1. Set a [timer for 5 minutes](https://www.google.com/search?q=timer+5+minutes). There's one on the FigJam too.
1. Set a [timer for 5 minutes](https://www.google.com/search?q=timer+5+minutes). There's one on the RetroTool too.
1. Write down as many things as you can think of that you'd like to _start_, _stop_, and _continue_ doing next sprint.
1. Write one point per note and keep it short.
1. When the timer goes off, one person should set a [timer for 1 minute](https://www.google.com/search?q=timer+1+minute) and group the notes into themes.
Expand Down
2 changes: 1 addition & 1 deletion common-content/en/blocks/study-group/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
+++
title="Study Group"
objectives=["Resolve blockers in your coursework", "Express and resolve problems effectively by writing tickets and asking questions", "Give and receive code review", "Develop your personal portfolio", "Pair programme", "Evaluate your progress with peers and mentors"]
tasks=["Resolve blockers in your coursework", "Express and resolve problems effectively by writing tickets and asking questions", "Give and receive code review", "Develop your personal portfolio", "Pair programme", "Evaluate your progress with peers and mentors"]
time=60
[build]
render = 'never'
Expand Down
2 changes: 1 addition & 1 deletion common-content/en/blocks/workshop/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title = '🧰 Workshop Activity'

time = 120
emoji= '🧰'
[objectives]
[tasks]
1='Apply concepts from study to a practical example'
2='Work together on exercises and activities to find gaps in understanding'
3='Describe and resolve mental model errors'
Expand Down
2 changes: 1 addition & 1 deletion common-content/en/energisers/18-and-unders/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title="18 and under"
emoji="🧒"
time=10
[objectives]
[tasks]
1="Share any interesting fact about you when you were young"
2="Discover hidden skills of your peers"
[build]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title="Bad Interview Answers"
emoji="🤦‍♂️"
hide_from_overview=true
time=15
[objectives]
[tasks]
1="Wake up"
3="Have a laugh"
[build]
Expand Down
2 changes: 1 addition & 1 deletion common-content/en/energisers/blockers/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title="Blockers!"
emoji="🚗"
time=25
[objectives]
[tasks]
1="Use the driver and navigator pattern"
2="Break down a problem into steps"
3="Negotiate a strategy with your team"
Expand Down
32 changes: 32 additions & 0 deletions common-content/en/energisers/confident-presenting/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
+++
title="Confident Presenting!"
time=15
[tasks]
1="Trainee can strike a power pose"
2="Trainee has experience with confidently introducing themselves"
[build]
render = 'never'
list = 'local'
publishResources = false
+++

# The Setup

Get everyone standing for this exercise!

1. Start by everyone demonstrating unconfident poses
2. Get everyone moving with a quick stretch or power pose to break the ice and release tension.

- Superman pose – feet shoulder-width apart, hands on hips, chest out.
- The victor - hands up in the air in a V and feet apart
- Any others?

3. In a power pose of your choosing go around the room and ask everyone to say their name in the most exaggerated, enthusiastic way possible, like they’re introducing themselves to a stadium of people.

> [!WARNING]
> This is not proven science. This is just a fun game to get everyone up and moving around!
# Resources on Confident Presenting

- [Make Body Language Your Superpower](https://www.youtube.com/watch?v=cFLjudWTuGQ&ab_channel=StanfordGraduateSchoolofBusiness)
- [Alter Ego: How having an alter ego empowers you](https://www.bbc.com/worklife/article/20200817-the-batman-effect-how-having-an-alter-ego-empowers-you)
2 changes: 1 addition & 1 deletion common-content/en/energisers/fizz-buzz/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title="Fizz Buzz"
emoji="🔢"
hide_from_overview=true
time=20
[objectives]
[tasks]
1="Execute mental arithmetic and divisibility rules"
3="Listen actively and coordinate with others"
[build]
Expand Down
11 changes: 6 additions & 5 deletions common-content/en/energisers/introduce-yourself/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title=" Introduce Yourself!"
emoji="🎙️"
time=20
objectives=["Introduce yourself in 30 seconds", "Learn two key facts about each other"]
tasks=["Introduce yourself in 30 seconds", "Learn two key facts about each other"]
[build]
render = 'never'
list = 'local'
Expand All @@ -13,16 +13,17 @@ objectives=["Introduce yourself in 30 seconds", "Learn two key facts about each

In your professional life, you will often be asked to introduce yourself. It is a good idea to have an [elevator pitch](https://careerdevelopment.princeton.edu/sites/g/files/toruqf1041/files/media/elevator_pitch.pdf) ready, a brief (30 seconds) way of introducing yourself, getting across a key point or two, and making a connection with someone.

Today we will be going around the room and introducing ourselves! `
Today we will be going around the room and introducing ourselves! `

Facilitator(s) start by sharing your elevator pitch and then popcorn around the room.

Some tips:

- Your response should be around 30 seconds.
- Have a list of items ready but tailor what you say to your audience. For example, at a technical conference focus on your technical interests rather than your love of making cupcakes, but on the first day of a new job introducing yourself to your new team feel free to add 1-2 personal details.
- Try to structure your response,
- Who are you? Where are you from? Where have you worked? Have you studied somewhere and what subjects?
- What do you do? What are your skills, passions, or hobbies? What motivates you?
- Try to structure your response,
- Who are you? Where are you from? Where have you worked? Have you studied somewhere and what subjects?
- What do you do? What are your skills, passions, or hobbies? What motivates you?
- Try to be enthusiastic, let your personality and confidence shine
- Allow space for follow-up questions
- It will feel awkward and nerve-wracking the first couple of times, practice-practice-practice to feel confident
Expand Down
36 changes: 36 additions & 0 deletions common-content/en/energisers/popcorn-screen-share/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
+++
title="Screen Safari"
emoji="🖥️"
time=15
[tasks]
1="Practice screen sharing functionality"
2="Build comfort with sharing digital workspace"
[build]
render = 'never'
list = 'local'
publishResources = false
+++

A playful way to practice screen sharing while sharing something personal.

Facilitator, please begin by sharing your screen. Talk through what you are doing and show your favorite website, digital photo, or bookmark. Explain why it's meaningful to you. On gallery view, choose the person "next" to you to share next.

Each participant will have {{<timer>}}1{{</timer>}} minute to:

1. Share their screen
1. Show their favorite website, digital photo, or bookmark
1. Explain why it's meaningful to them

Practice stopping screen share before the next person begins!

Go around the group until everyone has shared.

#### Facilitator Check in questions

<details><summary>Guide participants on technical comfort</summary>

- What was challenging about the screen sharing process?
- What would make you feel more confident sharing your screen?
- What did you learn about your colleagues through their shares?

</details>
24 changes: 24 additions & 0 deletions common-content/en/energisers/popcorn/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
+++
title="Popcorn Show and Tell"
emoji="🍿"
time=10
[tasks]
1="Practice popcorning participation in meetings"
2="Share quick personal insights"
[build]
render = 'never'
list = 'local'
publishResources = false
+++

A quick introduction to popcorning where participants spontaneously "pop up" to share.

**Facilitator** grab something close to you and show it to the group. What is interesting about this object? What does it mean to you?

1. After sharing, say "popcorn to..." and choose someone else.
1. That person shares their response, then popcorns to another participant.

Continue until everyone has shared once or you run out of time.

> ![!TIP]
> If everyone puts their hand up and then put it down after speaking, it's easier to see who hasn't shared yet.
39 changes: 39 additions & 0 deletions common-content/en/energisers/slack-libs/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
+++
title="Slack Libs"
emoji="💬"
time=10
[tasks]
1="Familiarise participants with Slack features"
2="Create engaging team communication"
[build]
render = 'never'
list = 'local'
publishResources = false
+++

A creative way to practice Slack communication through collaborative storytelling.

1. **Facilitator**: Create a dedicated thread in your team's Slack channel.
2. Start with a simple prompt, eg:

- "Time travelers from 2030 visit to study our cohort as the pioneers of the tech industry. What made us so revolutionary?"
- "Scientists accidentally merged all our pets/favorite animals into one super-creature. Describe this majestic beast and its day at the office."
- "Breaking news: Our entire team just discovered we have superpowers! What powers did each person get and how did we first discover them?"

Now, each person will add **one sentence** to the story using:

1. 😁 At least one emoji
1. One Slack formatting feature (**bold**, _italic_, bullet point)
1. One @mention of another team member, inviting them to continue the story.

Continue for {{<timer>}}10{{</timer>}} minutes or until everyone has contributed.

<details><summary>Key Slack features to try</summary>

- How to start/find threads
- Basic text formatting (\*/`~)
- Emoji reactions
- @mentions and notifications
- How to edit/delete messages

</details>
2 changes: 1 addition & 1 deletion common-content/en/energisers/telephone/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title="Telephone!"
emoji="📞"
hide_from_overview=true
time=15
[objectives]
[tasks]
1="Transmit a message accurately through multiple people"
2="Identify points of miscommunication in the final message"
4="Demonstrate active listening by repeating a message verbatim"
Expand Down
2 changes: 1 addition & 1 deletion common-content/en/energisers/time-traveller/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title="Time traveller"
emoji=""
time=30
[objectives]
[tasks]
1="Hear the experience of a CYF alumni"
2="Ask questions about their experience"
[build]
Expand Down
2 changes: 1 addition & 1 deletion common-content/en/energisers/wemoji/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title="Wemoji"
emoji="😀😢😲"
time=10
[objectives]
[tasks]
1="Express emojis using only facial expressions and body language"
2="Identify emojis from facial expressions and body language"
[build]
Expand Down
28 changes: 28 additions & 0 deletions common-content/en/energisers/word-chain/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
+++
title="Word Chain"
emoji="🔤"
time=15
[tasks]
1="Think quickly and associate words in English"
2="Build active listening skills"
[build]
render = 'never'
list = 'local'
publishResources = false
+++

A fast-paced word association game that works for both in-person and online groups of any size. If you are playing online, write the order of players in the chat to keep track of who is next. Set a timer for {{<timer>}}10{{</timer>}}

1. The first player says any word.
1. The next player must say a word that begins with the last letter of the previous word.
1. Continue around the circle. For example: cat → tree → elephant → tower
1. If a player takes longer than 5 seconds or repeats a word, they're out.
1. Last player standing wins.

<details><summary>Variations</summary>

- Restrict words to specific categories (animals, countries, food)
- Words must be exactly 4 letters long
- Words must be related to the previous word in meaning

</details>
2 changes: 1 addition & 1 deletion common-content/en/energisers/zip-zap-boing/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title="Zip Zap Boing!"
emoji=""
hide_from_overview=true
time=15
[objectives]
[tasks]
1="Coordinate group movement and attention"
3="Energise the group and create a fun atmosphere"
[build]
Expand Down
Loading

0 comments on commit ebda1e8

Please sign in to comment.