π§πΎβπ€βπ§πΎ 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
π£ 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:
- Assemble the entire group (all volunteers & all trainees) in a circle
- 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}”
- Ask any newcomers to introduce themselves to the group, and welcome them.
- 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.
- 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
ποΈ 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?
- Daily
- Short
- 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)
- Set a timer for 5 minutes
- Write down three bullet points:
- What you worked on yesterday
- What issues are blocking you / What problems you encountered
- 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
- 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!
- 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?
- 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.
- On one person’s computer, fork this repo: https://github.com/CodeYourFuture/cyf-demo-repo
- π 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.
- Clone your fork of
cyf-demo-repo
to your local machine. - Open this local repository using VSCode.
- 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:
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:
where the most recent commits contain our changes.
To create a commit, we can use the following steps (explained more below):
- Make a change to a file
- View the local changes
- Stage the changes
- Creating the commit
ποΈ 1. Make a change to a file
- Open up your local repo
cyf-demo-repo
in VSCode. - Go to the Explorer section of VSCode ( look for a π icon ).
- Find
file.txt
and edit the file with the answer to the questions. - 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.
- Locate the Source Control tab in VSCode.
- Go to the Changes section and click on the file you changed - this should now show the changes for the file.
- 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…
- Go to the file
file.txt
and click on the +.
π Notice what happens when you carry out step 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:
and not like this:
If you’re sure you’re on the right branch:
- Enter a commit message describing briefly what you did in your commit.
- 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
π 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:
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:
- What is a commit? Explain why we need to make commits when we’re developing a project.
- Explain why we store repositories on GitHub.
- Describe the purpose of VSCode.
- Explain the difference between Git and GitHub.
- Explain why developers use branches.
- Explain the difference between a fork and a clone.
- What does the branch name
origin/main
mean instead of justmain
? - Check out the following git repository diagram below:
How many commits are in common between week-1-feature
and main
?
π£οΈ 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
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.
π§° Workshop
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. 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? How would you fix this? βπ½ Write down your ideas. Next, ask each π€ LLM in turn, by pasting the prompt: How would you fix this? 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? βπ½ 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.1. Generate
π¨οΈ Generate
2
πͺ Compare
3
π΅πΏ Revise
4
π Reflect
5
π§ Create
β 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 reviewCYF_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 reviewManchester | 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 reviewAfternoon 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>
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.
- Set a timer for 5 minutes. There’s one on the RetroTool too.
- Write down as many things as you can think of that you’d like to start, stop, and continue doing next sprint.
- Write one point per note and keep it short.
- When the timer goes off, one person should set a timer for 1 minute and group the notes into themes.
- 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.
- Finally, set a timer for 8 minutes and all discuss the top three themes.