🏷️ backlog

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

01 Working with your team πŸ”— Clone

01 Working with your team πŸ”—

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. Please share this link with a mentor when they ask to review.

  • 🎯 Topic Communication
  • πŸ• Priority Mandatory
  • πŸ‚ Size Medium
  • πŸ“… JS1
  • πŸ“… Sprint 3
  • πŸ“… Sprint 3
  • πŸ“… JS1
  • πŸ‚ Size Medium
  • πŸ• Priority Mandatory
  • 🎯 Topic Communication
02 Complete Sprint 3 coursework πŸ”— Clone

02 Complete Sprint 3 coursework πŸ”—

https://github.com/CodeYourFuture/Module-Structuring-and-Testing-Data/tree/main/Sprint-3

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. In your fork of the coursework repo, checkout the main branch
  2. Make a new branch from main called coursework/sprint-3
  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 directories in this repo. Make a new branch for each sprint. Only change files in the sprint 3 directory.

  • πŸ• Priority Mandatory
  • πŸ‚ Size Medium
  • πŸ“… JS1
  • πŸ“… Sprint 3
  • πŸ“… Sprint 3
  • πŸ“… JS1
  • πŸ‚ Size Medium
  • πŸ• Priority Mandatory
03 Watch the VSCode Debugger Video πŸ”— Clone

03 Watch the VSCode Debugger Video πŸ”—

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
  • πŸ¦” Size Tiny
  • πŸ“… Sprint 3
  • πŸ“… JS1
  • 🏝️ Priority Stretch
  • 🎯 Topic Testing
  • 🎯 Topic Requirements
  • 🎯 Topic Communication
04 CIP Python Control Flow πŸ”— Clone

04 CIP Python Control Flow πŸ”—

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

Why are we doing this?

Revisit our old friends while loop, for loop and if statements in the world of Python. Be able to create variables of type boolean.

Maximum time in hours

6

How to get help

Come to Slack and CYF coworking spaces with your blockers.

  • 🎯 Topic Programming Fundamentals
  • πŸ• Priority Mandatory
  • πŸ“… Sprint 3
  • πŸ“… Sprint 3
  • πŸ• Priority Mandatory
  • 🎯 Topic Programming Fundamentals
05 πŸ“ Code review πŸ”— Clone

05 πŸ“ Code review πŸ”—

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.


We’re using GitHub Labels in our Code Review process. In order for a volunteer to review your pull request, you will need to add a “Needs Review” label to it.

  • Open your pull request
  • In the right sidebar, click Labels, then select “Needs Review”

Take a look at our code review process from beginning to end. Let us know if you have any questions or need help!


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

Maximum time in hours

1

  • 🎯 Topic Code Review
  • 🎯 Topic Communication
  • 🎯 Topic Programming Fundamentals
  • 🎯 Topic Teamwork
  • πŸ• Priority Mandatory
  • πŸ“… Sprint 3
  • :memo: Self evaluate
  • πŸ“… Sprint 3
  • πŸ• Priority Mandatory
  • 🎯 Topic Teamwork
  • 🎯 Topic Programming Fundamentals
  • 🎯 Topic Communication
  • 🎯 Topic Code Review
  • :memo: Self evaluate
06 πŸ«±πŸ½β€πŸ«²πŸΏ Mentored pair programming πŸ”— Clone

06 πŸ«±πŸ½β€πŸ«²πŸΏ Mentored pair programming πŸ”—

Learning Objectives

Pick one piece of programming you’re doing (we recommend a codewars kata) and pair up with a volunteer to work on it together.

See the mentored pair programming guide for guidance.

Book time with a volunteer using one of the Scheduling links in the #cyf-pair-programming slack channel’s canvas. If there are no available times, please post in #cyf-pair-programming.

Remember, as a learner, you will need to explain your thought process, plan out what to do, write the code and check it works

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 learners to prepare for technical interviews when they’ll need to code in front of other people.

Acceptance criteria

  • You have pair programmed on a piece of programming with a volunteer for at least half an hour this sprint.

Objectives

  • πŸ• Priority Mandatory
  • πŸ‡ Size Small
  • πŸ“… Sprint 3
  • :memo: Self evaluate
  • πŸ“… Sprint 3
  • πŸ‡ Size Small
  • πŸ• Priority Mandatory
  • :memo: Self evaluate
