🧑🏽‍🤝‍🧑🏽 day-plan

What are requirements, and how do we use the idea of requirements to help us develop complex systems in small, approachable steps? We’ll find out today.

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.

Notes

Importance of Professional Development

Learning Objectives

Preparation

In-person: 

  • 2 big sheets of paper and Post-it notes
  • A few markers 
  • Slide deck

Online:

  • Interactive whiteboard

Slide deck

Introduction

For this exercise, you will work with your whole cohort. Make sure you have at least one contribution during each part of the exercise.

Worst Boss vs Best Boss

🎯 Goal: Evaluate the difference of technical and professional skills (25 minutes)

Part 1

Draw a circle and write WORST BOSS. Think about the characteristics of the “Worst Boss”, write your ideas on post-its and share them on the collaborative sheet.

 Think about a boss you worked with in the past or a boss you would not want to work for.

Part 2

Draw another circle and write BEST BOSS. Now think about the characteristics of the “Best Boss” you have or would want to have. Write your ideas on Post-it (one per Post-it!)  and share them on the collaborative sheet.

Part 3

Work with your cohort to group the ‘hard skills’ (technical skills) and the ‘soft skills’ (professional skills) shared for the “Best Boss”. You can move the post-its under these two headings on a separate sheet.

Part 4

  • Discuss what you have learned with this exercise.
  • Define hard (technical) and soft (professional) skills.
  • Are the soft skills really soft?

Part 5

If there is time, go through these slides together. If not, take time to review them in your own time.

CYF Code of Conduct

Learning Objectives

Preparation

Use this slide deck to do this activity.

Introduction

The Code of Conduct is the guideline for ethical and respectful behaviour in our community. We all need to be aware of and understand it since it sets behavioural expectations for all of us.

Let's talk Code of Conduct

🎯 Goal: Understand the importance of knowing and acting accordingly to the Code of Conduct of any enterprise (25 minutes)

Open this presentation and follow the exercises. The presenter’s notes should help anyone to do this interactive work.

Morning Break

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

Notes

🗺️ Using the curriculum

Learning Objectives

At CYF, the curriculum maps out what you will learn together over the course. It defines your weekly work, the preparation you must do before class and what you will do together on class days. Use this time to go through the activities and learn how to navigate the curriculum interface.

Resources

The facilitator will make a copy of this template presentation 👉

Preparation

  • Facilitator: Review the How to use the curriculum presentation before class.
  • Facilitator: Ensure everyone can access the Miro board presentation.
  • Facilitator: Split the class into groups of no more than 4.
  • Facilitator: Make sure every group has access to a laptop.
  • Facilitator: Make sure every group has access to a piece of paper and pen

Introduction

The facilitator will use the Miro board presentation to guide trainees and volunteers through a discussion about how we use the curriculum.

Notes

Learning Objectives

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.

Notes

Telephone

Ring Ring Bananaphone

In groups of no more than 5, we’re going to play a game of telephone.

Telephone

Ring Ring Bananaphone

To play Telephone without the internet, you will need: pens, paper, a stopwatch or timer

  • In groups of no more than 6, give each person a pen and a sheet of paper. You might want to pre-fold the paper into thirds or sixths so people know how big to draw
  • Alternating around the group, choose Red/Yellow/Red/Yellow/Red/Yellow
  • Faciliator: Shout telephone! and set a timer for 30 seconds (a tomato timer is good for this)
  • All the Reds: draw a picture
  • All the Yellows: write a sentence
  • When the timer rings, fold the paper over and pass it left
  • Faciliator: Shout telephone! and set a timer for 30 seconds: it’s 30 seconds a round.
  • Players: Look at your new picture or sentence. Do your best to draw the sentence or write the picture.
  • When the timer rings, fold the paper over and pass it left
  • Continue until your starting paper returns to you

Notes

Understanding Requirements

Learning Objectives

