🏷️ backlog

Module-Structuring-and-Testing-Data πŸ”—

[TECH ED] πŸ“ Code review πŸ”— Clone

Why are we doing this?

Code review is an essential part of self-evaluation. Get a code review for a piece of work; then reply and iterate on this feedback.

You can also use any solutions to review your code independently.

Maximum time in hours

1

  • πŸ• Priority Mandatory
  • πŸ“… Sprint 3
  • :memo: Self evaluate
[TECH ED] πŸ«±πŸ½β€πŸ«²πŸΏ Pair program πŸ”— Clone

Instructions

  1. Pair up with a volunteer and work on a kata together
  2. As a trainee, you will need to explain your thought process, plan out what to do, write the code and check it works
  3. Volunteers will need to ask questions to check your understanding, provide guidance if you stuck, give honest and meaningful feedback

🧭 Guidance for volunteers

  • Don’t take over! It’s important trainees get used to figuring things out. Provide guidance and assistance but trainees need to struggle to overcome any obstacles with understanding and technical communication
  • Give honest feedback. Trainees can’t develop if they don’t receive honest feedback about their progress.
  • Ask questions. Sometimes asking a clarifying question can help learners discover errors and often promotes more thoughtful responses.
  • Encourage best practices. Reinforce good practices like reading error messages carefully sessions and checking documentation.

Why are we doing this?

Pair programming is an excellent way to develop programming and communication skills. It is often much easier to work through something when working on something 1 to 1. It is also helps our trainees to prepare for technical interviews when they’ll need to code in front of other people.

Acceptance criteria

  • You have pair programmed on a kata with a volunteer for at least one hour
  • πŸ• Priority Mandatory
  • πŸ‡ Size Small
  • πŸ“… Sprint 3
  • :memo: Self evaluate
[TECH ED] Codewars πŸ”— Clone

From Module-Structuring-and-Testing-Data created by SallyMcGrath: CodeYourFuture/Module-Structuring-and-Testing-Data#26

From Module-Structuring-and-Testing-Data created by SallyMcGrath: CodeYourFuture/Module-Structuring-and-Testing-Data#25

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 module on the CodeYourFuture account.

Take some time to check your levels. Before you are accepted on the jobs programme, you need to 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
  • πŸ“… Sprint 3
  • πŸ“… JS2
[TECH ED] CIP Graphics πŸ”— Clone

https://codeinplace.stanford.edu/public/studenthome

Why are we doing this?

Learn how to draw shapes on a graphical canvas using Python! Create rectangles, circles, and images. This is the first step towards graphical user applications or exciting games.

Maximum time in hours

6

How to get help

Come to Slack and CYF coworking spaces with your blockers.

  • 🎯 Topic Programming Fundamentals
  • 🏝️ Priority Stretch
  • πŸ“… Sprint 3
[PD] Working with your team πŸ”— Clone

Coursework content

Invite one person (fellow trainee or a volunteer) from the class you have worked with this week and arrange a call. Ask for their feedback to help you get more insight into how you are progressing with your learning.

Write a 250-word essay reflecting on your strengths and development areas as a result of their feedback.

Estimated time in hours

2

What is the purpose of this assignment?

To provide and receive constructive feedback.

How to submit

Share the link to the Google doc of your reflections on your ticket. Make sure the document is open to view and comment by anyone.

  • 🎯 Topic Communication
  • πŸ• Priority Mandatory
  • πŸ‚ Size Medium
  • πŸ“… JS1
  • πŸ“… Sprint 3
[PD] Learn from rejections πŸ”— Clone

Coursework content

Everyone experiences rejection. Learning from past examples helps us to deal with the possible future instances. Think of some situations where you felt rejected. Perhaps you didn’t get on a sports team or didn’t get offered a job. Write a 250-word text about this personal experience. Try to answer the following questions:

  • What did you learn as a result of this rejection?
  • Did the experience teach you more about yourself?
  • What positive things came out of the rejection (perhaps not immediately, but later)?
  • How would you recommend other people to behave in that situation?

Estimated time in hours

1

What is the purpose of this assignment?

This assignment will help you to reflect on personal rejection instances and make you realise how you can benefit from them.

How to submit

Share the link to the Google doc of your reflections on your ticket. Make sure the document is open to view and comment by anyone.

Anything else?

n/a

  • πŸ• Priority Mandatory
  • πŸ‡ Size Small
  • πŸ“… JS1
  • πŸ“… Sprint 3
[PD] Ask a good question for real πŸ”— Clone

Coursework content

You need to practice any skills to get good at them. Your homework is to ask your cohort a β€œGood Question” on the Slack channel when you next have a genuine issue you need help with.

