๐Ÿท๏ธ backlog

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

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.

  • Submit:PR
  • ๐Ÿ• Priority Mandatory
  • ๐Ÿ‚ Size Medium
  • ๐Ÿ“… Sprint 3
  • ๐Ÿ“… Sprint 3
  • ๐Ÿ‚ Size Medium
  • ๐Ÿ• Priority Mandatory
  • Submit:PR
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
  • ๐Ÿ“… Sprint 3
  • ๐Ÿฆ” Size Tiny
  • ๐Ÿฆ” Size Tiny
  • ๐Ÿ“… Sprint 3
  • ๐Ÿ๏ธ 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 MCB classes with your blockers.

  • ๐ŸŽฏ Topic Programming Fundamentals
  • ๐Ÿ• Priority Mandatory
  • ๐Ÿ“… Sprint 3
  • ๐Ÿ“… Sprint 3
  • ๐Ÿ• Priority Mandatory
  • ๐ŸŽฏ Topic Programming Fundamentals
06 ๐Ÿซฑ๐Ÿฝโ€๐Ÿซฒ๐Ÿฟ CodeBuddy pair programming ๐Ÿ”— Clone

06 ๐Ÿซฑ๐Ÿฝโ€๐Ÿซฒ๐Ÿฟ CodeBuddy 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 and if you don’t have a CB assigned yet, ask in the class channel for a volunteer to pair with you. Be aware of timings, so the earlier you ask and start coordinating with a volunteer the better.

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

  • :memo: Self evaluate
  • ๐Ÿ• Priority Mandatory
  • ๐Ÿ‡ Size Small
  • ๐Ÿ“… Sprint 3
  • ๐Ÿ“… 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
  • ๐Ÿ“… Sprint 3
  • ๐Ÿ• Priority Mandatory
  • ๐ŸŽฏ Topic Time Management
  • ๐ŸŽฏ Topic Requirements
  • ๐ŸŽฏ Topic Programming Fundamentals
  • ๐ŸŽฏ Topic Problem-Solving
  • ๐ŸŽฏ Topic Code Review
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 MCB 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.

  • This blog post by Tanner Dolby will walk you through level 1 to 5. Yes, you get the first 5 levels done for you.

Maximum time in hours

2

How to get help

Work through the puzzles and ask in your Class channel if needed.

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

How to submit

There is no submission step.

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
  • ๐Ÿ“… Sprint 3
  • ๐Ÿ“… Sprint 3
  • ๐Ÿ‚ 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
  • ๐Ÿ“… Sprint 3
  • ๐Ÿ“… Sprint 3
  • ๐Ÿ‡ 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