🏷️ backlog

Module-Data-Flows πŸ”—

[TECH ED] TV Show Project πŸ”— Clone

https://github.com/CodeYourFuture/JS3-Module-Project

Why are we doing this?

We’re doing this project to gain experience consuming data from an API and displaying it in a visually appealing way in the browser - making it easy for our users to understand.

This project should be done in a pair-swapping style as described in Getting Started. This will be a great experience as it’s actually similar to a real-world working experience where a team of developers work on a shared code base πŸ˜„

In this sprint, you will need to complete up to and including Level 500.

  • Level 300 should be done in your own repo
  • Level 400 should be done in someone else’s repo (forking their repo and raising a pull request with changes)
  • Level 500 should be done in your own repo
  • Take some time to review your project as a whole and bring it to a state that you would be happy to show a potential employer in the future πŸ˜„ The improvements you make at this stage may be to the UI and functionality (which impact the end user), but may also be to the code itself!
  • As a stretch, feel free to attempt anything from Level 999, but only after you’ve completed Level 500

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

Add a comment to this (cloned) issue with a link to:

  • Your GitHub repository
  • Your site hosted on Netlify (should be something like cyf-USERNAME-tv.netlify.app)
  • πŸ”‘ Priority Key
  • πŸ¦‘ Size Large
  • πŸ“… Sprint 3