Remember:

  • Identify one problem at a time to ask about
  • Say what research you’ve already done to try and resolve the problem yourself
  • Be specific about the problem
  • Be polite and respectful of the person you are asking.
  • Be concise (minimal reproducible example) - only give the relevant code snippets or errors messages
  • Choose who to ask based on their general expertise, availability, distance from you in the team or who you haven’t asked before.
  • Refer to documentation, other code, and discussions with specific links.
  • Show what happens when you try your solution.
  • Explain what you expected or wanted from your solution.

When others post their good questions, give them feedback on how good they are, along with any constructive feedback on how they might improve. And if you can, answer their question!

Estimated time in hours

1

What is the purpose of this assignment?

Consolidates learning via a plan to practice asking a good question the next time you are stuck. Trainees can evaluate the questions others ask and give answers if they know.

How to submit

  • Add the screenshot of the good question you posted on the Slack channel to this issue
  • Respond to others’ questions with a thumbs up for β€œWell written question” and add comments on what you liked about the question and any suggestions for how the question can be further improved. Share the screenshot of your reaction or comment on this ticket.
  • You can also answer other people’s questions if you know the answer!

Anything else?

How to ask good technical questions How to ask good questions - Julia Evans Don’t ask to ask

  • πŸ‡ Size Small
  • πŸ”‘ Priority Key
  • πŸ“… JS1
  • πŸ“… Sprint 3
[PD] Giving feedback on the e-mails πŸ”— Clone

Coursework content

In pairs, within your groups review 1 of the 3 written emails. Provide objective feedback and actionable improvement points for either person’s English or content itself. You can do this in person or via a call. Later send it in writing to your peer.

Estimated time in hours

1

What is the purpose of this assignment?

To learn how to give feedback in person and writing.

How to submit

  • Share the link to your written feedback as a comment on this issue
  • Share a screenshot of it, too, on this ticket.

Anything else?

  • 🏝️ Priority Stretch
  • πŸ‡ Size Small
  • πŸ“… JS1
  • πŸ“… Sprint 3
[TECH ED] Complete Sprint 3 exercises πŸ”— Clone

https://github.com/CodeYourFuture/Module-Structuring-and-Testing-Data

Why are we doing this?

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

Maximum time in hours

6

How to get help

Share your blockers in your class channel https://curriculum.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.

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

  • πŸ• Priority Mandatory
  • πŸ‚ Size Medium
  • πŸ“… JS1
  • πŸ“… Sprint 3
[TECH ED] Portfolio: branch to branch πŸ”— Clone

https://github.com/CodeYourFuture/Portfolio/tree/Module-JS-1

Why are we doing this?

You will slowly iterate on your Portfolio over the whole course of CYF. You need to build your portfolio so you can use it to get into The Launch module, and then later use it to apply for jobs.

This module we’re exploring a branch to branch pattern in Git. Read the readme carefully and follow the instructions.

Bring your portfolio to class to get help and feedback from your community. Writing a great case study will help you understand how to explain and present your work to recruiters and employers. Your first case study doesn’t have to be great, don’t panic!

Explore and revise

  • Review a colleague’s case study
  • Do your review on their PR on the Portfolio repo, using the GitHub Code Review interface

Maximum time in hours

1

How to get help

Bring your portfolio to class to get help and feedback from your community. Taking the reviewer role will help you put yourself in the shoes of a recruiter or employer (who does not know you) reading a portfolio. Understanding this perspective will make your own portfolio better. What context is missing from the case study you are reading?

How to submit

Use the GitHub Code review interface on https://github.com/CodeYourFuture/Portfolio/pulls

  • πŸ• Priority Mandatory
  • πŸ‡ Size Small
  • πŸ“… JS1
  • πŸ“… Sprint 3
[TECH ED] Watch the VSCode Debugger Video πŸ”— Clone

https://code.visualstudio.com/docs/introvideos/debugging

Why are we doing this?

🧰 We are building a toolkit to help us write great software. In our toolkit we are collecting skills with:

πŸ“ 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 Helps 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. Watch the first four minutes of the video and then explore the VSCode Debugger on your machine.

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 VSCode.Talk me through the interface step by step. Provide a simple example of a Node script with a bug in it and walk me through finding the bug by setting breakpoints with the debugger. Don’t tell me what the bug is. When I get stuck, answer my questions in CEFR B2 English meant for an adult professional speaking in a second language. When I ask for hints, give me useful pointers. Say okee dokee if you understand and begin your walkthrough.

Remember to use careful prompting when you don’t understand, so you get real learning out of the exchange. Say things like:

The execution is paused and it shows me that is undefined and is undefined, but I don’t understand why it says that. Can you explain this to me?

And remember you should always ask your friendly humans in Slack when you get really stuck. This coursework will be set again in later modules, so if it’s beyond you right now, you’ll pick it up later.

  • 🎯 Topic Communication
  • 🎯 Topic Requirements
  • 🎯 Topic Testing
  • 🏝️ Priority Stretch
  • πŸ¦” Size Tiny
  • πŸ“… JS1
  • πŸ“… Sprint 3