Day Plan

Register

Morning orientation

Learning Objectives

Planning during the week

🧭 During the week, create a post on Slack and get some people to take on the roles of facilitator and timekeeper. Nominate new people each time.

👣 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:

  1. Assemble the entire group (all volunteers & all trainees) in a circle
  2. 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}”

  3. Ask any newcomers to introduce themselves to the group, and welcome them.
  4. 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.
  5. 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

Energiser

Learning Objectives

Energisers are a big part of CYF’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.

Start thinking of your own energisers - what would be fun for the group to do together one morning? Feel free to bring your own suggestions, and run them with the group!

In the mean time, here is a suggestion, in case you don’t have any other ideas yet:

🗂️ Options

Energiser: Telephone!

Energiser: Telephone!

Learning Objectives

Arrange participants in a line or circle. This game works best with 5 or more players and must be played in person.

The first player whispers a message to the next person. Each subsequent player whispers what they heard to the next person. The last player says the message out loud.

Compare the final message to the original to see how it changed.

Set a timer for minutes per round. Play a couple of rounds with different starting messages and message passers.

Facilitator Check in questions

Guide participants to reflect on communication challenges and strategies:

  • What happened to the message as it traveled through the group?
  • What techniques did you use to remember the message accurately?
  • How does this game relate to real-world communication challenges?
  • What strategies could improve message accuracy in this game?
  • Can you think of a work scenario where a similar communication challenge might occur?
Evolve the game

Introduce variations to increase complexity and challenge:

  • Round 2: Use a more complex message, such as a short riddle or technical instruction
  • Round 3: Allow each player to ask one yes/no question to the person who whispered to them
  • Round 4: Introduce background noise or distractions during message passing
  • Round 5: Split into two teams and race to pass messages accurately, comparing final results

🔗 Problem Solving Workshop

In groups, we will work through this Codewars problem. Split into groups, one per volunteer.

Remember: Our goals are to: Understand the problem and make a plan to solve it. These are more important steps than actually writing the code (though we should do that too, after we have a plan).

Interview Introductions

Learning Objectives

Interview Introductions

Before starting this workshop, you should have reviewed the interview introductions prep item.

For this workshop you need to break up into groups of 3-4 trainees, each with at least one volunteer. We will be trying to make some sample introductions for Jane.

Jane is a fictional person who has completed a software development programme. Jane is applying for a Junior Software Developer role with the fictional company, Software for Lawyers Ltd. You don’t need to understand all of the technical terms in these two pieces of text to complete the task.

✍️Introduce Jane

In small groups, ideally with a volunteer in each group if possible.

  1. Set a timer for 5 minutes.

  2. Read through the summary of Jane’s background and the job description

  3. Set a timer for 10 minutes.

  4. Individually, write an introduction for Jane to be used for her interview with Software for Lawyers Ltd. You should be aiming for it to be 1-2 minutes long which is approximately 140-300 words. Volunteers can join in with this if they want.

  5. In your groups, take turns reading out your introductions for Jane. Give eachother feedback. Everyone in the group should give feedback about every introduction. Try to put yourselves in the shoes of the hiring manager. Does their introduction give the impression that Jane is a perfect fit? If not why not? What differences are there between your introductions? Which ones make you want to work with Jane? Why?

  6. If you have time, try making an introduction for yourself and share it with the group

Jane’s summary

Jane has recently completed the part time Super Coders Software Development programme. During this time, she was also working full-time and caring for her two children. The course teaches full stack web development and general programming concepts. It teaches HTML, CSS, JavaScript, Node.js, Express, React and PostgreSQL.

Jane is very passionate about programming. She taught herself the Python programming language before starting the course.

Her portfolio includes many full stack applications. This includes projects she has built with other students, as well as some solo projects. She’s especially proud of a project called Pin the Mood. This project stores book recommendations until the user has time to read the books. The project used React, Express, Node.js and PostgresSQL. The project team was an agile team made up of two trainees, a scrum master and a tech lead.

After leaving school seven years ago, she joined Lawyers 4U as a call handler. She has developed excellent interpersonal skills and has gained experience working under pressure.

The Job Description

Software for Lawyers Ltd makes case management software. Their software helps lawyers manage caseloads and track time spent. The development team is small and close knit. They are looking to add a Junior Software Developer to their team.

Requirements

  • A university degree in a relevant subject or a software development course
  • Experience with Node.js, Express and React
  • A strong portfolio with solo and group projects
  • Excellent interpersonal skills
  • Experience developing software in an agile team
  • Passionate about programming

