🏷️ backlog

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

01 Ask a good question for real πŸ”— Clone

01 Ask a good question for real πŸ”—

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?

CYF Asking Good Questions Guide

  • 🎯 Topic Communication
  • 🎯 Topic Problem-Solving
  • πŸ‡ Size Small
  • πŸ”‘ Priority Key
  • πŸ“… JS1
  • πŸ“… Sprint 2
  • πŸ”‘ Priority Key
  • πŸ“… Sprint 2
  • πŸ“… JS1
  • πŸ‡ Size Small
  • 🎯 Topic Problem-Solving
  • 🎯 Topic Communication
02 Complete Sprint 2 coursework πŸ”— Clone

02 Complete Sprint 2 coursework πŸ”—

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

Why are we doing this?

These challenges are designed to develop your problem-solving skills. It’s all about building up programs case by case, writing a simple unit test that describes and tests each assertion.

This is a practice of logical reasoning.

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. Checkout main
  2. Make a branch from main called acoursework/sprint-2`
  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 three sprint directories in this repo. Make a new branch from main for each sprint.

  • πŸ• Priority Mandatory
  • πŸ¦‘ Size Large
  • πŸ“… JS1
  • πŸ“… Sprint 2
  • πŸ¦‘ Size Large
  • πŸ“… Sprint 2
  • πŸ“… JS1
  • πŸ• Priority Mandatory
03 Play the CLI Treasure Hunt πŸ”— Clone

03 Play the CLI Treasure Hunt πŸ”—

Learning Objectives

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

Learning objectives

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
  • πŸ“… Sprint 2
  • πŸ‡ Size Small
  • πŸ• Priority Mandatory
  • 🎯 Topic Structuring Data
  • 🎯 Topic Programming Fundamentals
  • 🎯 Topic Communication
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
  • πŸ• Priority Mandatory
  • πŸ“… Sprint 2
  • :memo: Self evaluate
  • πŸ“… Sprint 2
  • πŸ• Priority Mandatory
  • 🎯 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 thirty minutes this sprint.

Objectives

  • 🎯 Topic Communication
  • 🎯 Topic Problem-Solving
  • 🎯 Topic Teamwork
  • πŸ• Priority Mandatory
  • πŸ‡ Size Small
  • πŸ“… Sprint 2
  • :memo: Self evaluate
  • πŸ“… Sprint 2
  • πŸ‡ Size Small
  • πŸ• Priority Mandatory
  • 🎯 Topic Teamwork
  • 🎯 Topic Problem-Solving
  • 🎯 Topic Communication
  • :memo: Self evaluate
07 Writing a meeting request email πŸ”— Clone

07 Writing a meeting request email πŸ”—

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
  • πŸ“… Sprint 2
  • πŸ“… JS1
  • πŸ‡ Size Small
  • πŸ• Priority Mandatory
  • 🎯 Topic Communication
08 Codewars πŸ”— Clone

08 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.

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

1

How to get help

  • Join the #cyf-codewars Slack channel
  • Pair program with a peer or mentor

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
  • πŸ“… Sprint 2
  • πŸ“… JS2
  • πŸ• Priority Mandatory
  • 🎯 Topic Time Management
  • 🎯 Topic Requirements
  • 🎯 Topic Programming Fundamentals
  • 🎯 Topic Problem-Solving
  • 🎯 Topic Code Review
09 Asking for feedback πŸ”— Clone

09 Asking for feedback πŸ”—

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
  • πŸ“… Sprint 2
  • πŸ“… JS1
  • πŸ‡ Size Small
  • πŸ• Priority Mandatory