day-plan

Register

Energiser

Every session begins with an energiser. Usually there’s a rota showing who will lead the energiser. We have some favourite games you can play if you are stuck.

  1. Traffic Jam: re-order the cars to unblock yourself
  2. Telephone: draw the words and write the pictures
  3. Popcorn show and tell: popcorn around the room and show one nearby object or something in your pocket or bag and explain what it means to you.

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

Demo

  • Share solutions to exercises β†’ share code, talk through what you’ve done to the group, ask questions and discuss alternative solutions / tradeoffs etc
  • Discuss reflections for each exercise (these are listed under Reflections sections in Prep) β†’ there is no right or wrong answers here, this is a chance to consolidate what you’ve learnt and analyse / challenge the various patterns and principles covered in this sprint.
  • Please write your answers to the reflection questions as you are completing the corresponding exercises - don’t wait until the last minute before class!

Discuss

Come prepared to discuss:

  • What is automated testing? what types of automated test are there and how do they differ?
  • What JUnit is for? What is a suite? When would you use a parameterised test?
  • What are annotations, what annotations are used by JUnit? What are their purpose?
  • On what program elements will we find javadoc?
  • Why would we use javadoc from an external framework or library?

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?

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.

Retro: Start / Stop / Continue

πŸ•ΉοΈRetro (20 minutes)

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.

  1. Set a timer for 5 minutes. There’s one on the RetroTool too.
  2. Write down as many things as you can think of that you’d like to start, stop, and continue doing next sprint.
  3. Write one point per note and keep it short.
  4. When the timer goes off, one person should set a timer for 1 minute and group the notes into themes.
  5. 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.
  6. Finally, set a timer for 8 minutes and all discuss the top three themes.