Giter Club home page Giter Club logo

module-js3's Introduction

Welcome to JS3

All the coursework is listed as issues on this repo. You will copy these issues to your Coursework Planner, which is one repo that will hold all your coursework and assignments for the entire course.

If you do not already have your own Coursework Planner, set one up now:

https://github.com/CodeYourFuture/Coursework-Planner

module-js3's People

Contributors

dedekind561 avatar esma-g avatar sallymcgrath avatar

Watchers

 avatar  avatar  avatar

module-js3's Issues

[TECH ED] Prepare for live session

Link to the coursework

Use the prep view from the CYF curriculum to prepare for this week.

Why are we doing this?

It is essential to start learning new concepts and ideas before Saturday's session. During the week, we expect you to get stuck and form questions about the new content so you can address misconceptions during Saturday's session. The prep work here will introduce you to the new concepts for the week.

Maximum time in hours

4

How to get help

Share your blockers in your class channel. Remember to Ask Your Questions like a developer.

How to submit

Write down at least one specific technical question to bring to the group.

How to review

Come to class with your questions

[TECH ED] Codewars API Project

Link to the coursework

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

[PD] Your LinkedIn tips

Coursework content

Write a 100-word text with the top 3 tips you have learnt about LinkedIn and how to use it effectively.

Review the text with an automated grammar tool.

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

1

What is the purpose of this assignment?

Reflect on your learnings about communication and selling yourself on LinkedIn.
To practice writing in English.

How to submit

  • Share the link to the doc on this issue. Make sure anyone can add comments to it.

Anything else?

n/a

[TECH ED] Mid-Course Feedback

Link to the coursework

https://docs.google.com/forms/d/e/1FAIpQLSfrAtvR5HonJZiqlPXocAz7d1l-Kn57X5xp3oH_NmVUL9xTQQ/viewform

Why are we doing this?

We're now over half way through the Full Stack Course!

Your feedback is really important to us. We use your feedback to improve the
course for all of the hundreds of trainees across CodeYourFuture now and
in the future.
This feedback is anonymous meaning we won't have an idea who you are after you submit.

We really appreciate you being honest since this allows us to improve faster.

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

0.5

How to get help

https://syllabus.codeyourfuture.io/guides/asking-questions

How to submit

Submit your feedback using this form https://docs.google.com/forms/d/e/1FAIpQLSfrAtvR5HonJZiqlPXocAz7d1l-Kn57X5xp3oH_NmVUL9xTQQ/viewform

[TECH ED] JavaScript Challenges

Link to the coursework

https://github.com/CodeYourFuture/JavaScript-Core-3-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.
https://syllabus.codeyourfuture.io/guides/asking-questions

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.

[PD] Resilience learning points and suggestions

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

[TECH ED] 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 week on the CodeYourFuture account.

Take some time to check your levels. Before you are accepted on to a Final Project on the developer track, you need to complete the Final Projects collection and 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.

Anything else?

No response

[PD] Teamwork project retrospective

Coursework content

As you know, from the other retrospectives done so far, it is important that the team can reflect on their processes and achievements, identify areas for improvement, and foster a culture of continuous learning and growth.

Organise/attend a final call with your team and think retrospectively about your project.

  • What went well
  • What didn’t go that well
  • What would you do differently

Share your opinions on a collaborative board (e.g. Google Jamboard) and add the link for this board to your project board.

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

1

What is the purpose of this assignment?

To identify achievements and things that need to be improved as a result of working as a team.

How to submit

  • Add your board to the thread of the Slack post for retrospective boards. If the post doesn't exist (search for it first), you can create it.
  • Share the link to your collaborative board on this issue. Make sure it is visible to everyone.
  • Also, share the screenshot of your reply in the thread on Slack on this issue.

Anything else?

n/a

[TECH ED] Prepare for live session

Link to the coursework

https://curriculum.codeyourfuture.io/js3/sprints/2/prep/

Why are we doing this?

It is essential to start learning new concepts and ideas before Saturday's session. During the week, we expect you to get stuck and form questions about the new content so you can address misconceptions during Saturday's session. The prep work here will introduce you to the new concepts for the week.

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

3

How to get help

Share your blockers in your class channel
https://curriculum.codeyourfuture.io/guides/asking-questions

How to submit

n/a

