🏷️ 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.


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

  • πŸ• Priority Mandatory
  • πŸ“… Sprint 2
  • :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 2
  • :memo: Self evaluate
[TECH ED] Codewars πŸ”— Clone

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 2
  • πŸ“… JS2
[TECH ED] Play the CLI Treasure Hunt πŸ”— Clone

https://github.com/CodeYourFuture/CLI-Treasure-Hunt

Why are we doing this?

Alongside learning JavaScript and Python, you need to become familiar with the basics of the command line. The command line is how you talk directly to your computer, instead of pointing and clicking at areas on a screen to trigger actions.

All interfaces are limited sets of possible interactions with data, arranged in ways (with words, colours, pictures, pixels) to guide the user towards the information they want. Clicking a link on a screen is really no different to typing cd Clues/Where . In both cases you are changing to a new directory. The difference is only in the interface you use to issue the command. Do not confuse the method with the goal.

I really want you all to understand this deeply and think about it many times over the course of your career. Do not decide you are “front end” or “back end” or limit your understanding in these ways. A CLI is an interface. An API is an interface. A GUI is an interface. All interfaces are maps. It’s how we travel around data to find what we need.

The map is not the territory.

Maximum time in hours

1

How to get help

Share your blockers in your class channel.

How to submit

  1. Clone the repo git@github.com:CodeYourFuture/CLI-Treasure-Hunt.git
  2. Open the folder in VSCode
  3. Open the terminal inside VSCode
  4. Type node clue.js to start

The submission clue is inside the treasure hunt.

Anything else?

In the Beginning was the Command Line ~ Neal Stephenson, 1999

  • 🎯 Topic Communication
  • 🎯 Topic Programming Fundamentals
  • 🎯 Topic Structuring Data
  • πŸ• Priority Mandatory
  • πŸ‡ Size Small
  • πŸ“… Sprint 2
[TECH ED] CIP Python Control Flow πŸ”— Clone

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 2
[PD] Writing a meeting request email πŸ”— Clone

Coursework content

Write 3 meeting request emails for 3 different scenarios:

  • Booking a meeting and giving it context/agenda
  • Disagreeing with a team member’s idea
  • Come up with a scenario that is relevant to you and you’d like to practice for it

Keep in mind: max 3 grammatical errors for all 3 emails.

Estimated time in hours

1

What is the purpose of this assignment?

To learn how to write a professional email. To learn how to effectively communicate via email.

How to submit

Share the link to the Google doc with your email scenarios as a comment on this issue. Make sure the doc can be commented on by anyone.

  • 🎯 Topic Communication
  • πŸ• Priority Mandatory
  • πŸ‡ Size Small
  • πŸ“… JS1
  • πŸ“… Sprint 2
[PD] Asking for feedback πŸ”— Clone

Coursework content

Invite one fellow trainee from the class you have worked with this week for a feedback session. Arrange the call so you can give and receive feedback and get more insight into how you are progressing with your learning.

Read about the different frameworks of feedback on Quercus, so you can think about how you will structure the feedback to be given.

Estimated time in hours

1

What is the purpose of this assignment?

To provide and receive constructive feedback on your and your peers’ behaviours in the last class.

How to submit

  1. Prepare the feedback for your peer. You must have at least 1 positive and 1 to be developed example.
  2. When you receive the feedback, please remember your active listening techniques.
  3. Write a 250 words essay reflecting on your strengths and development areas as a result of their feedback and what is one action for each you will take.

Anything else?

Remember to update your Development Plan, if applicable.

  • πŸ• Priority Mandatory
  • πŸ‡ Size Small
  • πŸ“… JS1
  • πŸ“… Sprint 2
[TECH ED] Complete Sprint 2 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 Large
  • πŸ“… JS1
  • πŸ“… Sprint 2
[TECH ED] Play the Bandit πŸ”— Clone

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 this 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 2