🏷️ backlog

Module-JS2 πŸ”—

[TECH ED] Do the Chrome Debugger Mini Workshop πŸ”— Clone

https://developer.chrome.com/docs/devtools/javascript/

Why are we doing this?

For months now we have been building a toolkit to help us write great software. In our toolkit we have:

Specifications, like user stories, acceptance criteria, and Given/When/Then
Help us understand what to write and check we’ve written the right thing.

Tests, like unit tests and assertions
Help us break down our problems and check our solutions work even when we change things.

Asking questions
Help us formally reason through our problems and identify gaps in our mental models.

Playing computer
Helps us reason about code with a mental model.

Audits, like Lighthouse
Help us identify performance and quality improvements we can make to our code.

And now we can add debuggers to our toolkit.

Debuggers are tools that help us find and fix problems, or “bugs”, in our JavaScript code. They let us step through our code line-by-line while it runs to see what is happening. This helps us find the place where our mental model of the code is different from our implementation. Your browser has a debugger and so does VSCode.

Key reasons we use debuggers:

  • See what’s happening inside functions
  • Check if variables have expected values
  • Pause execution and step through slowly
  • Find exactly where mistakes happen

JavaScript debuggers give control over execution flow to methodically test and fix bugs. Complete this tutorial (it’s a 7 minute video plus tasks) to explore the Chrome Debugger.

Maximum time in hours

.5

How to get help

AI can help you here. Code along with AI so it has the context and ask it when you get stuck. Use this starting prompt:

Act as a friendly, supportive, knowledgeable programming mentor. I am learning the debugger in Chrome Devtools. I’m doing this tutorial https://developer.chrome.com/docs/devtools/javascript/

Talk me through the tutorial step by step. Wait for me to confirm I’ve completed the step before going on to the next step. When I get stuck, answer my questions in CEFR B2 English meant for an adult professional speaking in a second language. Do not rephrase the tutorial text, just explain it when I ask you. Say okee dokee if you understand, and begin with step 1.

  • 🎯 Topic Code Review
  • 🎯 Topic Requirements
  • 🎯 Topic Testing
  • πŸ• Priority Mandatory
  • πŸ¦” Size Tiny
  • πŸ“… JS2
  • πŸ“… Week 4
[TECH ED] Codewars API project πŸ”— Clone

https://github.com/CodeYourFuture/Codewars-API-Project

Why are we doing this?

This project is a preview of some of the things we’ll work on in JS3. If you’ve got capacity now, explore it. This project introduces:

  • Fetch
  • Web Components
  • JavaScript modules
  • The Codewars API

If you don’t feel you have capacity now, come back to this project after JS3

Maximum time in hours

n/a

How to get help

Read forward to JS3 for some longer explanations of these concepts

How to submit

Open a PR to the project repo - you know the drill πŸ˜‰

  • 🎯 Topic Programming Fundamentals
  • 🎯 Topic Structuring Data
  • 🏝️ Priority Stretch
  • πŸ“… Week 4
[TECH ED] Check module success criteria πŸ”— Clone

https://curriculum.codeyourfuture.io/js2/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
[TECH ED] Build slideshow app πŸ”— Clone

Look up the slideshow app in the week-3 directory to get started.

Why are we doing this?

These challenges are designed to develop your problem-solving skills.

Acceptance criteria

  • Given a web page with a carousel of images
    When the page loads
    Then the first image in the carousel should be displayed

  • Given forward and back buttons
    When the forward button is clicked
    Then the next image in the carousel should be displayed
    And
    When the back button is clicked
    Then the previous image in the carousel should be displayed

  • Given at least 4 images in the carousel
    When the user reaches the end of the carousel in either direction
    Then the carousel should loop back to the first/last image

Advanced stretch functionality

  • Given auto-forward and auto-back buttons
    When the auto-forward button is clicked
    Then the images should automatically advance every 5 seconds

When the auto-back button is clicked
Then the images should automatically go back every 5 seconds
When the stop button is clicked
Then the auto-advance/go back should stop

  • Given the carousel is auto-advancing
    When either the forward or back button is clicked
    Then the auto-advance should stop

Maximum time in hours

4

How to get help

Share your blockers in your class channel
https://syllabus.codeyourfuture.io/guides/asking-questions

How to submit

  1. Fork to your Github account.
  2. Make a branch for this project.
  3. Make regular small commits in this branch with clear messages.
  4. When you are ready, open a PR to the CYF repo, following the instructions in the PR template.
gitGraph
    commit id: "start"
    branch feature/alarmclock
    commit id: "skeleton page code"
    commit id: "Fonts and colours"
    commit id: "mobile layout"
    commit id: "lighthouse audit revisions mobile"
    commit id: "desktop layout"
    commit id: "lighthouse audit revisions desktop"
    checkout main
    merge feature/alarmclock

There are several projects in this repo. Make a new branch for each project.

  • 🎯 Topic Programming Fundamentals
  • 🎯 Topic Requirements
  • πŸ• Priority Mandatory
  • πŸ‚ Size Medium
  • πŸ“… JS2
  • πŸ“… Week 4
[TECH ED] Build todo-list app πŸ”— Clone

Look up the todo-list app in the week-3 directory to get started.

Why are we doing this?

These challenges are designed to develop your problem-solving skills.