[TECH ED] Technical Writing One

Link to the coursework

https://developers.google.com/tech-writing/one

Why are we doing this?

Every engineer is also a writer.

This collection of courses and learning resources aims to improve your technical documentation. Learn how to plan and author technical documents. You can also learn about the role of technical writers at Google.

Take the prep course before class and do the in-class workshop... in class!

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

2

How to get help

Arrange a mid week study session to work on this course together. Can you invite a native speaker to support you? What skills do you already have in your group? Has someone worked as a writer, teacher, translator, or journalist?

How to submit

There's no submission step. Just use the course to improve all your technical writing, readmes, and docs as you progress.

[TECH ED] 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 week on the CodeYourFuture account.

Take some time to check your levels. Before you are accepted on to a Final Project on the developer track, you need to complete the Final Projects collection and 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.

[PD] Review your peers' LinkedIn profile

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.

[TECH ED] TV Show Project - Part 4/4

Link to the coursework

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

Your goal this week is to complete level 500.

That means:

  • Finishing anything from weeks 1 , 2, and 3 which isn't finished
  • Achieving level 500 yourself in your own repository
  • Discussing your different approaches with your pair, and making sure you're both happy with each other's code

Why are we doing this?

After learning new skills and concepts, it's important to practice using this knowledge to check if you've understood everything properly. The tv show project will provide you with an opportunity to use your knowledge from JS1 and JS2 to create a website from scratch.

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

8

How to get help

https://syllabus.codeyourfuture.io/guides/asking-questions

How to submit

Remember to follow the instructions here: https://github.com/CodeYourFuture/JS3-Module-Project/blob/main/levels/level-0.md

[PD] Changing fixed mindset

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 adapt a growth mindset.

How to submit

Attach the screenshots of your Slack post and your comment to another to this ticket on your board.

[PD] LinkedIn research

Coursework content

  1. Set up a LinkedIn profile if you don’t already have one.
  2. Find 3 LinkedIn profiles that you think are good and reflect on why they are good or effective.
  3. Think about what you can use/adapt from these people’s LinkedIn profiles to yours.

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

0.5

What is the purpose of this assignment?

To create a presence on LinkedIn and to get familiar with its workings.

How to submit

  • Share the link to your Linkedin profile on this issue.
  • Share the list of things you would like to use/adapt on your profile as a comment on this issue.

[TECH ED] Play the Bandit

Link to the coursework

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. It's a good idea to practice Linux skills to make yourself more employable. In React, you will execute commands in the terminal to create files and run scripts, so you will have many chances to practice your command line skills.

Your goal is to get to Level 20 by the end of the Databases module. You can do this by completing one level a week from JS2 onwards. You can do one level a week!

You should be at level 8 or higher this week.

Maximum time in hours

.5

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 don't recognise, you must ask "Is this valid" before you continue. ChatGPT makes up invalid code all the time.

[TECH ED] Prepare for live session

Link to the coursework

tbc

Why are we doing this?

It is essential to start learning new concepts and ideas before Saturday's session. During the week, we expect you to get stuck and form questions about the new content so you can address misconceptions during Saturday's session. The prep work here will introduce you to the new concepts for the week.

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

3

How to get help

Share your blockers in your class channel
https://curriculum.codeyourfuture.io/guides/asking-questions

How to submit

n/a

[PD] Define your product and build the project board

Coursework content

Organise/attend another call with your team and define what fictional product you would build. Brainstorm different ideas and reach an agreement as a team.

Each team member should develop an idea for a product and pitch it to the group. All other members provide constructive feedback to improve the product idea. Each team member should give at least one positive and constructive feedback to enhance the idea with clear examples and explanations. This should take up to 30 min in total.

Build the GitHub project board for your project and begin assigning the first tasks to different team members, e.g. market research for the product, potential users, unique selling proposition, and competitor analysis.

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

1

What is the purpose of this assignment?

To decide on the fictional product for the Teamwork Project and to build the project board for collaboration.

How to submit

  • Share the link to your project board on your issue. Remember to make it public so anyone reviewing this coursework can see it.
  • Share the link of the document on this issue as a comment. Make sure it can be commented on by anyone.

[TECH ED] Watch the VSCode Debugger Video

Link to the coursework

https://code.visualstudio.com/docs/introvideos/debugging

