Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: objectives and tasks oh my #1218

Merged
merged 21 commits into from
Dec 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
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
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
15 changes: 9 additions & 6 deletions common-content/en/energisers/confident-presenting/index.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
+++
title="Confident Presenting!"
time=15
[objectives]
[tasks]
1="Trainee can strike a power pose"
2="Trainee has experience with confidently introducing themselves"
[build]
Expand All @@ -15,15 +15,18 @@ time=15
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.
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
2 changes: 1 addition & 1 deletion common-content/en/energisers/popcorn-screen-share/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title="Screen Safari"
emoji="🖥️"
time=15
[objectives]
[tasks]
1="Practice screen sharing functionality"
2="Build comfort with sharing digital workspace"
[build]
Expand Down
2 changes: 1 addition & 1 deletion common-content/en/energisers/popcorn/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title="Popcorn Show and Tell"
emoji="🍿"
time=10
[objectives]
[tasks]
1="Practice popcorning participation in meetings"
2="Share quick personal insights"
[build]
Expand Down
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
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
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
+++
title = 'Tasks'
time = 2
emoji= '✅'
[tasks]
1='Use the Teach Tech Together guide to construct your objectives'
2='Limit the objectives to 3-5 items'
3='Write objectives you can measure'
[build]
render = 'never'
list = 'local'
publishResources = false
+++

```toml
tasks = ["Write objectives you can measure", "Tasks are objectives that aren't passed to success view or overviews"]
```

This is a list of tasks for a block. They look the same as learning objectives and should be formulated in the same way. However, tasks will not show up in the success view for any sprint this block is added to. They will only show up on the block itself when rendered on to a page.

Structured objectives are important for organising and focusing the learning time of our community. But repetitive or purely operational tasks like "Nominate a timekeeper" or "Take a break" don't need to be collated and tracked by the learner like objectives do. They are just tasks that need to be done to complete the activity.
37 changes: 37 additions & 0 deletions common-docs/content/common-theme/render-hooks/tasks.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
+++
title="Tasks"
description="Assign learning objectives via render hook"
emoji="✅"
menu=["hooks"]
+++

This is a [codefence render hook](https://gohugo.io/render-hooks/code-blocks/) that allows you to assign inert learning objectives to a page. It's for pages or content sources _outside_ Hugo. You can mark up a tasks checklist on a GitHub readme, say, and then render it as a list of objectives on the page.

Tasks are an inert form of learning objectives. They will be rendered on Hugo and GitHub as task lists. They will be shown in the learning objectives section on a block. But they will _not_ be tracked as learning objectives and won't be passed to the success criteria of a sprint.

> [!TIP]
> You probably want [objectives](./objectives) instead.

### Invoke

{{<columns>}}

````
```tasks
- [ ] Use the objectives render hook
- [ ] Three backticks ```
- [ ] The word objectives
- [ ] A list of objectives in a checklist
```
````

<--->

````tasks
- [ ] Use the objectives render hook
- [ ] Three backticks ```
- [ ] The word objectives
- [ ] A list of objectives in a checklist
````

{{</columns>}}
36 changes: 36 additions & 0 deletions common-docs/content/common-theme/shortcodes/objectives.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
+++
title="Objectives"
description="Passing objectives from GitHub to Hugo"
emoji="🎯"
menu=["shortcodes"]
+++

```go
<!--{{</*objectives*/>}}-->
- [ ] Objective 1
- [ ] Objective 2
- [ ] Objective 3
<!--{{</*/objectives*/>}}-->
```

{{< objectives >}}

- [ ] Objective 1
- [ ] Objective 2
- [ ] Objective 3

{{< /objectives >}}

If you want to add objectives from a GitHub issue or readme into your success criteria, mark up a task list and wrap it in the `objectives` shortcode. Comment out the shortcode to hide it on GitHub.

This will render the task list on GitHub and will be picked up, rendered, and _tracked_ as learning objectives by Hugo. This means:

1. readmes: any learning objectives on any readme added to a prep or dayplan will be added to the success criteria of that sprint
1. issues: any learning objectives on the entire backlog page will be added to the success criteria of the sprint
1. any issues added as single blocks will be added to the success criteria of the sprint, unless they have already been tracked on the backlog page
1. on any issue or readme block, learning objectives will be removed from the body and shown in the learning objectives details instead

([Tasks](./tasks) will be rendered but not tracked.)

> [!TIP]
> Fenced objectives will also work like this on Hugo, but on GitHub will be plain text.
27 changes: 27 additions & 0 deletions common-docs/content/common-theme/shortcodes/tasks.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
+++
title="Tasks"
description="Inert objectives"
emoji="✅"
menu=["shortcodes"]
+++

```go
<!--{{</* tasks */>}}-->
- [ ] Objective 1
- [ ] Objective 2
- [ ] Objective 3
<!--{{</* /tasks */>}}-->
```

{{< tasks >}}

- [ ] Objective 1
- [ ] Objective 2
- [ ] Objective 3

{{< /tasks >}}

Tasks are learning objectives you want to render but not track. They will be rendered on Hugo and GitHub as task lists. They will be shown in the learning objectives section on a block. But they will NOT be tracked as learning objectives and won't be passed to the success criteria of a sprint.

> [!TIP]
> You probably want [objectives](./objectives) instead.
1 change: 1 addition & 0 deletions common-docs/hugo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ main_org_name = "Code Your Future"
our_name="The Docs"
org = "https://github.com/CodeYourFuture"
repo = "https://github.com/CodeYourFuture/curriculum/"
owner = "CodeYourFuture"
root = "curriculum"
orgapi = "https://api.github.com/repos/CodeYourFuture"
[caches.getresource]
Expand Down
1 change: 1 addition & 0 deletions common-theme/hugo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ startTime="10:00"
# our_name = "alias for in text replacement"
# org = "https://github.com/YOUR_ORG_HERE"
# repo = "https://github.com/YOUR_ORG_HERE/YOUR_REPO/"
# owner = "YOUR_ORG_HERE"
# root = "YOUR_REPO_I_THINK"
# orgapi = "https://api.github.com/repos/YOUR_ORG_HERE/"
# pdrepo = "PD-curriculum-repo"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1 @@
{{ $items := slice }}
{{ $objectives := split .Inner "\n" }}
{{ range $objectives }}
{{ $objective := replace . "- [ ] " "" }}
{{ if ne (trim $objective " ") "" }}
{{ $items = $items | append $objective }}
{{ end }}
{{ end }}
{{ with $items }}
{{ partial "objectives/block" . }}
{{ end }}
{{ partial "objectives/get-list" .Inner }}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{{ partial "objectives/get-list" .Inner }}
Loading
Loading