βπ½ Register
π‘ Morning orientation
Learning Objectives
Planning during the week
π£ Steps
If you haven’t done so already, choose someone (volunteer or trainee) to be the facilitator for this morning orientation block. Choose another to be the timekeeper.
ποΈ The Facilitator will:
- Assemble the entire group (all volunteers & all trainees) in a circle
- Briefly welcome everyone with an announcement, like this:
π¬ “Morning everyone, Welcome to CYF {REGION}, this week we are working on {MODULE} {SPRINT} and we’re currently working on {SUMMARISE THE TOPICS OF THE WEEK}”
- Ask any newcomers to introduce themselves to the group, and welcome them.
- Now check: is it the start of a new module? Is it sprint 1? If so, read out the success criteria for the new module.
- Next go through the morning day plan only (typically on the curriculum website) - and check the following things:
Facilitator Checklist
- Check the number of volunteers you have for the morning
- Check someone is leading each session
- Describe how any new activities works for the group
- Decide how best to allocate trainees and volunteers for a given block - most blocks will make this clear
β° The Timekeeper will:
- Announce the start of an activity and how long it will take (check everyone is listening)
- Manage any whole class timers that are used in an activity
- Give people a 10-minute wrap-up warning before the end of an activity
- Announce the end of an activity and what happens next
Screen Safari
Learning Objectives
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 minute to:
- Share their screen
- Show their favorite website, digital photo, or bookmark
- 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
Guide participants on technical comfort
- 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?
Javascript Test Your Understanding π
Learning to evaluate your understanding
π Instructions
This workshop aims to check your understanding.
Each task will explain whether or not you should run the code.
- For each task, use your prep materials to help you with the questions.
- You can also use documentation to look up any functions that are unfamiliar.
- Don’t use ChatGPT or any other AI tool to help you. We are practising how to check our own understanding. You are finding out what you need to work on. Make notes as you go along to help you focus what to work on in study group.
π§° Setup
π This workshop lives on CYF-Workshops on GitHub
- Get into pairs or groups of up to three.
- Make sure you have a clone of the CYF-Workshops repository on your local machine
Each file contains a different problem at a particular level. Start this project at Level 100 and then move up through the levels: level 200, 300 …
π Go to Level 100
Morning Break
A quick break of fifteen minutes so we can all concentrate on the next piece of work.
Asking good technical questions
π€π½ FeedbackLearning Objectives
Preparation
- A4 paper with exercise 1 printed for each trainee in the cohort
- Give each trainee one paper at the start of the session
- Pens
Introduction
3 exercises below:
- (10m) How do you get help today? Why donβt you get help?
- (45m) Good question improvisation
How do you get help today? Why donβt you get help?
π― Goal: Reflect on how you get help for your questions today (10 minutes)
Answer the following questions, then find a partner and discuss any significant differences you have in your answers.
Q1. When you come across something you donβt understand, which of the following ways do you use to get answers?Β Β
- Search Google / Bing / β¦
- Search Stack Overflow
- Search YouTube
- Ask ChatGPT or other AI
- Ask a peer
- Ask an expert/senior
- Post a question on a forum / Slack channel
- Read the documentationΒ
- Other (_________________________)
Q2. What stops you from asking others when there is something you donβt understand?Β Check the ones that apply to you.
- I feel I should probably already know the answer and asking would reveal my ignorance
- I donβt want to waste anybodyβs time
- I donβt want people to think badly of me
- Nothing stops me because most people usually get pleasure from helping, and often even enjoy showing off their knowledge.
- Nobody has ever had my problem before, so thereβs no point asking anyone
- Other (_________________________)
Good Question Improvisation!
π― Goal: Practice framing a good question and get feedback on it (45 minutes)
- Pick ONE of the technical issues that you have thought of during the prep.Β Use the good questions concepts that you have learned to write down a well-structured question (10 minutes).
- Working in groups, you should each take turns to ask your question of the others in your group.Β The others should provide constructive feedback on your good question and suggest possible ways it might be improved. (~5 minutes per person, no more than 30 minutes)
- As a group, reflect on the concepts that you think have been most beneficial to asking good questions.Β Take turns and share with the group one or two of the changes that you made (or someone else made) to a question that resulted in it being easier to answer and therefore more likely to give a more valuable answer. (5 minutes)
Community Lunch
Every Saturday we cook and eat together. We share our food and our stories. We learn about each other and the world. We build community.
This is everyone’s responsibility, so help with what is needed to make this happen, for example, organising the food, setting up the table, washing up, tidying up, etc. You can do something different every week. You don’t need to be constantly responsible for the same task.
Sharing Our Blockers
Learning Objectives
We call problems that stop our progress “blockers”. We talk through our blockers regularly and help each other get “unblocked” or “unstuck”.
Sharing Our Blockers
Join the online board or grab some sticky notes. Add your blockers.
Make sure to add only one blocker per note.
Facilitator Once everyone has added their blockers, group similar blockers together.
Facilitator Next, discuss the blockers and help each other get “unblocked”. Start with the most common blocker and work your way down the list.
Hints and Tips
Example Blockers
- I can’t find a Slack channel people keep mentioning.
- People tell me I should be replying to a Slack message in a thread, and I don’t know how.
- I can’t open a PR, because…
- How do I fix extra stray files in my PR?
- I don’t have a computer so I can’t complete my work!
- How do I run Lighthouse?
- Everyone should have blockers. If you aren’t blocked on anything in the course, do you need to challenge yourself more?
- Ask “stupid” questions. Your question is not stupid! What we are doing is hard, and everyone has questions. If you’re stuck, it’s likely that someone else is too. Please help others and ask your question!
- If you have other more advanced questions, do write them on the board but don’t expect to answer them in Blockers. We will work on those in study group.
Study Group Development
Learning Objectives
This time is set aside for you to work together in small groups to make progress on your coursework and objectives. You should have brought at least one ticket from your backlog to work on and ideally have prepared at least one question to get mentor support on.
You can also choose to do structured activities to consolidate your objectives for this sprint. Your learning journey belongs to you. Think about what you need to do to achieve the objectives for this sprint and how you can use this time to work towards them.
If you are working on a Pull Request, this is a great time to get real time code review from your peers and mentors. Remember to use the GitHub interface to comment on the code and ask questions so your work can be tracked.
ποΈ Options
Optional structured activity: Pair Programming
Pair programming
Learning Objectives
- Switch between driver and navigator roles after
- The “driver” is the person typing on the keyboard, just thinking about what needs to be written
- The “navigator” reviews what the driver is doing and is thinking about to write next
- Don’t dominate - this is teamwork
β Time’s up! Take a break! Make a cup of tea. Good job, partners!
Optional structured activity: Code Review
Mentored code review
Learning Objectives
Our learners get feedback on their work through code review. At work, colleagues review each others code to understand code, look for problems, and both share and learn better ways of doing things.
At CYF every learner should get code review on their work every week.
Live Code Review
Pair up a volunteer with one or more learners.
- The volunteer will review a pull request, and talk out loud about what they’re looking for and doing.
- The learner(s) will ask questions as they do.
Hints and tips
- How did you understand what the goal of the PR is? Reading the title and description, looking at the coursework exercises, etc.
- The uses of the different tabs in a PR: Conversation, Commits, Files changed.
- What made a PR easy or hard to review:
- Where unrelated files/lines changed?
- Was code consistently formatted? Did indentation help or hurt understanding?
- How did you review the code? Did you read top-to-bottom? Did you jump around into and out-of functions? Did you look at tests? Did you clone the code locally and try running it?
ποΈ Code waiting for review π
Below are trainee coursework Pull Requests that need to be reviewed by volunteers.
Karla Grajales | Sprint-2 - Module-Structuring-and-Testing-Data | SPRINT 2 π
Learners, PR Template
Self checklist
- I have committed my files one by one, on purpose, and for a reason
- I have titled my PR with COHORT_NAME | FIRST_NAME LAST_NAME | REPO_NAME | WEEK
- I have tested my changes
- My changes follow the style guide
- My changes meet the requirements of this task
Changelist
In this project, I learned how to use string methods by referring to the MDN documentation, how to set and manage variables, and how data flows within functions. I also learned how to invoke functions properly, debug issues to understand why something doesn’t work, perform operations on strings, and iterate through strings based on their length.
Questions
Ask any questions you have for your reviewer.
Start a reviewGlasgow_Class|Shreef_Ibrahim|Structuring _Testing _Datast|Week2_exercise2_update π
Learners, PR Template
Self checklist
- I have committed my files one by one, on purpose, and for a reason
- I have titled my PR with COHORT_NAME | FIRST_NAME LAST_NAME | REPO_NAME | WEEK
- I have tested my changes
- My changes follow the style guide
- My changes meet the requirements of this task
Changelist
Briefly explain your PR.
Questions
Ask any questions you have for your reviewer.
Start a reviewWM4 | Fatima Safana | Module-Structuring-and-Testing-Data | WEEK6 π
Learners, PR Template
Self checklist
- I have committed my files one by one, on purpose, and for a reason
- I have titled my PR with COHORT_NAME | FIRST_NAME LAST_NAME | REPO_NAME | WEEK
- I have tested my changes
- My changes follow the style guide
- My changes meet the requirements of this task
Changelist
Briefly explain your PR.
Questions
Ask any questions you have for your reviewer.
Start a reviewGlasgow_Class|Shreef_Ibrahim|Structuring _Testing _Datast|Week1_exercise1-update π
Learners, PR Template
Self checklist
- I have committed my files one by one, on purpose, and for a reason
- I have titled my PR with COHORT_NAME | FIRST_NAME LAST_NAME | REPO_NAME | WEEK
- I have tested my changes
- My changes follow the style guide
- My changes meet the requirements of this task
Changelist
Briefly explain your PR.
Questions
Ask any questions you have for your reviewer.
Start a reviewCYF London | Rihanna Poursoltani | Module Structuring and Testing Data | Sprint 2 π
Learners, PR Template
Self checklist
- I have committed my files one by one, on purpose, and for a reason
- I have titled my PR with COHORT_NAME | FIRST_NAME LAST_NAME | REPO_NAME | WEEK
- I have tested my changes
- My changes follow the style guide
- My changes meet the requirements of this task
Changelist
Briefly explain your PR.
Questions
Ask any questions you have for your reviewer.
Start a reviewAfternoon Break
Please feel comfortable and welcome to pray at this time if this is part of your religion.
If you are breastfeeding and would like a private space, please let us know.
Study Group Development
Learning Objectives
This time is set aside for you to work together in small groups to make progress on your coursework and objectives. You should have brought at least one ticket from your backlog to work on and ideally have prepared at least one question to get mentor support on.
You can also choose to do structured activities to consolidate your objectives for this sprint. Your learning journey belongs to you. Think about what you need to do to achieve the objectives for this sprint and how you can use this time to work towards them.
If you are working on a Pull Request, this is a great time to get real time code review from your peers and mentors. Remember to use the GitHub interface to comment on the code and ask questions so your work can be tracked.
ποΈ Options
Optional structured activity: Know Your Computer
Optional structured activity: Know Your Computer π
Know Your Computer
“Know Your Computer” focuses on how to perform regular tasks on your computer. In this workshop you will use basic Linux commands in the terminal. The goal is to reduce your fear of using the terminal.
Pre-requisite
To be able to do this workshop you will need a computer with a Linux shell running on it. If you already have a Mac or an Ubuntu operating system or any other Linux distribution running on your laptop, then you are fine. If your laptop is running on Windows operating system, download and install Git Bash for Windows. Code Your Future does not support Windows, so you must install or dual boot Linux to take our course. But to do this workshop, you can just use Git Bash. Once installed, open git bash and you should be able to perform the tasks below.
Tasks
You must use the terminal and Linux commands to complete each challenge. You must not use your GUI! Hands off the mouse! π±οΈ
- Create a folder called
my-shopping
inside your Documents folder. - Then create a file called
my-list.txt
insidemy-shopping
folder. - Write the following items to
my-list.txt
file:
1. Tea
2. Pasta
3. Coffee
4. Milk
- Create a new folder called
my-new-shopping
inside your Documents folder. - Now move
my-list.txt
from yourmy-shopping
folder to yourmy-new-shopping
folder. Yourmy-shopping
folder should be empty after this step. - Copy
my-list.txt
from yourmy-new-shopping
folder back to yourmy-shopping
folder. After this step, both folders should contain a file calledmy-list.txt
. - Now add the following line to
my-list.txt
file that is insidemy-new-shopping
folder:
5. Sugar
- Display the content of
my-list.txt
file insidemy-shopping
and the one insidemy-new-shopping
.my-list.txt
file in my-shopping folder must have 4 items while the one insidemy-new-shopping
folder must have 5 items.
Resources
To help with this here are resources you can refer to: freecodecamp.com, Guru99, CLI-Treasure-Hunt.
Retro: Start / Stop / Continue
Retro (20 minutes)</span>
Retro (20 minutes)</span>
A retro is a chance to reflect. You can do this on RetroTool (create a free anonymous retro and share the link with the class) or on sticky notes on a wall.
- Set a timer for 5 minutes. There’s one on the RetroTool too.
- Write down as many things as you can think of that you’d like to start, stop, and continue doing next sprint.
- Write one point per note and keep it short.
- When the timer goes off, one person should set a timer for 1 minute and group the notes into themes.
- Next, set a timer for 2 minutes and all vote on the most important themes by adding a dot or a +1 to the note.
- Finally, set a timer for 8 minutes and all discuss the top three themes.