Why are we doing this?

For months now we have been building a toolkit to help us write great software. In our toolkit we have:

Specifications, like user stories, acceptance criteria, and Given/When/Then
Help us understand what to write and check we've written the right thing.

Tests, like unit tests and assertions
Help us break down our problems and check our solutions work even when we change things.

Asking questions
Help us formally reason through our problems and identify gaps in our mental models.

Playing computer
Helps us reason about code with a mental model.

Audits, like Lighthouse
Help us identify performance and quality improvements we can make to our code.

And now we can add debuggers to our toolkit.

Debuggers are tools that help us find and fix problems, or "bugs", in our JavaScript code. They let us step through our code line-by-line while it runs to see what is happening. This helps us find the place where our mental model of the code is different from our implementation. Your browser has a debugger and so does VSCode. You have used a similar program to "step through" code in your prep work.

Key reasons we use debuggers:

  • See what's happening inside functions
  • Check if variables have expected values
  • Pause execution and step through slowly
  • Find exactly where mistakes happen

JavaScript debuggers give control over execution flow to methodically test and fix bugs. Watch the first four minutes of the video and then explore the VSCode Debugger on your machine.

Maximum time in hours

.25

How to get help

AI can help you here. Code along with AI so it has the context and ask it when you get stuck. Use this starting prompt:

Act as a friendly, supportive, knowledgeable programming mentor. I am learning the debugger in VSCode.Talk me through the interface step by step. Provide a simple example of a Node script with a bug in it and walk me through finding the bug by setting breakpoints with the debugger. Don't tell me what the bug is. When I get stuck, answer my questions in CEFR B2 English meant for an adult professional speaking in a second language. When I ask for hints, give me useful pointers. Say okee dokee if you understand and begin your walkthrough.

Remember to use careful prompting when you don't understand, so you get real learning out of the exchange. Say things like:

The execution is paused and it shows me that i is undefined and this is undefined, but I don't understand why it says that. Can you explain this to me?

I made you a bot specifically for this coursework, right here: https://poe.com/CYF_Learn_Debugger

Remember you should always ask your friendly humans in Slack when you get really stuck.

[TECH ED] Read and practice: The Cycles of TDD

Link to the coursework

http://blog.cleancoder.com/uncle-bob/2014/12/17/TheCyclesOfTDD.html

Why are we doing this?

It is essential that you continue to use your TDD skills throughout the course. It is only through continual practice that you're able to master all the steps in TDD. The best way to master TDD is by solving katas with this method in a strict time-bound fashion.

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

.5

How to get help

https://curriculum.codeyourfuture.io/guides/asking-questions

How to submit

No submission step. When you've completed your kata, mark this step as done.

[TECH ED] Prepare for live session

Link to the coursework

tbc

Why are we doing this?

It is essential to start learning new concepts and ideas before Saturday's session. During the week, we expect you to get stuck and form questions about the new content so you can address misconceptions during Saturday's session. The prep work here will introduce you to the new concepts for the week.

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

3

How to get help

Share your blockers in your class channel
https://curriculum.codeyourfuture.io/guides/asking-questions

How to submit

n/a

[TECH ED] Programmer Humour

Link to the coursework

https://github.com/CodeYourFuture/Module-JS3/tree/main/programmer-humour

Why are we doing this?

We're making a very tiny application, the smallest one you can think of, that fetches from an API and shows something on a page. You should do this many times. Make ten more of these if you finish this early. Make it as simple as possible.

Remember: always do the simplest thing that can possibly work.

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

1

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

  1. Fork to your Github account.
  2. Make a branch for this project called feature/xkcd
  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.
gitGraph
    commit id: "start"
    branch feature/xkcd
    commit id: "stub-files"
    commit id: "fetch-from-xkcd"
    commit id: "template-layout"
    commit id: "lighthouse-audit-revisions"
    checkout main
    merge feature/xkcd

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.

Don't make one giant PR with all your work in for the module. Make a separate PR for each assignment.

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.

[TECH ED] Code review

Link to the coursework

https://claude.ai

Why are we doing this?

With code review, you are practising how to talk and write about code. Writing clearly and simply for other people is an essential professional skill. If you've been depending on AI to do this for you up til now, you must seriously consider how realistic your plans are to operate in a professional environment. Use writing tools to develop your own skills, not to replace them.

