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

✍🏽 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.

  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.

Wordle Hackathon πŸ”—

Wordle CLI Workshop

This is a workshop where we, as a class, build a Wordle CLI clone in Node JS.

Learning Objectives

Requirements

  • Split the cohort into groups of 3 to 4 people
  • We start with an energiser where we play an actual game of Wordle (https://www.nytimes.com/games/wordle/index.html) - sourcing guesses from the class, and hopefully learning how the game works in the process
  • Ensure the class understands the rules of the game first
  • Then we start building out our Wordle CLI clone from scratch
    • Referencing steps from this README: https://github.com/CodeYourFuture/wordle-clone-example#readme (this example solution can be given to the trainees after the session has finished)
    • Steps 1 & 2 can be done together as a class. All the code here should be sourced from the trainees themselves - this is their implementation. However, the volunteer who is running the workshop can ensure the high-level problem is broken down into these smaller functions: getRandomWord, getGuess and showWordWithHighlights
    • Step 3 (getRandomWord) can be done in groups
    • Step 4 (getGuess) can be done in groups - but it might be useful for a volunteer to suggest which NPM dependency we could use
    • Step 5 (showWordWithHighlights) can be done in groups - again, we can suggest which NPM dependency to use
    • Step 6 (improving the user experience) could possibly be done as a class together

Acceptance Criteria

Given the user starts a new Wordle game
When the app is initialized
Then a random 5 letter word should be selected as the target word

Given the target word has been selected
When the user enters a 5 letter guess
Then the guess should be validated
And each letter should be marked as green, yellow or gray based on whether it matches the target word

Given a valid 5 letter guess has been entered
When the guess does not match the target word
Then each letter should be marked as follows:

  • Green if the letter is in the correct position
  • Yellow if the letter is in the target but not in the correct position
  • Gray if the letter is not in the target word

Given a guess has been submitted
When the guess matches the target word
Then a message should indicate the user has won the game

Given guesses have been submitted
When the user reaches 6 guesses without matching the target word
Then a message should indicate the user has lost and show the target word

  • I understand the code I have written

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

πŸ›ŽοΈ Code waiting for review πŸ”—

Below are trainee coursework Pull Requests that need to be reviewed by volunteers.

NW6 | Hadika Malik | Module Servers | Mailing List API project | Week 4 πŸ”—

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.
I have completed the CRUD requests.

Questions

Ask any questions you have for your reviewer.

Start a review
NW6 | Rabia Avci | Module Servers | [TECH ED] Mailing list API Project | Week 4 πŸ”—

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.

I created a server, served my app through it. Also created middlewares, routes, utils folders for better documentation.

Questions

Ask any questions you have for your reviewer.

Start a review
WM5 | AISHA_ATHMAN_LALI | MODULE_SERVERS | WEEK_2 | CHAT_SERVER | LEVEL-1-2-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

This is a PR on a chat server project. I have attempted until level 3.

Start a review
NW6 | Fikret Ellek | Module Servers | [TECH ED] 🏝️ Stretch challenges / 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

Briefly explain your PR.

I have created enpoints for reviewing, creating and deleting booking data. Tried to separate functions from server file to
a specific functions folder.

Questions

Ask any questions you have for your reviewer.

Start a review
WM5| AISHA_ATHMAN_LALI | MODULE_SERVERS | WEEK_1 | QUOTE_SERVER πŸ”—

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

This is a PR for Quote Server API Project.

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.

Sell yourself

Learning Objectives

Preparation

Stickers for each trainee to put their roles on their top.

Introduction

Training as a developer is a tough and demanding task. You have been working so hard and dedicating so many hours to this. In this session, we will work to make sure that you can do justice to yourself and demonstrate your effort, strengths and skills effectively.

Brag for your pair

🎯 Goal: Express the strengths of another person (30 minutes)

Pair up with someone you know well, someone you worked with together before. One of you will act as an interviewer, and the other will be an interviewee. Interviewers ask the following questions to their pair. The interviewees answer these questions not for themselves but for their pair. Interviewees pretend to be in the shoes of their pair and show off their pair’s strengths, skills, and achievements. Each of you should play both roles, so pay attention to time and don’t spend more than 15 minutes each. Put timers on your phones and don’t spend more than 2 minutes for each question.

Interview questions:

  1. Please tell us a little bit about yourself
  2. Can you tell us about an achievement you are proud of?
  3. What is your biggest strength?
  4. Which soft skills do you need to improve further?
  5. Why do you want to become a professional developer?
  6. What can you contribute to our team?

Tips for facilitators: Don’t worry if all questions aren’t covered by the end of 15 minutes, stop there and change roles.

What is your value for a company?

🎯 Goal: Express own professional value (30 minutes)

Work as a class. Study this job advertisement. Identify the pain points for the company. Remember, it’s not easy for employers to find the right candidate. Recruiting is expensive and hard for companies. Knowing how to present yourself correctly makes it easier for hiring managers to see that you are the right fit for their company.

  • What is the emphasis in the advertisement?
  • What qualities would the best candidate have?
  • What does the company need?
  • How can you help solve their problems?
  • What value will you add when you join their team?

Brainstorm about how junior devs create value for companies (e.g. by being proactive, by learning fast, etc.). List these traits for junior devs on a board.