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

🎑 Morning orientation

Learning Objectives

Planning during the week

🧭 During the week, create a post on Slack and get some people to take on the roles of facilitator and timekeeper. Nominate new people each time.

πŸ‘£ 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:

  1. Assemble the entire group (all volunteers & all trainees) in a circle
  2. 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}”

  3. Ask any newcomers to introduce themselves to the group, and welcome them.
  4. 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.
  5. 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

Notes

Learning Objectives

Collective job hunt

Learning Objectives

Introduction

Job hunting is stressful, but you are not alone in this. It’s important to have a community of people around you to whom you can turn if you need help or support. You can do that when it comes to job hunting as well. Look for jobs together and make it less stressful by doing so.

Collective job hunt

🎯 Goal: To look for jobs collectively and understand why helping each other is important. (30 minutes)

  1. In groups of 3-4 people, find at least two job opportunities

    • Use the LinkedIn Job Search
    • Search for titles that aren’t too generic but not too narrow. For example, software engineering or software developer
    • Filter down your search using the location you want the job to be in, which is probably where your cohort is.
    • The next filter could be the seniority of the role. Entry-level is most likely what you are looking for, but a mid-level might also be suitable in some cases. Explore.
    • Agency or Company: focus on finding job opportunities directly from a company instead of an agency. Especially if you have a third or second relationship with the hiring person or anyone in that company.
    • From the outcome, each person should choose one job description, read it and decide, in the group, if and why they should add (or not) this job opportunity.
  2. Add them to the form of your cohort location: South Africa, Glasgow, North West, London, West Midlands

    • Filling in the spreadsheet correctly is very important. You can do it via the form linked above or directly in the spreadsheet
    • Add the company name, not the agency
    • The company link and the job link should be from the company website, not from LinkedIn
    • Good quality data will mean everyone has a good overview of what is going on

Discuss the needs of employers

Learning Objectives

Preparation

Bring the notes you made during prep.

Introduction

Understanding employers’ needs gives you a different perspective on how to apply for a certain job position and how to prepare for the interview. Seeing their side allows you to assess your compatibility with the company. Adjust your CV and cover letter and prepare for the interview.

Understanding the needs of employers

🎯 Goal: To understand employers’ needs and how that can benefit you. (30 minutes)

  1. Work in groups of 4-5 people.

  2. Take 20 minutes to discuss the following scenario. Write at least 2 ideas about the advantages of hiring junior developers and 2 ideas about the disadvantages.

  3. Everyone should answer them and state their view and opinion

    Imagine you are an Engineering manager at a (small/medium/large) company and planning your headcount for the next year. You are hiring a lead and two midlevel developers but are unsure about hiring more juniors. What are the advantages and disadvantages of hiring a junior?

  4. In the last 10 minutes, first each group reads aloud the disadvantages of hiring a junior developer, then each group reads aloud the advantages.

Morning Break

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

Notes

Progress check-in πŸ”—

https://curriculum.codeyourfuture.io/databases/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
  • πŸ“… Databases
  • πŸ“… Week 4
  • πŸ“… Week 1

Merge Conflict Workshop πŸ”—

DOM Merge Conflicts

This workshop contains a collection of DOM components. For this workshop, you will be creating branches for refactoring and updating the components and then resolving the merge conflicts that arise. You'll be working in pairs, learning how to handle branching, refactoring, and creating pull requests.

Overview

  • Objective: Learn to resolve merge conflicts that arise during software development
  • Activity: Update and refactor DOM components in two different Git branches
  • Duration: 1 hour

Learning Objectives

  • Describe how merge conflicts can occur in a development setting
  • Interpret a merge conflict message
  • Resolve a merge conflict while preserving changes to the code

Prerequisites

  • JS DOM syntax
  • Access to documentation
  • Some knowledge of how to run tests using Jest

Setup

  • Get into pairs
  • Before starting, ensure you create a fork of this repository on Github to use as a pair. Each person in the pair must clone down the fork of this repository from Github and navigate to the project directory

Instructions

1. Start Branching from main