Use simple, straightforward writing in comments, code review, and documentation. Make your work stand out.

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

1

How to get help

  1. Install Grammarly and use it.
  2. Install a spellchecker in VSCode.
  3. Use Hemingway App to check your writing.
  4. Ask Claude.ai to revise and review your work, and give you tips to improve it.

Prompt Claude like this:

"Hello Claude. I'm a software engineer working on improving my code review and communication practice. I want to make my writing simple, clear, straightforward, friendly, and accurate. In code review I focus on clarity, simplicity, precision, and security. I will paste you my review and I'd like you to offer some improvements and explain them. I will make some changes and then we'll revise again together. Say okee dokee if you understand."

Image

How to submit

Submit your feedback as a PR review on GitHub.

How to review

Add your buddy and another colleague to your PR as a reviewer on your TV Show Project. Ask someone who has yet to be tagged so people aren't overloaded. Now do a code review for whoever has asked for your review.

🧑🏾‍⚖️ Check module success criteria

Link to the coursework

https://curriculum.codeyourfuture.io/js3/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

In week 4 of your module you will need a representative to report to the organisation. Here's your template, fill in your details, delete as appropriate, and post it on your cohort channel on Slack:

Progress Template

📈 Cohort Progress Report from @cohort-name to @programme-team

  • criterion
  • criterion
  • criterion
  • criterion

✅ We are progressing to the next module.
⛔ We are taking a consolidation week to meet our targets.

[TECH ED] Book Library

Link to the coursework

https://github.com/CodeYourFuture/Module-JS3/blob/main/book-library/readme.md

Why are we doing this?

Making a simpler version of the TV Show Project, that has some similar concerns, can help you design your application.

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

3

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

  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.
gitGraph
    commit id: "start"
    branch feature/book-library
    commit id: "skeleton page code"
    commit id: "Fonts and colours"
    commit id: "mobile layout"
    commit id: "lighthouse audit revisions mobile"
    commit id: "desktop layout"
    commit id: "lighthouse audit revisions desktop"
    checkout main
    merge feature/book-library

There are several projects in this repo. Make a new branch for each project.

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.

[PD] Review your Development Plan

Coursework content

Work on your Career Development plan, so that it reflects your learnings and where you evolved. Your goals might be different now, and writing them down can keep your focus and give you a tool to discuss them with anyone you trust who would like an opinion.

Remember: 2-3 areas are enough to change in such a short time, so it's better to focus on a few, get them nailed, and then choose another area.

Technical knowledge is important, but the skills and processes are also important so you can get a job in tech. So think about both sides.

Examples of goals

  • Short term: Practicing coding = Code 1 hour a day on weekdays
  • Medium-term: Enhance my written English = Trying to correct by myself the errors that the automated grammar tool is showing in my text
  • Long term: Get a job in tech = Send 1 tailored CV per day when I have graduated from Code Your Future

Estimated time in hours

0.5

What is the purpose of this assignment?

Define where you want to be in the short, medium and long term. This helps give you perspective and clarity of where your direction is and if you are doing the right things to get there.

How to submit

  • Share your development plan link as a comment, open to anyone to comment
  • Write a paragraph, as a comment on this issue, about what you have learned/changed

[TECH ED] Check out an API response

Link to the coursework

http://api.tvmaze.com/shows/82/episodes

Why are we doing this?

This task will get you to really think about the response you get back from an API. Use Chrome Dev Tools to examine the response you get back from the server.

Look at a request in Chrome Dev Tools

In Google Chrome, open dev tools network tab and enter this URL into the browser: http://api.tvmaze.com/shows/82/episodes

Answer the following questions:

  1. What's the status code the server sent back?
  2. What HTTP method did the browser use to make the request?
  3. What is the request path?
  4. What is the first line of the response body?
  5. What is the value of the response header called "Content-Type" ?
  6. What is the value of the request header called "User-Agent"

Maximum time in hours

.5

How to submit

Share your answers with the other trainees in your Buddy Group or on your Slack class channel.
Did you get different answers to other people? Ask them how they worked them out!

[TECH ED] Array Destructuring

Link to the coursework

https://github.com/CodeYourFuture/Module-JS3/tree/main/object-destructuring

Why are we doing this?

