🏷️ backlog

Module-User-Focused-Data πŸ”—

[TECH ED] Prepare for the Asking Questions workshop πŸ”— Clone

https://github.com/CodeYourFuture/CYF-Workshops/tree/main/asking-questions

Why are we doing this?

Before you come to class, you need to make sure you are ready to participate in the workshop.

For this workshop you will need:

Make sure you come to class having looked over what you will be doing.

Maximum time in hours

0.15

How to get help

Share your blockers in your class channel. Practice asking good questions, with links and context.

How to submit

No submission step.

  • πŸ• Priority Mandatory
  • πŸ‚ Size Medium
  • πŸ“… Sprint 2
[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.

You can also use any solutions to review your code independently.

Maximum time in hours

1

  • πŸ“… 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] Form Controls πŸ”— Clone

https://github.com/CodeYourFuture/Module-User-Focused-Data/tree/main/Form-Controls

Why are we doing this?

Aims

  1. Interpret requirements
  2. Write a valid form
  3. Style form controls
  4. Test with Devtools
  5. Refactor using Devtools

For this project, you will need to make decisions yourself and explore your own code with Devtools. What blockers will you encounter? How will you get help to solve them? Come to class with questions.

Maximum time in hours

4

How to get help

Share your blockers in your class channel. Use the opportunity to refine your skill in Asking Questions like a developer.

How to submit

Remember that you should switch to the main branch before creating a new branch.

  1. Fork to your Github account.
  2. Switch to the main branch
  3. Make a branch for this project
  4. Make regular small commits in this branch with clear messages.
  5. 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. This might feel challenging at first, so this is a good problem to bring to class to work on in groups with mentors.

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 next week

Anything else?

There are a couple of useful ideas in this project that you can explore further:

  1. Learning HTML properly. Many web developers skip straight to JavaScript and don’t take the time to learn and properly understand HTML or CSS. This can lead them to writing elaborate and pointless JS code to recreate things that exist already in native HTML. These JS components usually don’t have as many features as native HTML and often don’t work well with other APIs. Many web developers don’t really know that there are other APIs interacting with API, not just the DOM.

Properly understanding HTML and the DOM will make you a powerful and unusual web developer.

  1. Refactoring your code every single time. Many developers just add more and more code, especially with CSS, until they have a giant, frightening code mountain that they do not understand and cannot change. But requirements can and do change all the time. So making sure every time you write something you check you need it, and you remove everything you don’t need will make your code simple, powerful, precise, and clear.

Finding the simplest thing that can possibly work will make you a powerful and unusual web developer.

  • 🎯 Topic Requirements
  • 🎯 Topic Structuring Data
  • 🎯 Topic Testing
  • πŸ‚ Size Medium
  • πŸ”‘ Priority Key
  • πŸ“… HTML-CSS
  • πŸ“… Sprint 2
[TECH ED] Record a Goose πŸ”— Clone

https://github.com/CodeYourFuture/CYF-Record-A-Goose-Project

Why are we doing this?

A mission of discovery for you.

  1. Go to https://github.com/CodeYourFuture/CYF-Record-A-Goose-Project
  2. Using Devtools, Lighthouse, and the WAVE accessibility plugin, find all the ways this app is broken
  3. How would you fix the problems? Discuss in a thread in your channel.

This is also a fun in-person workshop, so you could choose to do it in a class or coworking space together.

https://record-a-goose.onrender.com/

Maximum time in hours

2

How to get help

You could choose to do this in class together during independent study time.

How to submit

Write up your findings in a thread in your class channel.

Don’t make a new post each. Discuss in a thread.

How to review

It is a review! ;)

Anything else?

https://developer.chrome.com/docs/lighthouse/overview/ https://wave.webaim.org/extension/ https://accessibilityinsights.io/docs/web/overview/ https://design-system.service.gov.uk/

  • 🎯 Topic Code Review
  • 🎯 Topic Testing
  • πŸ• Priority Mandatory
  • πŸ‚ Size Medium
  • πŸ“… HTML-CSS
  • πŸ“… Sprint 2
[PD] Update your Development plan πŸ”— Clone

Coursework content

Your Development plan is a valuable tool for your career and helps you define what you want to develop.

Open the Development Plan you created previously and use the below information to update it:

  • My skills and strengths: describe your technical and non-technical skills (it should be 50%-50%) . Think about your personal statement and your transferrable skills
  • My goal: e.g. I will develop {LISTED COMPETENCIES} to target {SPECIFIC JOB}. You have learned to create SMART goals, so practice it.
  • My structured plan: consider the following questions when working on this
    • Where am I going?
    • What do I need to get there?
    • What do I have already?
    • How will I get the rest?
    • When do I want it to be done?

Estimated time in hours

1

What is the purpose of this assignment?

Create the habit of reviewing your development plan and updating it, closing goals you have achieved and adding new ones. Also, use the knowledge you learn during the course, for example, writing goals in a SMART way.

How to submit

  1. Update your Development Plan
  2. Share your Development Plan with a peer for them to give you feedback
  3. Give feedback on your peer’s Development Plan
  4. Add a comment on this issue with the link to your development plan (make sure it is a link anyone can view)
  5. Add a comment about what feedback you received and gave. You can add screenshots for these comments.