[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 3
  • :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 Tiny
  • πŸ“… Sprint 3
[TECH ED] Codewars πŸ”— Clone

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.

You should be able to complete level 6 kata during this module. Make sure to start trying some 5kyu as well.

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. Is there something you would adopt for yourself? Revise your own solution.

  • 🎯 Topic Code Review
  • 🎯 Topic Problem-Solving
  • 🎯 Topic Programming Fundamentals
  • 🎯 Topic Requirements
  • 🎯 Topic Time Management
  • πŸ• Priority Mandatory
  • πŸ“… Sprint 3
  • πŸ“… JS2
[TECH ED] Code Along APIs and Fetch πŸ”— Clone

https://github.com/CodeYourFuture/CodeAlong-NumberFacts

Why are we doing this?

Now that you’ve learned about APIs and how to connect with them, let’s apply it in the context of a complete application. In the following assignment, you’ll be coding along with somebody as they make an API call to an external, public API.

Don’t just watch this video. You must code along for active learning. This will help you to understand what exactly the presenter is doing.

A couple of notes:

  1. The video uses a UI framework called Bootstrap - you don’t need to use Bootstrap. Do not spend time learning about Bootstrap - it’s a distraction. It’s up to you how much time you want to spend on the visual styling of your website. It’s ok if it’s completely unstyled, or if you want to make it pretty.
  2. The video uses two different ways of calling an API - XmlHttpRequests and fetch. You can ignore the XmlHttpRequest way, and just use fetch.

https://www.youtube.com/watch?v=tUE2Nic21BA

Maximum time in hours

2

How to get help

Try this codealong in a study group.

How to submit

    Fork the repo to your own GitHub account
    Make regular small commits with clear messages
    When you are ready, open a Pull Request to the CYF repo
    Make sure you fill in the PR template provided

How to review

  1. Complete your PR template
  2. Ask for review from a classmate or mentor
  3. Make changes based on their feedback
  4. Review and refactor again once the coursework solutions are released.
  • 🎯 Topic Programming Fundamentals
  • 🎯 Topic Requirements
  • 🏝️ Priority Stretch
  • πŸ‚ Size Medium
  • πŸ“… JS3
  • πŸ“… Sprint 3
[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 more 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.

Your goal is to get to Level 30 by the end of this module.

Try to get to at least level 26 this week.

Maximum time in hours

1

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.

And remember: every time ChatGPT offers code you must write “Is this valid” before you continue. ChatGPT makes up invalid code all the time.

  • 🎯 Topic Problem-Solving
  • 🎯 Topic Programming Fundamentals
  • πŸ• Priority Mandatory
  • πŸ‚ Size Medium
  • πŸ“… JS3
  • πŸ“… Sprint 3
[TECH ED] Hammock Driven Development πŸ”— Clone

https://github.com/matthiasn/talk-transcripts/blob/master/Hickey_Rich/HammockDrivenDev.md

Why are we doing this?

Here’s the video of this talk https://www.youtube.com/watch?v=f84n5oFoZBc

All the way through this course, we are trying to teach you one Big Idea: programming is problem solving.

We never want you to have no problems on this course! We want you to find problems and then solve them. The more problems you have, the better you are doing.

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

0

How to submit

Share a solution in your class channel – write up your troubleshooting process and the solution you found for any problem.

  • 🎯 Topic Problem-Solving
  • 🏝️ Priority Stretch
  • πŸ‚ Size Medium
  • πŸ“… JS3
  • πŸ“… Sprint 3
[TECH ED] Coursework feedback πŸ”— Clone

https://github.com/CodeYourFuture/Module-Data-Flows/issues/

Why are we doing this?

The CYF curriculum is an open source project. Like all software, it is continually revised and improved in iterations.

Help improve the curriculum by giving quick emoji feedback on any assignment.

Screenshot 2024-02-23 at 14 06 56

Feedback on this assignment by pressing the emoji reaction button on the top comment.

Emoji Key

πŸ‘ = Useful πŸ‘Ž = Not useful

πŸš€ = Way too much time given πŸ˜• = Not enough time given

You are invited to give feedback on any assignment in this way. Do this on the CYF issue, not your copy, so CYF can track it using the GitHub reactions API.

Maximum time in hours

.05

How to submit

Click the emoji button on the first post on any coursework assignment.

  • 🎯 Topic Iteration
  • 🎯 Topic Teamwork
  • 🏝️ Priority Stretch
  • πŸ¦” Size Tiny
  • πŸ“… JS3
  • πŸ“… Sprint 3
[TECH ED] JavaScript Challenges πŸ”— Clone

https://github.com/CodeYourFuture/Module-Data-Flows/tree/main/challenges

Why are we doing this?

If you’re completing the coursework with time to spare, you’re not getting the most you can out of your time here. Stretch yourself with extra challenges.

No time given as this is a stretch goal.

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

0

How to get help

Share your blockers in your class channel.

How to submit

  1. Fork to your Github account.
  2. When you are ready, open a PR to a CYF repo.

How to review

  1. Complete your PR template
  2. Ask for review from a classmate or mentor
  3. Make changes based on their feedback
  4. Review and refactor again once the coursework solutions are released.
  • 🎯 Topic Problem-Solving
  • 🎯 Topic Programming Fundamentals
  • 🏝️ Priority Stretch
  • πŸ‚ Size Medium
  • πŸ“… JS3
  • πŸ“… Sprint 3
[PD] Resilience learning points and suggestions πŸ”— Clone

Coursework content

Watch the following video and read the articles. How do you think CYF can improve the PD session on resilience? Share 5 of your own learning points and 3 new suggestions for us to make the session even better.

Estimated time in hours (PD has max 4 per week total)

1

What is the purpose of this assignment?

This assignment will help you deepen your understanding of resilience, strengthen your skills, and support future cohorts that will attend CYF.

How to submit

Attach the link of your Google doc to this ticket on your board.

Anything else?

Optional video list: The benefits of failure

  • πŸ• Priority Mandatory
  • πŸ‡ Size Small
  • πŸ“… Sprint 3
  • Topic Confidence
[PD] Changing fixed mindset πŸ”— Clone

Coursework content

Watch this video. Think about a fixed mindset you currently have. Try and pick one relating to programming or your career. Make a new post in your cohort’s Slack channel where you briefly describe your situation and ask for help on changing your mindset. Additionally, you should also make a comment on one of your peers’ posts to help them.

Estimated time in hours (PD has max 4 per week total)

1

What is the purpose of this assignment?

When you complete this assignment, you will reflect on and learn from a past experience. You will also provide your peers feedback and help them adopt a growth mindset.

How to submit

  • Attach the screenshots of your Slack post as a comment on this issue
  • Attach a screenshot of your comment to someone else’s post as a screenshot on this issue
  • πŸ• Priority Mandatory
  • πŸ‡ Size Small
  • πŸ“… JS3
  • πŸ“… Sprint 3
  • Topic Confidence
[PD] Review your peers' LinkedIn profile πŸ”— Clone

Coursework content

Review your Teamwork Project team members’ LinkedIn profiles and provide constructive feedback.

Consider the information added to their profile, their photos, their transferrable skills, if you can spot any grammar or spelling mistakes, what they’ve posted recently and how they are interacting on it.

When giving feedback, remember that this is an important moment to give your peer a present.

  • Describe what you can see/evaluate on their LinkedIn page
  • Explain why you think it is good with a clear example
  • Explain the impact of it, either positive or negative
  • Have a conversation about it

Estimated time in hours (PD has max 4 per week total)

1

What is the purpose of this assignment?

Code Your Future believes in collective intelligence, which focuses on openness and sharing. This assignment will allow you to support your peers and learn from each other.

How to submit

  • Share the screenshot of your feedback on this issue.
  • If you provided feedback in person, write it down and add it as a comment on this issue.
  • 🎯 Topic Communication
  • πŸ• Priority Mandatory
  • πŸ‡ Size Small
  • πŸ“… JS3
  • πŸ“… Sprint 3
πŸ§‘πŸΎβ€βš–οΈ Check module success criteria πŸ”— Clone

https://programming.codeyourfuture.io/data-flows/success/

Why are we doing this?

πŸ”‘ The most important thing is that you are secure in your understanding.

At the end of the course, we will expect you to build novel applications using your understanding. If you cannot build things, we cannot put you forward for jobs. It is in your personal interest to make sure you have properly understood this module.

To progress to the next module you need to meet the success criteria for this module. How will you as a cohort meet the module success criteria? Discuss it in your class channel and make a plan together.

Strategies

πŸ§‘πŸΏβ€πŸŽ€ good strategies

  • asking volunteers to review your code
  • helping each other with coursework blockers
  • arranging midweek study sessions
  • using Saturday time to review code and cohort tracker

πŸ™…πŸΏ bad strategies

  • opening empty PRs
  • copying and pasting
  • breaking the Trainee Agreement
  • mistaking the measure for the target

Maximum time in hours

.5

How to get help

Discuss with your cohort. Support each other.

How to submit

At the end of your module you will need to submit your own work in the CYF dashboard. This means things like pull requests you have written sent from your GitHub account, and Google Docs you have written.

What you need to submit is listed on the success page for the module.

Remember - the goal is your understanding. If you are not confident you could delete and re-do the work you’re submitting easily, you should take more time to revise the topics. It’s more important that you understand the work, than that it gets done quickly.

  • 🎯 Topic Code Review
  • 🎯 Topic Communication
  • 🎯 Topic Delivery
  • 🎯 Topic Requirements
  • 🎯 Topic Teamwork
  • 🎯 Topic Testing
  • 🎯 Topic Time Management
  • πŸ• Priority Mandatory
  • πŸ¦” Size Tiny
  • πŸ“… JS3
  • πŸ“… Sprint 1
  • πŸ“… Sprint 3
[TECH ED] Stretch: Consider Tracks πŸ”— Clone

If you are confident you have finished the course (i.e. you meet the Success criteria for all modules), and have spare time, you may want to consider self-guiding yourself through some of the Tracks available.

Do not start learning Tracks until you are finished with this course! It is more important that you understand what you know really well, than that you understand lots of things.

See https://tracks.codeyourfuture.io/ for available tracks.

  • :brain: Prep work
  • 🎯 Topic Functional Programming
  • 🎯 Topic Requirements
  • 🏝️ Priority Stretch
  • πŸ‚ Size Medium
  • πŸ“… JS3
  • πŸ“… Sprint 3
[TECH ED] Codewars API Project πŸ”— Clone

https://github.com/CodeYourFuture/Codewars-API-Project

Why are we doing this?

Let’s play with grabbing some data from an API and displaying it on a website. We will be using the the Fetch API to make requests to the Codewars API and the Web Components API to display the data we get back. Let’s go!

Learning Objectives

  • - Explain how components are used in web development
  • - Adapt an existing web component to show your own data
  • - Extend this web component to present more data from the Codewars API
  • - Create a new web component that presents data from the Codewars API

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

0

How to get help

Did you know this is basically how your Codewars is tracked by your mentors? Ask them

How to submit

As always, open a PR to the repo and ask for a review in #cyf-code-review

Anything else?

Feedback on this assignment by pressing the emoji reaction button on this comment.

Emoji Key

πŸ‘ = Useful πŸ‘Ž = Not useful

πŸš€ = Way too much time given πŸ˜• = Not enough time given

  • 🎯 Topic Programming Fundamentals
  • 🏝️ Priority Stretch
  • πŸ‚ Size Medium
  • πŸ“… JS3
  • πŸ“… Sprint 3