Acceptance criteria

  • Given a todo list web application
    When the page loads
    Then the populateTodoList() function should create todo list items for each hardcoded todo
    When a todo list item is created
    Then it should contain: β˜‘ πŸ—‘ todo text
    When the checkbox icon is clicked
    Then the todo text should have strikethrough
    And the checkbox should be ticked βœ… πŸ—‘ ~todo text~

  • Given a todo list item on the page
    When the trash icon is clicked
    Then the todo list item should be deleted

  • Given a button to add new todos
    When the button is clicked
    Then a new todo should be added to the list with the checkbox and trash icons

  • Given a button to mass delete completed todos
    When the button is clicked
    Then any todos that have been checked off should be deleted

  • Given the ability to set a deadline when creating a todo
    When a deadline is set
    Then the deadline should be displayed next to the todo text

Maximum time in hours

4

How to get help

Share your blockers in your class channel
https://syllabus.codeyourfuture.io/guides/asking-questions

How to submit

  1. Fork to your Github account.
  2. Make a branch for this project.
  3. Make regular small commits in this branch with clear messages.
  4. When you are ready, open a PR to the CYF repo, following the instructions in the PR template.
gitGraph
    commit id: "start"
    branch feature/todo-list
     commit id: "skeleton page code"
    commit id: "list container"
    commit id: "single todo item"
    commit id: "manage icon states"
    commit id: "desktop layout"
    commit id: "lighthouse audit revisions desktop"
    checkout main
    merge feature/todo-list

There are several projects in this repo. Make a new branch for each project.

  • 🏝️ Priority Stretch
  • πŸ‚ Size Medium
  • πŸ“… JS2
  • πŸ“… Week 4
[PD] Your top 3 CV tips πŸ”— Clone

Coursework content

From your research on writing CVs, select the three or four concepts you think are the most important. Write a summary of these concepts in no more than 100 words.

Make sure that your spelling and grammar are correct (Grammarly is your friend).

Estimated time in hours

0.5

What is the purpose of this assignment?

Practice summarising the important information into a concise piece of text

How to submit

Attach your CV tip summary to this ticket.

  • πŸ• Priority Mandatory
  • πŸ‡ Size Small
  • πŸ“… JS2
  • πŸ“… Week 4
[PD] Give feedback on your group’s CVs πŸ”— Clone

Coursework content

Do some research (about 20 minutes) on good CVs:

Go to the CV Review channel on Slack (#cyf-profile-review) and find two CVs of people in your current group that haven’t been reviewed much. For each one, provide three or four constructive comments as a reply in the Slack channel.

Look at the comments that your group have provided to you and add a Slack reaction to thank them for their review. Make changes to your CV accordingly.

Remember that you can use an automated screener (like https://resumeworded.com/) to β€˜score’ your CV and get further suggestions on improvements.

Estimated time in hours

1.5

What is the purpose of this assignment?

Improving your CV and the CVs of your group

How to submit

Reply to the Slack thread (#cyf-profile-review) of your group
Add the link to the CVs you reviewed as a comment on your issue

  • πŸ• Priority Mandatory
  • πŸ‚ Size Medium
  • πŸ“… JS2
  • πŸ“… Week 4
[TECH ED] Review solutions for last week's coursework πŸ”— Clone

Why are we doing this?

You’ll need to regularly check solutions to evaluate your understanding.
However, you must attempt the activities first before you use the solutions.
You can find the solutions for all the assignments in this repo’s solutions branch.

Maximum time in hours

0.5

  • πŸ• Priority Mandatory
  • πŸ“… JS2
  • πŸ“… Week 4
[TECH ED] Codewars πŸ”— Clone

https://www.codewars.com/users/CodeYourFuture/authored_collections

Why are we doing this?

Every week you need to complete at least three kata. Spend at least 20 minutes, three times a week, on your kata workout.

Find the Collection for this week on the CodeYourFuture account.

Take some time to check your levels. Before you are accepted on to a Final Project on the developer track, you need to complete the Final Projects collection and reach a Level 5 kyu in Codewars. Are you on track to reach this standard? Have you run a study group to work on kata? Have you reached out on the #cyf-codewars channel? What is your plan to meet this goal?

Maximum time in hours (Tech has max 16 per week total)

1

How to get help

Remember, after 20 minutes, take a break.

How to submit

Your codewars progress is tracked automatically and is available on the public API. You don’t need to submit it.

How to review

Once you have completed your kata, look at the other solutions in the solutions view. Consider how many different approaches there are.

  • 🎯 Topic Code Review
  • 🎯 Topic Problem-Solving
  • 🎯 Topic Programming Fundamentals
  • 🎯 Topic Requirements
  • 🎯 Topic Time Management
  • πŸ• Priority Mandatory
  • πŸ“… JS2
  • πŸ“… Week 4
[TECH ED] Prepare for the live session πŸ”— Clone

Use the prep view from the CYF curriculum to prepare for this week.

Why are we doing this?

Hello folks,
In order to prepare for the upcoming Saturday session, you will need to watch the following YouTube playlist. The YouTube playlist will also point to some exercises you must complete before Saturday’s session.

We strongly recommend watching each video and practising immediately after watching a short section.

Maximum time in hours

4

How to get help

Share your blockers in your class channel. Remember to Ask Your Questions like a developer.

How to submit

Write down at least one specific technical question to bring to the group.

How to review

Come to class with your questions

  • :brain: Prep work
  • 🎯 Topic Programming Fundamentals
  • πŸ• Priority Mandatory
  • πŸ‚ Size Medium
  • πŸ“… Week 4