✍🏽 Register
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.
- 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.
City Guide Pair Programming 🔗
Node Challenge - London Mini-Guide
In this challenge you are going to build a full stack application (server & client) that shows the number of hospitals, doctors, pharmacies and colleges in some of London’s boroughs.
This exercise is designed to develop your pair programming skills and to get you thinking about how to design a full stack application. You’re not expected to get everything completed.
Server
Client
Time to Complete
This challenge has three levels. Budget one hour to complete the first level. If you have more time, do more levels.
Instructions
Split into groups of two or three people.
One person will start as the driver (typing the code) and the others will begin as the navigators.
You must complete the first level before moving on to the second level. Do not jump around.
Begin with the server challenge.
Live Version:
https://london-mini-guide-challenge.netlify.app/
Data Source
The data is provided to you in a folder ./data
which contains 3 files: Harrow.json
, Heathrow.json
and Stratford.json
.
Each file in this format:
{
"pharmacies" : [
{
"name" :
"address":
"website":
"phone" :
}
],
"colleges" : [
{
"name" :
"address":
"website":
"phone" :
}
],
"doctors" : [
{
"name" :
"address":
"website":
"phone" :
}
],
"hospitals" : [
{
"name" :
"address":
"website":
"phone" :
}
]
}
Data source: https://www.yell.com/
Data has been collected using a technique called web scraping
.
Optionally, to know more about web scraping, check out these resources:
- Media, T. (2018). Intro To Web Scraping With Node.js & Cheerio [YouTube Video]. In YouTube. https://www.youtube.com/watch?v=LoziivfAAjE
- Typecraft. (2022). Web Scraping like a GOD with Javascript [YouTube Video]. In YouTube. https://www.youtube.com/watch?v=ssRo5nVOvrQ
Lunch
Take your lunch break and be back in an hour!
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
🛎️ 0 PRs available. Open some 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.
Value and Work Not Done
🤙🏽 FeedbackLearning Objectives
Preparation
Introduction
Value Measurement Chain
🎯 Goal: To practice identifying the stages of the value measurement chain. (25 minutes)
Work in teams of 3-4 people.
Assign which stage of the value measurement chain (Input - Effort - Output - Outcome - Impact) relates to each of the following measures:
- Number of product releases to the customers every month.
- Count of person-days spent on a task.
- Lines of code in a pull request.
- Response to a marketing vision for a feature from social media.
- Venture capital investment in the company, based on a product vision.
- Family and social connections are enhanced because a communication feature is used well.
- Refactoring because a feature was badly implemented.
- Persuading other people to finish their tasks enables you to begin yours.
- The system can display calories burned during activity logged.
- Reduced medical interventions due to healthier lifestyles encouraged by the exercise app.
- A user knows an estimate of calories burned by exercise.
- Release to market of location tracking software version with calorie counter feature.
- Opportunity cost / future value of food intake forecasting for diabetic users of that location tracking software.
Tip for timing: Use the first 10 minutes to assign items in your group, then during the last 15 minutes discuss each item in the class.
Work Not Done
🎯 Goal: To practice identifying which tasks should/shouldn’t be done and why. (35 minutes)
Work in teams of 3-4 people.
Take 25 min to complete this part of the exercise:
- Suggest which of the following items should not be done.
- Define what would change the decision.
- What would make it more valuable?
- What would make it less valuable?
- Fixing a security vulnerability in the latest version of the product, where any user could impersonate any other in a REST call.
- Fixing a security vulnerability in an old version, which is at “end of life”, but the customers have to pay to upgrade.
- Refactoring technical debt affects a few possible enhancements to a rarely used feature.
- Fixing a spelling mistake on the website in a prominent place.
- Adding a major new feature, which some users think would be great, but most users don’t care about.
- Adding a new feature when the next item on the backlog is to fix a common bug.
- Writing a definition of done with the team so everyone shares expectations of documentation, testing, etc.
- Redesigning the UI workflow to present questions in the same order a person would think about them.
- Re-implementing an existing feature that works but looks a bit dated.
- Holding meetings with several customers to clarify the impact of a certain bug on them.
- Refining and estimating items on the backlog will probably be in the sprint after next.
- Add and remove database table columns to comply with the architect’s new policy.
- Fixing bugs in an experimental prototype feature for which we are already collecting A/B test analytics.
Go through each task in the class and ask the questions listed at the beginning. It’s alright if you don’t have time to cover all tasks.
Tips for timing: 15 minutes to work on the exercise in groups, 20 minutes to discuss.
Set up Render
Learning Objectives
Let’s try out using Render to host our Node.js application. There are many platforms that you can use to host your Node.js application, but we’re using Render right now because it’s free. If your cohort has found a better option, please use that, and contribute your setup guide back to the curriculum.
activity
- Fork https://github.com/CodeYourFuture/CYF-React-Express-Template
- Create an account with Render and choose GitHub as your auth.
- Create a new Web Service and choose Build and deploy from a Git repository
- Connect your forked repo to Render
Retro: Start / Stop / Continue
activity</span>
activity</span>
A retro is a chance to reflect. You can do this on a FigJam (make sure someone makes a copy of the template before you start) or on sticky notes on a wall.
- Set a timer for 5 minutes. There’s one on the FigJam 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.