Each pair will need to branch off from main. Firstly, make sure you both start on the main branch and it's up to date:

git switch main
git pull origin main

2. Choose a task

As a pair, choose one task from tasks that you will both follow.

3. Follow the task instructions until the end

Choose who will be Person 1 and who will be Person 2 and then follow the instructions in your task's directory.
Once finished, continue the instructions on this page.

Some tasks will ask you to unskip tests, remove the skip before from the appropriate describe block in this case.

4. Test your changes

Use the provided test suite to ensure your app works correctly. Run the tests according to the task's testing instructions.

5. Raise a pull request

Once you have tested your changes and are satisfied with the changes, commit your changes and push your branch to the remote repository:

git add <files-you-changed>
git commit -m "<description of change>"
git push origin [your-branch-name]

You should raise a pull request on your pair's fork of this repository.

6. Handling merge conflicts

Once you have both raised your pull requests, choose one Pull Request to review first and then merge it.

Now you will need to handle the second pull request. For this pull request, you should now have a merge conflict in the remaining pull request.

On the branch to be merged run:

git pull origin main

So that you can resolve the changes locally using Git.

Use this guide from GitHub to resolve the conflict using Git.

When you come to resolve the merge conflict, you need to make sure to keep the updates and refactors. Make sure to test that your app still works.

Once you've resolved the conflict, you should be ready to merge the second PR. Discuss with your partner whether the tasks assigned have been completed after both merges.

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.

Notes

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

Notes

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

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

Add recommended VS Code extensions πŸ”—

What does this change?

This PR introduces a curated list of recommended Visual Studio Code extensions to the module. The aim is to standardize the development environment for all trainees, ensuring they have access to essential tools and features that enhance their learning experience, and save our mentors’ time and energy.

Common Content?

This change does not directly modify the common content shared across modules but provides an essential resource that complements the existing curriculum. It ensures that all trainees, regardless of their module, have a consistent set of tools at their disposal.

  • Block/s

Common Theme?

  • Yes

Issue number: #368

Org Content?

Module

Checklist

Who needs to know about this?

@CodeYourFuture/itp-syllabus-team

Start a review
NW6 | Fathi Kahin | Module-Database | E-commerce -API-| 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.

Questions

Ask any questions you have for your reviewer.

Start a review
WM5 | AISHA_ATHMAN_LALI | MODULE_DATABASES | WEEK_3 | CYF_E-COMMERCE πŸ”—

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 CYF E-COMMERCE.

Questions

Are there better ways I could have written the queries?

Start a review
WM5 | AISHA_ATHMAN_LALI| MODULE_DATABASES | WEEK_2 | BIG-SPENDER πŸ”—

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 the big-spender database project.

Questions

Is there a better way I could have written the queries?

Start a review
NW6 | Pedro Ricciardi | Databases Module | [TECH ED] E-Commerce API | Sprint 4 πŸ”—

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 meet the requirements of this task

Changelist

All routes and tests implemented following the user stories in readme.md:

  • As a user, I want to view a list of all products with their prices and supplier names.
  • As a user, I want to search for products by name.
  • As a user, I want to view a single customer by their ID.
  • As a user, I want to create a new customer with their name, address, city, and country.
  • As a user, I want to create a new product.
  • As a user, I want to create a new product availability with a price and supplier ID, and get an error if the price is not a positive integer or if either the product or supplier ID does not exist.
  • As a user, I want to create a new order for a customer with an order date and reference number, and get an error if the customer ID is invalid.
  • As a user, I want to update an existing customer’s information with their name, address, city, and country.
  • As a user, I want to delete an existing order and all associated order items.
  • As a user, I want to delete an existing customer only if they do not have any orders.
  • As a user, I want to view all orders with their items for a specific customer, including order references, dates, product names, unit prices, suppliers, and quantities.

Issue

[TECH ED] E-Commerce API

Note

Due to a lack of time, I could not create my own acceptance criteria. I focused on the most important aspect, which is the correct implementation and testing for each route.

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.

Notes

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

Notes

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.

Notes