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.
- Traffic Jam: re-order the cars to unblock yourself
- Telephone: draw the words and write the pictures
- 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:
- (10m) How do you get help today? Why donβt you get help?
- (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)
- 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).
- 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)
- 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 π
Link to the coursework
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?
Interactive code block
formatAsSecondsAsString(1) // "1 second"
Interactive code block
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?
Interactive code block
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 reviewNW6 | 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 reviewNW6 | 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 reviewNW6|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 reviewNW6 | 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 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
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 reviewNW6 | 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 reviewNW6 | 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 reviewNW6|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 reviewNW6 | 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 reviewRetro: 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.
- Set a timer for 5 minutes.
- 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.