Array destructuring is very useful and used a lot in React.

https://www.freecodecamp.org/news/array-destructuring-in-es6-30e398f21d10/

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

1

How to submit

  1. Fork to your Github account.
  2. Make a branch for this project called feature/destructuring
  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.
gitGraph
    commit id: "start"
    branch feature/destructuring
    commit id: "ex-1-update-argument"
    commit id: "ex-2-teachers-pet"
    commit id: "ex-3-print-receipt"
    checkout main
    merge feature/destructuring

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.

Don't make one giant PR with all your work in for the module. Make a separate PR for each assignment.

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.

[TECH ED] Hammock Driven Development

Link to the coursework

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.

[TECH ED] Prepare for React

Link to the coursework

https://react.dev/learn/start-a-new-react-project

Why are we doing this?

During the React module, we will be writing code in a React app. This may take some time to do (depending on your the speed of your computer and internet) so we want you to do this BEFORE the class starts.

  1. Follow the instructions for creating a React app here: https://syllabus.codeyourfuture.io/react/prep. Please read them carefully before you begin. If you get stuck, please post a question in your class channel on Slack.

  2. When you are done, take a screenshot of the React app running in your browser. Attach the screenshot to this ticket on your board.

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

2

How to get help

Make a thread in the React module channel and tag your mentors.

How to submit

Take a screenshot of the React app running in your browser. Attach the screenshot to this ticket on your board.

[TECH ED] TV Show Project - Part 2/3

Link to the coursework

https://github.com/CodeYourFuture/tv-show-dom-project

Why are we doing this?

After learning new skills and concepts, it's important to practice using this knowledge to check if you've understood everything properly. The tv show project will provide you with an opportunity to use your knowledge from JS1 and JS2 to create a website from scratch.

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

8

How to get help

https://syllabus.codeyourfuture.io/guides/asking-questions

How to submit

Remember to follow the instructions here: https://syllabus.codeyourfuture.io/js-core-3/tv-show-dom-project/getting-started

How to review

https://syllabus.codeyourfuture.io/js-core-3/tv-show-dom-project/getting-started

Anything else?

For this week, you should try completing up to and including Level 300

[TECH ED] 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 week on the CodeYourFuture account.

Take some time to check your levels. Before you are accepted on to a Final Project on the developer track, you need to complete the Final Projects collection and 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.

[PD] Your SWOT analysis

Coursework content

Conduct a personal SDOT analysis. By answering the following questions, consider the key areas you want to improve. Remember to refer to the development plan you have already been working on:

  • Strengths: What are you great at? What makes you stand out? What positive comments do people say about your strengths? What are your greatest achievements?
  • Weaknesses: What hard and soft skills do you need to work on? Where do you need to improve? What holds you back? What key habits do you want to overcome? What do others say about your development areas?
  • Opportunities: Who can help you achieve your goals? What can you do differently to become more employable? How can you go the extra mile? How can you create opportunities?
  • Threats: What could stop you from achieving your career goals? What do you need to stop doing now? What's out of your control?

Write your analysis down.

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

0.75

What is the purpose of this assignment?

This analysis will provide you with insights into your personal strengths and development points. It will also help you identify external support opportunities and risks.

How to submit

  • Share the link to the doc with your SWOT analysis on your issue. Make sure anyone with this link can comment on it.
  • Review your Career Development Plan if it is applicable.

[PD] Linkedin post about blockers

Coursework content

Create a post on Linkedin and tag someone who helped you recently with difficulty or blocker. This can be a CYF volunteer, a peer or someone else.

You'll only need to add as many details as possible about the scenario. The goal is not to overshare but to be vulnerable and confident about your difficulties and to celebrate the support you were given.

Ensure you check your grammar and spelling with an automated tool before posting it.

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

0.5

What is the purpose of this assignment?

To practice writing posts and help you maintain a strong presence on LinkedIn.

How to submit

  • Share the screenshot of your post on this issue

Anything else?

n/a

[TECH ED] Play the Bandit

Link to the coursework

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 20 by the end of the Databases module. You can do this by completing one level a week from JS2 onwards. You can do one level a week!

Try to get to at least level 7 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.

[TECH ED] Review Solutions for Last Weeks Coursework

Link to the coursework

You can find the solutions to the exercises for this project in the solutions branch of this repo.

