πŸ§‘πŸΎβ€πŸ€β€πŸ§‘πŸΎ 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

πŸ”— User Needs and Acceptance Criteria Workshop

Learning Objectives

User Needs and Acceptance Criteria

Introduction

When designing and building systems, understanding the customer is critically important. If we don’t understand the customer, we may build something that solves the wrong problem, or something that the user can’t use.

In this workshop, we are going to think about designing a digital system for a pub. We will think about different user personas, their needs, and how we may be able to solve them.

Identify User Types (5 minutes)

Get in small groups or pairs to brainstorm and list at least 3 different users of a pub system.

Expand for some possible users - compare your list to these when you're done
  • Pub Customer (guest)
  • Bartender/Waitstaff
  • Pub Manager/Owner
  • Kitchen Staff
  • Supplier/Delivery Person

Define User Needs (10 minutes)

For each user type, take 10 mins to discuss and write down their main needs or goals when interacting with the pub’s system.

Expand for volunteer facilitation hints

Examples:

User TypeNeeds / Goals
CustomerBrowse menu, place order, reserve table, pay bill, leave review
BartenderView orders, update order status, manage reservations
Manager/OwnerView sales reports, manage menu, oversee staff schedules
Kitchen StaffReceive new orders, update order status
SupplierSchedule deliveries, update inventory

Write User Stories (10 minutes)

Select at least one user type within your groups and write a user story for them, focusing on a specific need.

Expand for volunteer facilitation hints

Format could be as follows:

  • “As a user type, I want to do something, so that benefit.”

Example could be as follows:

  • “As a customer, I want to reserve a table online, so that I can ensure seating when I arrive.”

Acceptance Criteria with Gherkin (15 minutes)

For each user story, write acceptance criteria using Gherkin syntax.

Expand for volunteer facilitation hints

Make sure Gherkin syntax is clear for trainees as below:

Given [context]
When [action]
Then [expected outcome]

Ask trainees to think of examples if they’re stuck. See below for examples:

  • Customer Table Reservation:
Given I am a registered customer on the pub's website
When I select a date and time and submit a reservation request
Then I should see a confirmation message with my reservation details
  • Bartender Viewing Orders:
Given I am logged in as a bartender
When a new order is placed by a customer
Then I should see the new order appear at the top of my orders list

Group Sharing & Discussion (10 minutes)

Take to present your user stories and acceptance criteria.

Discuss what makes acceptance criteria clear and testable for .

Expand for volunteer facilitation hints

Make sure the trainees receive peer feedback and volunteer guidance.

Wrap-Up (5 minutes)

As a group, summarise the key takeaways and discuss why applying these practices in future projects could be useful.

Expand for volunteer facilitation hints

Make sure we’ve covered user-centric thinking, specificity in requirements, clarity in acceptance criteria.

πŸ«– Morning Break

A quick break of fifteen minutes so we can all concentrate on the next piece of work.

🧹 Clean Code Workshop

Learning Objectives

Open this Clean Code workshop presentation. Work through the whole thing together as a group.

For each “Better or worse?” question, every member of the class should move to one side of the room or the other to vote for which piece of code they prefer.

People who voted each way should share with the class why they prefer the code they voted for.

πŸ›— Study Group

Learning Objectives

What are we doing now?

You’re going to use this time to work through coursework. Your cohort will collectively self-organise to work through the coursework together in your own way. Sort yourselves into groups that work for you.

Use this time wisely

You will have study time in almost every class day. Don’t waste it. Use it to:

  • work through the coursework
  • ask questions and get unblocked
  • give and receive code review
  • work on your portfolio
  • develop your own projects

🍽️ 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.

🎀 Demo

At CYF we expect you to demo your work to the class. You must have many opportunities to practice how to clearly and simply explain your work to others. This is really important both for interviews and for getting promoted later on.

⏰ Timekeeper

The timekeeper will keep the groups on track.

Split randomly into groups of no more than 5 people. Each person will have 2 minutes to demo their work to the group. After the demo, the group will give feedback for 5 minutes. Then the next person will demo their work.

πŸ§‘πŸΌβ€πŸŽ“ Trainees

1. Demo

You will demo your work to the group. You will have 2 minutes to explain what you did and why. It’s ok to show broken code or code that doesn’t work yet. Just make sure your demo is interesting.

2. Feedback

After the demo, the group will give you feedback for up to 5 minutes. It’s smart to suggest what kind of feedback you want by asking some “generative” questions. For example:

  • I wasn’t sure if it makes sense to try X. What do you think?
  • I liked the way I did X, but I know there are other approaches, what did you do?
  • I found X really confusing, did anyone else have the same problem?
  • I wasn’t sure if I explained what an X was very clearly, how could I have explained it better?

πŸ’‘ Tips:

  • Practice your demo before class.
  • Keep it simple. Don’t try to show everything you did. Just show one interesting thing.
  • Keep it short. Two minutes is enough.
  • Explain what you did and why.
  • Show your code.
  • Ask for feedback.

πŸ›— Study Group

Learning Objectives

What are we doing now?

You’re going to use this time to work through coursework. Your cohort will collectively self-organise to work through the coursework together in your own way. Sort yourselves into groups that work for you.

Use this time wisely

You will have study time in almost every class day. Don’t waste it. Use it to:

  • work through the coursework
  • ask questions and get unblocked
  • give and receive code review
  • work on your portfolio
  • develop your own projects

πŸ›ŽοΈ Code waiting for review πŸ”—

Below are trainee coursework Pull Requests that need to be reviewed by volunteers.

London | Nadika Zavodovska | Module-Complexity | Sprint 2 | Implement linked list πŸ”—

Hello,

I’ve done the Implement linked list task.

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

Thank you.

Start a review
London | Nadika Zavodovska | Module-Complexity | Sprint 2 | Improve with precomputing πŸ”—

Hello,

I’ve done the Improve with precomputing task.

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

Thank you.

Start a review
London | Nadika Zavodovska | Module-Complexity | Sprint 2 | Implement LRU cache πŸ”—

Hello,

I’ve done the Implement LRU cache task.

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

Thank you.

Start a review
London | Nadika Zavodovska | Module-Complexity | Sprint 2 | Improve with caches πŸ”—

Hello,

I’ve done all the tasks for the Improve with caches task.

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

Thank you.

Start a review
London | Nadika Zavodovska | Module-Complexity | Sprint 1 | Analyse and refactor πŸ”—

Hello,

I’ve done all the tasks for the Analyse and Refactor task.

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

Thank you.

Start a review
See more pull requests

πŸ«– Afternoon 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

Learning Objectives

What are we doing now?

You’re going to use this time to work through coursework. Your cohort will collectively self-organise to work through the coursework together in your own way. Sort yourselves into groups that work for you.

Use this time wisely

You will have study time in almost every class day. Don’t waste it. Use it to:

  • work through the coursework
  • ask questions and get unblocked
  • give and receive code review
  • work on your portfolio
  • develop your own projects

πŸ”„ 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.