Nice to Haves

  • Experience in the legal sector
  • Some knowledge of Python
  • Experience working in an office-based environment

Community Lunch

Every Saturday, we 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 let’s work together. These are the roles we need help with.

  • Food shopping: ensure enough food is available for all courses running in your region, respecting the dietary requirements and the budget (you might not be the one buying the food, but you should ensure whoever buys or cooks the food knows what should be bought)
  • Setting up the table: organise the food so that everyone has access to it and invite people to join lunch
  • Washing up & tidying: your location should be as clean as it was before you all arrived in the morning. This can include washing up, taking the litter outside, hoovering, etc.

You can do something different every week or every two weeks. You shouldn’t have to be constantly responsible for the same task. Agree as a cohort on how you will manage this.

Questions you can use to help this organisation:

  1. How long should each person (group of people) be responsible for each goal? 1 week? 2 weeks?
  2. How will we communicate to our community who is the person responsible right now?
  3. Is there any role missing?

ITP AI Guidelines

Learning Objectives

In this workshop we will read guidelines, discuss, and ask questions around how we use AI during the ITP.

Read through our ITP AI use guidelines and discuss (15 minutes)

Individually, for 5 minutes read through the guidelines for AI use on the ITP.

What questions do we have (10 minutes)

Facilitator should start a Slack thread for your region within the ITP channel. Everyone should use this thread to post any questions about AI use that they have. Take the remaining time to address these questions.

As a volunteer or facilitator, it might be worth feeding back to the ITP channel any specific misconceptions that came up that could be better explained in the guidance written.

Stretch: Find the wider AI usage guidelines (5 minutes)

If you have time to spare, spend 5 minutes in pairs navigating the curriculum to find the “AI Usage Guidelines” in the CYF Guides. When you’ve found it, answer the following question:

What question can you ask yourself to check if you are using AI appropriately?

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

Learning Objectives

Trainees

This is time for you to get help with whatever you need help with.

If you didn’t understand something in the prep, ask about it.

If you were struggling with a backlog exercise, get help with it.

If you weren’t quite sure of something in a workshop, discuss it.

If you don’t have any problems, keep working through the backlog until you need help.

It can be useful to get into groups with others facing the same problem, or working on the same backlog item.

Volunteers

Don’t be scared to approach people and ask what they’re working on - see if you can help them out, or stretch their understanding.

If lots of people have the same problems, maybe you can put together a demonstration or a workshop to help them understand.

If absolutely no one needs help, consider reviewing some PRs using the process and guidelines in the #cyf-code-review-volunteer-team Slack channel canvas.

Breaks

No one can work solidly forever! Make sure to take breaks when you need.

Finished everything?

If you have finished everything in the backlog you can use this time to practice some other skills which will be useful in your future careers. We have some suggestions below:

Pair programming

Pair programming is very common in industry so it’s good to practice it now! Find a partner and choose a problem to work on, for example a Codewars kata. One person will be the “driver” and the other will be the “navigator”. Both of you will use the same laptop to complete the activity.

  • 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
  • Switch between driver and navigator roles after
  • Don’t dominate - this is teamwork

There are further details in our Pair Programming Guide.

Code review

You will receive regular reviews of your work from volunteers when you submit a PR, but how comfortable are you giving a review? Find a partner and give each other feedback on one of the PRs you submitted this week. After you have given your feedback you should consider:

  • How did you understand what the goal of the PR is? Did you read the title and description, look at the coursework exercises, etc.
  • How did you use the different tabs in the 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?

Prepare for your next demo

You need to give regular demos to complete the course. Use this time to work on your next one. You could:

  • Prepare your slides
  • Discuss topics
  • Practice presenting

Share resources you have found

CYF aren’t the only resource available to you! If you have discovered a new book, YouTube channel or anything else you are using to help you learn this is an excellent time to share it with your cohort.

Wrap

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

Optional: Socialise!

Learning Objectives

At CYF we learn as a community. You’re going to be spending the coming months with the people around you. After that, they will form part of your professional network too.

We encourage you to spend time getting to know them! This is optional. But after class, we encourage you to do something like:

  • Hang around in the class space chatting or playing games.
  • Go sit in a nearby park together.
  • Go to a local cafe for hot drinks.
  • Go to a nearby pub.
  • Or any other ideas you have!

Make sure everyone who wants to join in will feel welcome wherever you go (e.g. a lot of people don’t like drinking or being near alcohol).

If CYF is paying childcare expenses so that you can come to class, we’re happy to pay for this time as well.