Anything else?

  • πŸ‡ Size Small
  • πŸ“… Sprint 2
[PD] Feeling, behaving and acting like a professional in the software industry πŸ”— Clone

Coursework content

You are back to your Plan your Life as a Developer.

This plan is not something that you can finalise in a short period. You’ll need to go back to it a few more times if you’d like to find an honest description of your current week and identify the necessary changes to it.

As a week will have passed since you did it, you can compare what you wrote with the reality of the week that passed.

Reflections on your current plan.

  • How much energy did you have when you sat down to study and work on CYF projects?
  • How tired or distracted were you?
  • How many interruptions did you get?

Other areas to reflect:

  • On your work (or other studies), did you work longer hours than what you planned? What happened?
  • Were there any activities that you dedicated more time to it than what you expected?
  • How is your sleep?
  • Do you manage to feel rested in the morning?
  • How do you start your day?

Reflecting on this, think about these two topics:

  1. What changes you might need to bring to your life.
  2. Define their short/medium/long-term goals.

Then:

  • Add these two items to your existing Google Doc. (Reminder: minimum 50 words each and reviewed with an automated grammar tool)
  • Share them with your pair.
  • Discuss with them, so you can identify anything that is missing, if what you are planning is realistic, or if it is just right.

Estimated time in hours

1.5

What is the purpose of this assignment?

You are getting a deeper understanding of what blockers and distractions that hold you up. But now, you also have to start thinking about what can you do to change this situation and what goals can you start putting in place.

How to submit

  • Create a document with the following titles and add your reflections to it: - Summary of my current situation - My current plan - What distractions do I have / My energy levels during the study - Original plans I had after I finished the training
  • Share your document with 1-2 people with similar situations or experiences
  • Discuss your document with them to get some input
  • Add the link to this document as a comment on this issue. Your document can be private and shared only with your mentor.
  • πŸ‚ Size Medium
  • πŸ”‘ Priority Key
  • πŸ“… HTML-CSS
  • πŸ“… Sprint 2
[PD] Budget for shift work (only for people without fixed income) πŸ”— Clone

Coursework content

In a Google sheet, make a budget of how much money you make on average on your shift work, including the hours you work and all the expenses related to it (transportation, fuel, repair costs).

Is your shift work worthwhile doing compared to other types of work?
Check out freelancer-vs-contractor-vs-permanent-employee to understand the differences.

Reflect on what changes you might need to bring to your life.
- Summary of my current situation - My current plan - What distractions do I have / My energy levels during the study - Original plans I had after I finished the training
- Define them in short/medium/long-term goals

Estimated time in hours

0.5

What is the purpose of this assignment?

This exercise is for you to get a job in tech, whilst focussing on the right things and still having enough money to pay your bills.

How to submit

Optional: you can discuss it with a peer or volunteer to get their feedback and insights.

Anything else?

n/a

  • 🏝️ Priority Stretch
  • πŸ‡ Size Small
  • πŸ“… HTML-CSS
  • πŸ“… Sprint 2
[TECH ED] Prep: Identify components πŸ”— Clone

https://curriculum.codeyourfuture.io/html-css/sprints/4/prep/

Why are we doing this?

We’re going to work with components a lot, so it’s important you begin understanding user interfaces in this way. Front end developers break down complex interfaces into small, understandable pieces and you must practice decoding interfaces in this way yourself.

  1. On BBC News, find the card component.
  2. On YouTube, find the card component.
  3. On Moneysavingexpert, find the card component.
  4. Now find an example of a header, a nav, a hero, and breadcrumbs on sites of your choosing.

Maximum time in hours

.5

How to get help

  1. Use the component gallery to help you identify components.
  2. Look over the upcoming component workshop.

How to submit

Take a screenshot of each component and attach to this ticket. Don’t share anything private or not safe for work.

Next, join (or begin if you are the first) the thread in your class channel. Find a component not in the list above and share it.

In your comment include:

  • the name of the component
  • a link to the site you are looking at
  • a screenshot of the site with the component identified (circle it, crop the image, whatever)
  • anything else you find interesting about this
  • :brain: Prep work
  • 🎯 Topic Communication
  • 🎯 Topic Requirements
  • 🎯 Topic Structuring Data
  • 🎯 Topic Teamwork
  • πŸ• Priority Mandatory
  • πŸ‡ Size Small
  • πŸ“… HTML-CSS
  • πŸ“… Sprint 2
[TECH ED] Complete CIP Stepwise Refinement πŸ”— Clone

https://codeinplace.stanford.edu/public/studenthome

Why are we doing this?

Learn decomposition, the artform of how to solve large problems by breaking them down into smaller pieces. Practice Stepwise Refinement, the balance between the need to think “top-down” with the need to test as you go.

Maximum time in hours

6

  • 🎯 Topic Programming Fundamentals
  • πŸ• Priority Mandatory
  • πŸ‚ Size Medium
  • πŸ”‘ Priority Key
  • πŸ“… Sprint 2