Why are we doing this?

You must check your work against our solutions. It is important to continually evaluate your work and identify any areas of weakness in your understanding.

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

0.5

How to get help

https://curriculum.codeyourfuture.io/guides/asking-questions

How to submit

n/a

[PD] Resolving conflicts in your team

Coursework content

Organise/attend a call with your team. Make a plan about how to resolve conflicts in your team.

Discuss the following questions:

  • How would you minimise conflicts in your team?
  • How would you resolve conflicts in your team?

Write down your agreement.
Share your agreement on your project board as a ticket. You can create a column for the team documents if that helps you.

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

1

What is the purpose of this assignment?

This assignment will help you prepare against potential conflicts you might experience while collaborating with your team.

How to submit

  • Share your agreement on this issue.
  • Share the link of the document on this issue as a comment. Make sure anyone can comment on it.

[TECH ED] TV Show Project - Part 3/4

Link to the coursework

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

Your goal this week is to complete level 400.

Reminder: You will need to be paired up with someone for this project.

That means:

  • Finishing anything from weeks 1 and 2 which isn't finished
  • Achieving level 300 yourself in your own repository
  • Achieving level 400 yourself in someone else's repository
  • Discussing your different approaches with your pair, and making sure you're both happy with each other's code

Why are we doing this?

After learning new skills and concepts, it's important to practice using this knowledge to check if you've understood everything properly. The tv show project will provide you with an opportunity to use your knowledge from JS1 and JS2 to create a website from scratch.

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

8

How to get help

https://syllabus.codeyourfuture.io/guides/asking-questions

How to submit

Remember to follow the instructions here: https://github.com/CodeYourFuture/JS3-Module-Project/blob/main/levels/level-0.md

[TECH ED] Review Solutions for Last Weeks Coursework

Link to the coursework

You can find the solutions to the exercises for this project in the solutions branch of this repo.

Why are we doing this?

You must check your work against our solutions. It is important to continually evaluate your work and identify any areas of weakness in your understanding.

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

0.5

How to get help

https://curriculum.codeyourfuture.io/guides/asking-questions

How to submit

n/a

[TECH ED] What is React

Link to the coursework

https://www.youtube.com/watch?v=0KlRgFEEz0g

Why are we doing this?

  1. Watch the attached video. You can stop watching at 11:06 (the rest is unnecessary)

  2. Write your answers as a comment on your ticket on your board.

  3. In the comment, answer these questions in ONE sentence:

A. What does he say the "best description of React is"?
B. What does he say "could be a component"?
C. What does he say is the benefit of using JSX?
D. What makes React fast?

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

1

How to get help

Share your blockers in your class channel.
https://syllabus.codeyourfuture.io/guides/asking-questions

How to submit

Write your answers as a comment on your ticket on your board.

[PD] Giving constructive feedback

Coursework content

Imagine yourself in the following scenarios. How would you prepare to give constructive feedback in that situation? Write a short paragraph explaining what you would do or write a dialogue between you and the person you are giving feedback.

Scenarios:

  • Your colleague took your lunch from the office fridge
  • Your colleague keeps interrupting you and others in meetings
  • Your flatmate left dirty cups in the sink for several days

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

1

What is the purpose of this assignment?

This assignment aims to build on the exercises you worked on during the class. When you complete this assignment you will have thought more about the nature of the constructive feedback and reinforce your skills by putting them in writing.

How to submit

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

[PD] Key learnings about difficult workplace conversations

Coursework content

Read the following materials about difficult workplace conversations. Write a 250-word essay about your key learnings from the PD session and these two articles.

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 have developed your own opinions and be better equipped to have effective conservations in difficult situations in your professional life.

How to submit

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

Anything else?

No response

[TECH ED] TV Show Project - Part 2/4

Link to the coursework

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

Your goal this week is to complete level 200.

Reminder: You will need to be paired up with someone for this project.

That means:

  • Finishing anything from week 1 which isn't finished
  • Achieving level 200 yourself in someone else's repository
  • Discussing your different approaches with your pair, and making sure you're both happy with each other's code

Why are we doing this?

After learning new skills and concepts, it's important to practice using this knowledge to check if you've understood everything properly. The tv show project will provide you with an opportunity to use your knowledge from JS1 and JS2 to create a website from scratch.

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

8

