π·οΈ 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?
- π― 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 π
Link to the 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
- Checkout
main
- Make a branch from
main
called acoursework/sprint-2` - Make regular small commits in this branch with clear messages.
- 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
Link to the coursework
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
- Clone the repo git@github.com:CodeYourFuture/CLI-Treasure-Hunt.git
- Open the folder in VSCode
- Open the terminal inside VSCode
- 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 π
Link to the coursework
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
- Prepare the feedback for your peer. You must have at least 1 positive and 1 to be developed example.
- When you receive the feedback, please remember your active listening techniques.
- 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