07 Codewars πŸ”— Clone

07 Codewars πŸ”—

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
  • πŸ“… Sprint 3
  • πŸ“… JS2
  • πŸ• Priority Mandatory
  • 🎯 Topic Time Management
  • 🎯 Topic Requirements
  • 🎯 Topic Programming Fundamentals
  • 🎯 Topic Problem-Solving
  • 🎯 Topic Code Review
08 Giving feedback on the e-mails πŸ”— Clone

08 Giving feedback on the e-mails πŸ”—

Coursework content

In pairs, within your groups review 1 of the 3 written emails on the issue Writing a meeting request email. Provide objective feedback and actionable improvement points for either person’s English or the 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.
  • 🏝️ Priority Stretch
  • πŸ‡ Size Small
  • πŸ“… JS1
  • πŸ“… Sprint 3
  • πŸ“… Sprint 3
  • πŸ“… JS1
  • πŸ‡ Size Small
  • 🏝️ Priority Stretch
09 Play the Bandit πŸ”— Clone

09 Play the Bandit πŸ”—

https://overthewire.org/wargames/bandit/

Why are we doing this?

Basic Linux skills are essential for roles in Cloud, DevOps, Cyber, and SRE. Junior Cloud and DevOps roles are growing in the industry; React and fullstack junior roles are becoming scarce. So it’s a good idea to practice Linux skills to make yourself more employable. At the basic level this means using a computer from the command line instead of a GUI. You will learn to use commands to move from folder to folder, to open and edit files, and to get info like the size of a file or its location. At CYF we build this skill by playing a game called The Bandit.

There are many levels, and many more games after The Bandit, but your goal is to get to Level 10 by the end of the next module.

  1. This blog post by Tanner Dolby will walk you through level 1 to 5. Yes, you get the first 5 levels done for you.
  2. Join #cyf-over-the-wire to help others.

Maximum time in hours

2

How to get help

Work through the puzzles together in #cyf-over-the-wire

Don’t share solutions in this channel, or you steal from others the opportunity of learning.

How to submit

There is no submission step. However, to apply for some roles and some courses (like CYF+ ) you must demonstrate these skills, so it would be a good idea to learn them.

Anything else?

Here’s a ChatGPT prompt you can use to get the best, most helpful learning experience:

Please act as a friendly, warm, straightforward technical mentor. You are an experienced Site Reliability Engineer who uses the terminal regularly and understands all shell commands in bash. You can explain clearly, using English mostly at CEFR B2 level, how to execute shell commands and how to navigate Linux file systems. We will be playing The Bandit, Over the Wire, shell game together. I don’t want you to give me all the answers. I want you to walk me towards the answer, helping me to find out and learn Linux commands, explaining clearly what is happening as we go. Please answer my questions carefully and do not offer code solutions, just explain in English the approach I should take and then review the commands I suggest to you. Say okee dokee if you understand.

  • 🎯 Topic Problem-Solving
  • 🎯 Topic Programming Fundamentals
  • πŸ• Priority Mandatory
  • πŸ‚ Size Medium
  • πŸ“… JS1
  • πŸ“… Sprint 3
  • πŸ“… Sprint 3
  • πŸ“… JS1
  • πŸ‚ Size Medium
  • πŸ• Priority Mandatory
  • 🎯 Topic Programming Fundamentals
  • 🎯 Topic Problem-Solving
10 Learn from rejections πŸ”— Clone

10 Learn from rejections πŸ”—

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. You don’t have to publish your personal document on the public internet, but do give access to a mentor when they ask to review.

  • πŸ• Priority Mandatory
  • πŸ‡ Size Small
  • πŸ“… JS1
  • πŸ“… Sprint 3
  • πŸ“… Sprint 3
  • πŸ“… JS1
  • πŸ‡ Size Small
  • πŸ• Priority Mandatory
Stretch: CIP Graphics πŸ”— Clone

Stretch: CIP Graphics πŸ”—

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
  • πŸ“… Sprint 3
  • 🏝️ Priority Stretch
  • 🎯 Topic Programming Fundamentals