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

Energiser

Every CYF session begins with an energiser. Usually there’s a rota showing who will lead the energiser. We have some CYF 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.

Asking good technical questions πŸ”—

Learning Objectives

Preparation

  • A4 paper with exercise 1 printed for each trainee in the cohort
  • Give each trainee one paper at the start of the session
  • Pens

Introduction

3 exercises below:

  1. (10m) How do you get help today? Why don’t you get help?
  2. (45m) Good question improvisation

How do you get help today? Why don’t you get help?

🎯 Goal: Reflect on how you get help for your questions today (10 minutes)

Answer the following questions, then find a partner and discuss any significant differences you have in your answers.

Q1. When you come across something you don’t understand, which of the following ways do you use to get answers?Β Β 

  • Search Google / Bing / …
  • Search Stack Overflow
  • Search YouTube
  • Ask ChatGPT or other AI
  • Ask a peer
  • Ask an expert/senior
  • Post a question on a forum / Slack channel
  • Read the documentationΒ 
  • Other (_________________________)

Q2. What stops you from asking others when there is something you don’t understand?Β  Check the ones that apply to you.

  • I feel I should probably already know the answer and asking would reveal my ignorance
  • I don’t want to waste anybody’s time
  • I don’t want people to think badly of me
  • Nothing stops me because most people usually get pleasure from helping, and often even enjoy showing off their knowledge.
  • Nobody has ever had my problem before, so there’s no point asking anyone
  • Other (_________________________)

Good Question Improvisation!

🎯 Goal: Practice framing a good question and get feedback on it (45 minutes)

  1. Pick ONE of the technical issues that you have thought of during the prep.Β  Use the good questions concepts that you have learned to write down a well-structured question (10 minutes).
  2. Working in groups, you should each take turns to ask your question of the others in your group.Β  The others should provide constructive feedback on your good question and suggest possible ways it might be improved. (~5 minutes per person, no more than 30 minutes)
  3. As a group, reflect on the concepts that you think have been most beneficial to asking good questions.Β  Take turns and share with the group one or two of the changes that you made (or someone else made) to a question that resulted in it being easier to answer and therefore more likely to give a more valuable answer. (5 minutes)

Progress check-in πŸ”—

https://curriculum.codeyourfuture.io/js1/success/

Why are we doing this?

πŸ”‘ The most important thing is that you are secure in your understanding.

At the end of the course, we will expect you to build novel applications using your understanding. If you cannot build things, we cannot put you forward for jobs. It is in your personal interest to make sure you have properly understood this module.

To progress to the next module you need to meet the success criteria for this module. How will you as a cohort meet the module success criteria? Discuss it in your class channel and make a plan together.

πŸ§‘πŸΏβ€πŸŽ€ good strategies

  • asking volunteers to review your code
  • helping each other with coursework blockers
  • arranging midweek study sessions
  • using Saturday time to review code and cohort tracker

πŸ™…πŸΏ bad strategies

  • opening empty PRs
  • copying and pasting
  • breaking the Trainee Agreement
  • mistaking the measure for the target

Maximum time in hours

.5

How to get help

Discuss with your cohort. Support each other.

How to submit

In week 4 of your module you will need a representative to report to the organisation. Here’s your template, fill in your details and delete as appropriate:

πŸ“ˆ Cohort Progress Report from @cohort-name to @programme-team

  • criterion
  • criterion
  • criterion
  • criterion

βœ… We are progressing to the next module.
β›” We are taking a consolidation week to meet our targets.

  • 🎯 Topic Code Review
  • 🎯 Topic Communication
  • 🎯 Topic Delivery
  • 🎯 Topic Requirements
  • 🎯 Topic Teamwork
  • 🎯 Topic Testing
  • 🎯 Topic Time Management
  • πŸ• Priority Mandatory
  • πŸ¦” Size Tiny
  • πŸ“… Week 1
  • πŸ“… Week 4

Morning Break

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

⌚ Time string πŸ”—

formatSecondsAsString

Learning Objectives

When programming, you will often encounter large problems. Developers must learn to break down complex problems into smaller problems. In this workshop, we’ll use tests to break down the implementation of formatAsSecondsAsString.

Given a time in seconds,
When formatAsSecondsAsString is called with the time
Then we it should return a well formatted time string.

For example, if we call formatAsSecondsAsString with 390
then we should get “6 minutes and 30 seconds”

If we call, formatAsSecondsAsString with 6327894 then we should get ""

🧩 Break down the problem

(10 mins)

To break down this problem, we will only start considering seconds inputs <= 60. Why do you think this is a good place to start?

formatAsSecondsAsString(1) // "1 second" 
formatAsSecondsAsString(50) // "50 seconds" 

Spend 10 minutes, think about some other test cases you can explore to check this functionality

πŸ§ͺ Set up tests

(10 mins)

In this directory (time-string), create a package.json and install Jest as you did in the prep material.
Next, create a test file, time-string.test.js. In there, write your first test.

🩺 First steps

(10 mins)

Once you’ve written your first test, you’ll need to implement the logic to get it working for this test case. Don’t try rushing ahead in this kata - otherwise it could become very unwieldy!

πŸ’Ό New cases

Now we’ll consider cases where the input is less than 3600? Why is this a good idea?

formatAsSecondsAsString(61) // "1 minute and 1 second" 

Continue this pattern of writing tests and then implementing your functionality. Do this until you’re confident your function works in the case where the input is less than

Community Lunch

Every Saturday at CYF 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

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.

NW-6 | Zeliha Pala | JS1| [TECH ED] Complete week 2 exercises | WEEK-2 πŸ”—

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
NW6 | Rabia Avci | JS1 Module | [TECH ED] Complete week 3 exercises | Week 3 πŸ”—

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

Done debugging for time format which helped with refactoring as well.
Get used to writing assertions for checking conditions.
Done if, else if conditional statements.
A basic array solution is used to find vowels. Not deep knowledge about array, just as beginning.

Questions

No question.

Start a review
NW6 | Nazanin-Saedi | Week-3-JS1 | week3 πŸ”—

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
NW6|Bakhat Begum|Module-JS1 |Bakha/week-3| Sprint-3|Week-3 πŸ”—

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

Some parts were complicated. Blackjack cards took new horses to understand and write the code. Over all day by day, I am getting better.

Questions

I would be very happy to get feedback.

Start a review
NW6 | Haythem Mohammed | Module-JS1 | WEEK3 πŸ”—

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

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.

NW-6 | Zeliha Pala | JS1| [TECH ED] Complete week 2 exercises | WEEK-2 πŸ”—

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
NW6 | Rabia Avci | JS1 Module | [TECH ED] Complete week 3 exercises | Week 3 πŸ”—

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

Done debugging for time format which helped with refactoring as well.
Get used to writing assertions for checking conditions.
Done if, else if conditional statements.
A basic array solution is used to find vowels. Not deep knowledge about array, just as beginning.

Questions

No question.

Start a review
NW6 | Nazanin-Saedi | Week-3-JS1 | week3 πŸ”—

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
NW6|Bakhat Begum|Module-JS1 |Bakha/week-3| Sprint-3|Week-3 πŸ”—

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

Some parts were complicated. Blackjack cards took new horses to understand and write the code. Over all day by day, I am getting better.

Questions

I would be very happy to get feedback.

Start a review
NW6 | Haythem Mohammed | Module-JS1 | WEEK3 πŸ”—

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

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.