Communication is hard. Today, let’s explore some ways we communicate with each other in software development. It’s not enough to draw a picture of a website and assume the other person will build what you imagine. It’s never a good idea to assume shared context or shared interpretations.

So how do we understand what to do? By understanding requirements.

Formalising Requirements

Today we’re going to think about requirements. We’re going to ask these questions:

  • why we’re working on a project
  • who we’re making it for
  • what they’re going to use it for.

Before starting to solve a problem (how), step back and ask yourself those why, who, and what questions.

We’re going to think about a few projects and discover some requirements. This is really important in order to do technical work, but you don’t need to have any coding experience, or be thinking about coding, when doing this.

Remember

To make great software, we need to think about people, not just code.

Notes

Learning Objectives

User stories

Learning Objectives

Imagine a coursework tracker

As trainees, you have coursework to do. Imagine a website which tracks how coursework is going for you all. Thinking about that website, some user stories could be:

  • As a trainee, I can ask for help with a topic or task.
  • As a mentor, I can see who needs extra support.
  • As a trainee, I can see what coursework I need to complete and when.
  • As a mentor, I can see what coursework has not been completed.

These each take the form “As [who], I can [what]”. They don’t say why yet.

Exercise 10 Minutes

In groups of about 5.

Talk about why the “who” is useful. What would we be missing if we didn’t think about the “Who”?

Now think about the “why” for each of the listed user stories. Why are they important?

As a [who], I can [what] so that [why]

Exercise 10 Minutes

Write some user stories for our coursework tracker on a Jamboard.

Think about the “who”, “what”, and “why” for each.

You can think of new “who"s (e.g. the people who write the coursework questions), and as many “what"s as you want - but make sure you remember the “why”.

Reflecting

Key Term

A user story is a short sentence stating some goal a user can expect to achieve when using the product we are implementing.

10 Minutes

Why is thinking about user stories useful?

What’s useful about thinking about the “who” and the “why”? What could go wrong if you don’t think about them?

Notes

Learning Objectives

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.

Notes

Ship It

Learning Objectives

Now we will ship some code, because we expect you to ship very often at CYF

You’re going to be working on and developing your own projects over the Fundamentals course, so let’s begin with your Personal Home Page. In Intro to Digital (ITD) you built a Personal Home Page to complete the course. Now we’ll ship it to become a “real” website. When developers talk about shipping or deployment they mean turning the version that they’re developing into something that users can access.

Tip

It’s important that software works and that both we and other people can use it!

You will need:

  • Your personal home page on Codepen
  • An account with GitHub and to be logged in
  • An account with Netlify, so sign up now using the “Sign up with GitHub” option if you have not done so already

Exercise

You’ll export your page to a folder on your computer, upload it to GitHub, and deploy it to Netlify.

Step by step

Step One : Codepen

Find your landing page on Codepen and click Export > Export as zip

Step Two : GitHub

  1. Create a new repo by going to repo.new or by clicking the + icon in the top navigation
  2. Leave the Repository Template as “No template”
  3. Type in a name for your project. It can be anything, but ‘personal-home-page’ is probably a good choice
  4. Leave the rest of the options as the defaults
  5. Click “Create repository”. Once it’s created it will take you to your new repo
  6. Now click the link to upload an existing file, which takes you to https://github.com/YOUR_GITHUB_NAME/YOUR_PROJECT_NAME/upload
  7. Find your downloaded zip file on your computer, unzip it and drag the folder on to your GitHub web interface.

Step Three: Netlify

  1. Log in to Netlify and follow this workshop to deploy your site.

  2. 🎉 Congratulations! You shipped it!

Tip

Stretch goal?
Follow the instructions in the workshop to change the site name to YOUR_GITHUB_NAME-home-page

Notes

Learning Objectives

Retro: Start / Stop / Continue

Retro (20 minutes)

A retro is a chance to reflect on this past sprint. You can do this on a Jamboard (make sure someone clicks “Make a copy” before you start, and you work on that together) or on sticky notes on a wall.

  1. Set a timer for 5 minutes.
  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.

Notes