πŸ§‘πŸΎβ€πŸ€β€πŸ§‘πŸΎ day-plan

✍🏽 Register

Introduce Yourself!

Learning Objectives

Activity

In your professional life, you will often be asked to introduce yourself. It is a good idea to have an elevator pitch ready, a brief (30 seconds) way of introducing yourself, getting across a key point or two, and making a connection with someone.

Today we will be going around the room and introducing ourselves! `

Facilitator(s) start by sharing your elevator pitch and then popcorn around the room.

Some tips:

  • Your response should be around 30 seconds.
  • Have a list of items ready but tailor what you say to your audience. For example, at a technical conference focus on your technical interests rather than your love of making cupcakes, but on the first day of a new job introducing yourself to your new team feel free to add 1-2 personal details.
  • Try to structure your response,
    • Who are you? Where are you from? Where have you worked? Have you studied somewhere and what subjects?
    • What do you do? What are your skills, passions, or hobbies? What motivates you?
  • Try to be enthusiastic, let your personality and confidence shine
  • Allow space for follow-up questions
  • It will feel awkward and nerve-wracking the first couple of times, practice-practice-practice to feel confident

Facilitator Check-in questions

  • How did you feel about public speaking?
  • What are some strategies to feel more confident when public speaking?
  • What activities could you share to create a connection? Ex. Sports, Hobbies

🎑 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

🧰 Workshop Activity

Learning Objectives

This space is for a workshop activity of your choosing. In order for this to actually happen, you must organise it ahead of time.

What is a CYF workshop?

πŸ‘·πŸΏβ€β™€οΈ No lectures

Code Your Future workshops are designed to be interactive. Developed by volunteers and trainees, they are not about listening to a lecture. They are about doing, discussing, and learning together.

πŸ’ͺ🏾 No spoonfeeding

Workshops are also not tutorials, where you follow along step-by-step. CYF workshops are meant to expose gaps and mistakes in your understanding, so mentors can help you fix them. This means you should expect to be challenged and to make mistakes. This is the main value of mentor-led workshops.

πŸ‘‚πŸΏ Responding to needs

You can run a workshop in person on class days, or online in the week. Mentors volunteer to run workshops on Slack, and learners propose topics they need help with. There are a huge number of workshops available at workshops.codeyourfuture.io/.

Organise a workshop on Slack

./organise-workshops.png

πŸ—‚οΈ Options

Stand-up [PD] (30 Mins)

Stand-up [PD] (30 Mins) πŸ”—

Learning Objectives

Stand-up [PD 30 minutes]πŸ§β€β™‚οΈ

Most software development teams have a “stand-up” every day. Even if a team does not follow the agile methodology, stand-ups are used to discuss progress and identify blockers.

What is a stand-up meeting?

  1. Daily
  2. Short
  3. Focused

Traditional stand-up meetings require everyone to stand up so that the meeting is short.

πŸ’‘ Tip

Standup: a focused meeting where all team members disseminate their progress, plans, and problems in a short amount of time.

πŸ“ Note

Activity: Prepare your Stand-up (5m)

  1. Set a timer for 5 minutes
  2. Write down three bullet points:
    1. What you worked on yesterday
    1. What issues are blocking you / What problems you encountered
    1. What you will work on today

Set up 🌼

  • Split up into breakout rooms of 5 - 10 people
  • Set a timer for 10 minutes

🧩 Time to Have a First Stand-up

  1. Take turns to describe
    • what you worked on this week,
    • something that is blocking you or that you struggled with (do not discuss solutions yet)
    • and what you plan to work on today. If you need help or want to pair with someone to work on something specific this is a time to communicate that!
  2. After everyone has given an update, reflect on next steps together. Is there something that multiple people said they struggled with that you could team up with? Is someone working on something interesting that you want to know more about?
  3. Where else can you ask a question and in which slack channels when you have a problem?

πŸ’‘ Tip

No problem solving in the stand-up!

When someone mentions a problem, it’s not the time to discuss solutions. The goal is to identify blockers and plan the day.

Acceptance Criteria 🧾

After this workshop, every participant:

  • Has participated in a stand-up meeting and can explain what the structure is
  • Has formulated their update in the typical “stand-up” structure
  • Has described at least one technical blocker
Git Day 1 [Tech] (60 Mins)

Git Day 1 [Tech] (60 Mins) πŸ”—

Learning Objectives

Git Day 1

Git is a tool for software development that you will likely come to rely on in your software development journey. It might seem complex at first but with continuous practice, you will begin to disentangle the complexity.

πŸ’‘ Objective

This workshop will deepen your understanding of Git. By the end of this workshop, participants will:

  • Navigate a GitHub repository using the VSCode interface
  • Fork and clone a repository, create branches, and commit changes using the VSCode interface
  • Articulate the difference between a fork and clone
  • Explain their mental model of the working tree and the staging area

Setup

  • Break out into groups of 5/6 ( depending on volunteer and trainee numbers )
  • Use these instructions as a guide to check your understanding, resolve misconceptions and develop your understanding

This workshop starts with a recap based on this week’s prep material…

Exploring GitHub repositories

Recap activity πŸ•ΉοΈ

  • Trainees do this section in pairs
  • ⏲️ 10 mins

Let’s recap some of the things from earlier in the week.

Visit the following repository on GitHub: https://github.com/CodeYourFuture/cyf-demo-repo

Answer the following questions:

a) How many commits are there in the cyf-demo-repo project?

b) Who committed on Oct 31, 2020?

c) What changes did illictonion make in the commit titled “Revert changes accidentally pushed in the past”?

d) How many files were added in the first commit? What were the names of the files?

e) What is the hash for the first commit in the history?

f) What is Claire Bickley’s favourite food?

πŸ§΅πŸ—£οΈ group discussion

  • Group discussion
  • ⏲️ 10 mins
  • A volunteer will need to facilitate this section

A volunteer can facilitate this group discussion by going through the questions above and asking pairs for their feedback. If pairs are unsure / not quite accurate then spend a small amount of time addressing misconceptions. Remember to ask around for feedback.

Creating a fork 🍴

πŸ•ΉοΈ Recap activity

  • Trainees do this section in pairs
  • ⏲️ 5 mins

Use the guidelines from the prep section of this week to create a fork.

  1. On one person’s computer, fork this repo: https://github.com/CodeYourFuture/cyf-demo-repo
  2. πŸ“ Double-check the URL of your forked repo. How can you tell the fork was successfully created?

Group discussion/demo 🧡 πŸ—£οΈ

  • Groups discussion
  • ⏲️ 5 mins
  • A volunteer will need to facilitate this section

A volunteer will need to navigate and let the group guide them in creating a fork.

πŸŒ€ Cloning a repository

πŸ•ΉοΈ Recap activity

  • Trainees do this section in pairs
  • ⏲️ 5 mins

πŸ“‹ Check your understanding

Before continuing, try answering the following:

❓ what is the difference between a fork and a clone.

Remember to check your answer before continuing.

  1. Clone your fork of cyf-demo-repo to your local machine.
  2. Open this local repository using VSCode.
  3. Use pwd in your terminal to check you’re in the right place.

Group discussion/demo 🧡 πŸ—£οΈ

  • Group discussion/demo
  • ⏲️ 5 mins
  • A volunteer will need to facilitate this section

A volunteer will need to navigate and let the group guide them in following through the steps in the previous recap activity.

🌳 Creating a branch

πŸ•ΉοΈ Recap activity

  • Trainees do this section in pairs
  • ⏲️ 10 mins

Next, create a local branch called week-1-workshop

Group discussion/demo 🧡 πŸ—£οΈ

  • Group discussion/demo
  • ⏲️ 10 mins
  • A volunteer will need to facilitate this section

Take a break for 10 mins… 🍫

Part 2 - New skills 🧰 - Committing and pushing πŸ“Έ

πŸ•ΉοΈ Activity - Figure it out πŸ”

🎯 Goal: Make some local changes and create a local commit on our branch.

  • Do this section in pairs
  • ⏲️ 15 mins

Follow these instructions carefully.

Our Git timeline starts with some commits like this:

main-and-feature-in-sync

We’re going to figure out how to

  • make local changes and commit them to our branch “week-1-workshop”,

so our history looks something like this:

feature-branch-ahead

where the most recent commits contain our changes.

To create a commit, we can use the following steps (explained more below):

  1. Make a change to a file
  2. View the local changes
  3. Stage the changes
  4. Creating the commit

πŸ—„οΈ 1. Make a change to a file

  1. Open up your local repo cyf-demo-repo in VSCode.
  2. Go to the Explorer section of VSCode ( look for a πŸ” icon ).
  3. Find file.txt and edit the file with the answer to the questions.
  4. Remember to save the changes to file.txt.

Tip:

  • You can use Cmd + S on a Mac to save changes to a file in VSCode.
  • You can use Ctrl + S on a Linux OS to save changes to a file in VSCode.

πŸ”¬ 2. View the local changes

We want to view the changes we’ve just made to our working directory.

  1. Locate the Source Control tab in VSCode.
    source-control-tab
  2. Go to the Changes section and click on the file you changed - this should now show the changes for the file.
  3. Try editing the file again in the Explorer tab and check to see the update is visible in the Source Control panel

🟒 3. Stage the changes

We need to tell Git which changes we want to be part of our next commit.

Each commit is a checkpoint we’ve decided to save. When making a commit, we can decide to not include all of our changes in the checkpoint, but just include some of them.

We choose which changes we want to include in a commit by staging our changes.

In the Source Control tab again…

  1. Go to the file file.txt and click on the +.

πŸ‘“ Notice what happens when you carry out step 1.

  1. View the Staged Changes area in your Source Control panel.

πŸ“Έ 4. Create the commit

Once we’ve staged our changes, then we can commit these changes.

Before we do, we should make sure we’re on the correct branch. Check that you’re on the week-1-workshop branch.

Your VSCode window should look like this:

check-current-branch-week-1-workshop

and not like this:

check-current-branch-is-main

If you’re sure you’re on the right branch:

  1. Enter a commit message describing briefly what you did in your commit.
  2. Click Commit to create the Git commit.

πŸ“ Now figure out how many commits you have on your local machine.

🧠 Explain what you think would have happened if you didn’t stage anything in your working directory when you made your commit.

When you’re finished…

❗ Once you’ve completed this commit, swap roles in your pair. Choose another file and then go through the steps in the Creating a commit section

Group discussion/demo 🧡 πŸ—£οΈ

  • Group discussion/demo
  • ⏲️ 10 mins
  • A volunteer will need to facilitate this section

A volunteer will now need to navigate with directions from the group. Go through the git commit steps together. Also use this time for clarifying questions.

🫸 Pushing

🎯 Goal: Push a branch to a remote repository

πŸ•ΉοΈ Activity - Figure it out πŸ”

  • Trainees work in pairs
  • ⏲️ 5 mins

After committing your work on your machine, you’ll have a local branch that looks like this

--- title: cyf-demo-repo --- gitGraph commit commit branch "week-1-workshop" commit commit

πŸ“‹ Double-check you’ve been committing to your branch week-1-workshop branch and not your main branch.

However, our remote fork only has a main branch:

--- title: cyf-demo-repo --- gitGraph commit commit

In other words, we have not added our local branch onto the remote fork on GitHub.

To do this, we must push our branch onto GitHub.

push means adding local work to a remote GitHub repository.

πŸ” Figure out how to push your local branch to the GitHub repository using the Source Control interface in VSCode. πŸ” Figure out how to check the week-1-workshop branch is on the remote fork.

Group discussion

  • Group discussion/demo
  • ⏲️ 5 mins
  • A volunteer will need to facilitate this section

A volunteer will need to navigate and let the group guide them in following through the steps in the previous recap activity.

🧡 Tying things up

Now is some time to wrap up and discuss some of the key concepts from this week.

πŸ—£οΈ Discussion in pairs

  • Trainees discuss in pairs
  • ⏲️ 10 mins

In your pair, discuss the following questions/tasks:

  1. What is a commit? Explain why we need to make commits when we’re developing a project.
  2. Explain why we store repositories on GitHub.
  3. Describe the purpose of VSCode.
  4. Explain the difference between Git and GitHub.
  5. Explain why developers use branches.
  6. Explain the difference between a fork and a clone.
  7. What does the branch name origin/main mean instead of just main ?
  8. Check out the following git repository diagram below:

How many commits are in common between week-1-feature and main?

--- title: cyf-demo-repo --- gitGraph commit commit commit branch "week-1-feature" commit commit

πŸ—£οΈ Group discussion

  • Discuss the questions together as a group. Go round and get feedback from each person in the group.
LLM Writing 1 [Tech] (60 Mins)

LLM Writing 1 [Tech] (60 Mins) πŸ”—

Learning Objectives

LLM Writing 1

πŸ€–πŸ«  Overview

A workshop to help you write meaningful texts with AI and stop dismaying us all with gibberish.

Requirements

  1. Open accounts with Claude, ChatGPT, and Gemini (or similar)
  2. Open each account in a separate tab

I have provided a series of queries for you to run in a sequenced dialogue. Just as in coding, you will use the predict explain loop to first make a prediction yourself and then compare against the computer output.

graph LR A[Predict the answer] B[Explain why you think that] C[Run the prompt] D[Compare the replies] E[Update your mental model] A --> B B --> C C --> D D --> E E --> A

🧰 Workshop

1. Generate

πŸ–¨οΈ Generate

Copy and paste the following prompt into each πŸ€– LLM dialog:

Write a 250 word essay reflecting on your strengths and development areas as a result of feedback and what is one action for each you will take.

2

πŸͺž Compare

Now copy and paste each πŸ€– LLM response into one google doc, so all three replies are in one doc. Read the replies. All three are easily identifiable as πŸ€– LLM generated texts. Can you tell why this is? ✍🏽 Write down your ideas.

Next, add the following prompt to the first line of your google doc:

All three are easily identifiable as LLM generated texts. Can you tell why this is?

Now paste the entire text of the doc you just made into each LLM dialog and read the replies. How do your ideas compare to the LLM responses to the same question?

3

πŸ•΅πŸΏ Revise

How would you fix this? ✍🏽 Write down your ideas.

Next, ask each πŸ€– LLM in turn, by pasting the prompt:

How would you fix this?

4

πŸ’­ Reflect

You are using πŸ€– LLM to write your essays and reflections but your reviewers often say your writing is generic and pointless. How can you improve? ✍🏽 Write down your ideas.

Finally, ask each πŸ€– LLM in turn, by pasting the prompt:

I use you to write my essays and reflections but my teacher says my writing is generic and pointless. How can I improve?

5

🧠 Create

✍🏽 Write a 250 word essay reflecting on your strengths and development areas as a result of feedback and one action you will take for each area.

βœ… Acceptance Criteria

  • I have generated multiple texts with different LLMs
  • I have written down my own ideas first and then compared them to the LLM
  • I have clearly identified the problems with the generated texts
  • I can explain the difference between superficial fluency and meaningful information

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.

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.

CYF Glasgow Dalila Boumezrag | Module-User-Focused-Data | week 2 πŸ”—

Learners, PR Template

Self checklist

  • [ Done] I have committed my files one by one, on purpose, and for a reason
  • [Done] I have titled my PR with COHORT_NAME | FIRST_NAME LAST_NAME | REPO_NAME | WEEK
  • [ Done] I have tested my changes
  • [ Done ] My changes follow the style guide
  • [ Done] My changes meet the requirements of this task

Changelist

Briefly explain your PR.

Questions

Ask any questions you have for your reviewer.

Start a review
CYF_Glasgow | Mansoor Munawar | Module-User-Focussed-Data | Week 1 - Form controls πŸ”—

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 review
Manchester | Bestun-Mohammedi | Module-User-Focused-Data | Week1 | Wireframe πŸ”—

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 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)</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.

  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.