How to get help

https://syllabus.codeyourfuture.io/guides/asking-questions

How to submit

Remember to follow the instructions here: https://github.com/CodeYourFuture/JS3-Module-Project/blob/main/levels/level-0.md

[TECH ED] Follow the React Learn Course

From Module-React created by SallyMcGrath: CodeYourFuture/Module-React#34

Link to the coursework

https://react.dev/learn

Why are we doing this?

The React documentation is brilliant. It's actually weirdly similar to our original course, especially https://react.dev/learn/thinking-in-react so we now link to it heavily instead of maintaining our own version.

We highly recommend you follow the whole thing, but we will point to vital pieces throughout the prep material.

[TECH ED] 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 week on the CodeYourFuture account.

Take some time to check your levels. Before you are accepted on to a Final Project on the developer track, you need to complete the Final Projects collection and 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.

[TECH ED] Code Review A Colleague's TV Show Project

Link to the coursework

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

Why are we doing this?

Assignment: Complete a code review of a colleague's project.

You should by now have seen quite a few of your colleague's TV Show Projects. What project have you been most interested in? What solutions have you learned the most from? What lessons will you take into your own practice? You might have noticed:

  • a really great layout
  • a clever use of array methods
  • readable code with small clearly named functions
  • something else

Check out the Financial Times competency on Engineering Communication to understand why developing this skill is so important.

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

3

How to get help

Read the GitHub docs on reviewing pull requests

How to submit

Your submission should be in the form of a code review on a colleague's TV Show Project. Attach a link to this ticket.

Anything else?

https://syllabus.codeyourfuture.io/guides/code-style-guide

[TECH ED] TV Show Project - Part 1/4

Link to the coursework

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

Your goal this week is to complete level 100.

That means:

  • Deploying the website
  • Achieving level 100 yourself in your own repository

Why are we doing this?

After learning new skills and concepts, it's important to practice using this knowledge to check if you've understood everything properly. The tv show project will provide you with an opportunity to use your knowledge from JS1 and JS2 to create a website from scratch.

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

8

How to get help

https://syllabus.codeyourfuture.io/guides/asking-questions

How to submit

Remember to follow the instructions here: https://github.com/CodeYourFuture/JS3-Module-Project/blob/main/levels/level-0.md

[PD] Linkedin Social Selling Index

Coursework content

Being on LinkedIn isn’t enough to get noticed. You also need to make sure that you are active on it.

LinkedIn created a Social Selling Index (https://www.linkedin.com/sales/ssi.) which shows how you are in relationship to others in your industry or your network. You can use this as a key performance indicator to ensure you are being ranked higher after your actions.

Think about your strategy to get more active on LinkedIn. Some examples are below, but you can use your creativity. Start with one action and then build upon it.

  • Repost interesting articles at least once a week
  • React to one of your connections’ posts daily
  • Share an important Professional Development learning of this week
  • Share an important Technical Education learning of this week (not on the same day as the PD one)
  • Comment on one of your connections’ posts daily

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

0.5

What is the purpose of this assignment?

To create a strong presence on a professional network platform - LinkedIn.

How to submit

  • Share the screenshot of your LinkedIn Social Selling Index on this issue.
  • Add what is the one action you will commit to. Write it using in a SMART way and add it as a comment on this issue.

[TECH ED] Code Along APIs and Fetch

Link to the coursework

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.

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

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

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.

[PD] Discuss different aspects of teamwork

Coursework content

Attend a call with your team. If no one has organised it yet, take leadership and organise it.

The agenda of the call is outlined below. Plan your time accordingly to discuss and agree on each item.

  • What will be your team’s rules?
  • How will you ensure that your project will remain on schedule? What is your strategy if the project falls behind schedule?
  • What is your strategy for communication within your team? How would you communicate key challenges in your team?
  • How would you hold each other accountable?
  • You should use GitHub Projects to manage the project and assign tasks. What other tools will you use?

Write down your decisions using a Google doc or another tool and ensure each team member has access to the decisions. Share relevant links (e.g., to the GitHub project board) in that document.

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

1

What is the purpose of this assignment?

To decide on the team agreement.

How to submit

  • Share the link to your decisions on your project board
  • Share the document link with the decisions on this issue as a comment. Make sure anyone can comment on it.

Anything else?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.