backlog

Module-Data-Flows πŸ”—   Project-TV-Show πŸ”—  

Recurring Tasks

These tasks need to be completed in every sprint.

Give a demo in a demo session πŸ”— Clone

Give a demo in a demo session πŸ”—

Presenting information is really important. You need to start practicing giving demos.

During this module, you must attend at least one demo session, and give at least one demo. We recommend you come to more, and give more. But you are required to do at least one. Your demo can be on anything you want. You can give this demo in any sprint.

There are demo sessions every Tuesday evening and Friday morning. They are advertised on Slack.

Aim for a 5 minute demo. But your demo must be at least 1 minute and at most 10 minutes long. Check out our guide about presenting.

You will need to attach a screenshot when submitting your Step for this Module. Make sure to take a screenshot of you presenting on the call, showing that one of the following members of CYF staff was on your call and gave you feedback:

  • Daniel Wagner-Hall
  • Karen Klein
  • Colin Farquhar
  • Poonam Rajput
  • LΓ©on McGregor

If you are not available during any of the demo times, please message on Slack to arrange an alternate time.

Mentored pair programming πŸ”— Clone

Mentored pair programming πŸ”—

Learning Objectives

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 you to prepare for technical interviews when you may need to code in front of other people or explain your solution to a problem.

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

Submission & Review

You well get feedback from the volunteer during the session. If there are specific topics you would like to receive feedback on then let them know at the start of the session so they know what to focus on.

Mandatory Tasks

These tasks will help consolidate your learning for this sprint. You should complete as many of these as possible before class on Saturday.

Mandatory Sprint 3 Codewars Katas πŸ”— Clone

Mandatory Sprint 3 Codewars Katas πŸ”—

Learning Objectives

https://www.codewars.com/collections/cyf-data-flows-sprint-3-mandatory

Why are we doing this?

Every week, you need to complete all of the katas in the collection. If you have extra time, you can do extra katas at random on CodeWars.

Spend at least 20 minutes per kata, find time at least three times a week to complete this.

Find the Collection called “CYF Data Flows | Sprint 1 | Mandatory” on the CodeYourFuture account.

Check your Codewars completion status via the Codewars Progress Checker.

Maximum time in hours

2

How to get help

Join the #cyf-codewars Slack channel Read the CYF Codewars docs Read Codewars advice from CYFers Read Codewars advice from mentors Book a pair programming slot from the available pairing appointments in the CYF Pair Programming Slack Canvas

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

Share a link in the form https://codeyourfuture.github.io/Codewars-Progress-Checker/#YOUR_CODEWARS_USERNAME.

You can obtain the link from the browser location bar after submitting your Codewars username on the Codewars Progress Checker page.

Play the Bandit πŸ”— Clone

Play the Bandit πŸ”—

Learning Objectives

https://overthewire.org/wargames/bandit/

Why are we doing this?

Basic Linux skills are essential for roles in Cloud, DevOps, Cyber, and SRE so it’s a good idea to practice them. 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 develop these skills by playing a game called The Bandit.

There are many levels, and many more games after The Bandit, but your goal is to get to Level 20 by the end of this module.

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 for this exercise.

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.

Programmer Humour πŸ”— Clone

Programmer Humour πŸ”—

Learning Objectives

https://github.com/CodeYourFuture/Module-Data-Flows/tree/main/fetch/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

Submission & Review

  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.

Review your peers' LinkedIn profile πŸ”— Clone

Review your peers' LinkedIn profile πŸ”—

Learning Objectives

Why are we doing this?

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.

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

Maximum time in hours

1

Submission & Review

  • 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.
Think about what to do next πŸ”— Clone

Think about what to do next πŸ”—

Learning Objectives

https://curriculum.codeyourfuture.io/

Why are we doing this?

If you are confident you have finished the course (i.e. you meet the Success criteria for all modules), you should step back and think about what you want to do next.

If you are not sure, you should talk to people! The whole community (volunteers, graduates, other trainees) may all have interesting and useful perspectives.

If you are really eager to get a job as a software engineer, you should apply for the Piscine. Read through the Piscine’s prep. You must be enrolled as a trainee to apply for the Piscine. If you are not a trainee, you should enrol now.

If you are excited about a job in tech, but don’t think software engineering is the role for you, that’s totally fine! Consider the Tracks for jobs after ITP. You must be enrolled as a trainee to join these tracks, and they only run when there are jobs available.

If you are not eligible to enrol as a trainee, for instance because you live too far from a Code Your Future class, consider other schools that may be able to help.

If you have some spare time (e.g. while waiting for the Piscine or a track), we recommend you practice your skills. Do Codewars exercises, build websites that do interesting things, work on projects that will help you practice what you’ve learned. If you’re really confident in your skills, you may want to follow one of the self-study tracks.

It’s always more important that you understand what you know really well, than that you understand lots of things. If in doubt, we always recommend you revisit prep and exercises you’re not sure about, or work on projects to get more practice.

Optional Tasks

These are optional "stretch goals" to attempt when you have finished the mandatory tasks. They may be more challenging or require some additional research.

Codewars API Project πŸ”— Clone

Codewars API Project πŸ”—

Learning Objectives

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.

Maximum time in hours

0

How to get help

General advice on asking for help can be found on the curriculum pages. You can always share your blockers in your class channel and get help from your colleagues. Your mentors track trainees’ progress through the set katas in a very similar way - why not ask them for advice?

Submission & Review

Fork the coursework 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. A volunteer will review your submission and send you feedback.

Hammock Driven Development πŸ”— Clone

Hammock Driven Development πŸ”—

Learning Objectives

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

Why are we doing this?

This video is from a conference in 2010 and talks about a different approach to problem solving. The link above will take you to a transcript.

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

0

Submission & Review

There is no submission step for this task, but if you have any comments or questions you can share them in your Slack channel.

JavaScript Challenges πŸ”— Clone

JavaScript Challenges πŸ”—

Learning Objectives

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

Why are we doing this?

The concepts you have been learning about so far can be applied in many different situations. Often you will need to combine them, for example writing tests to ensure you are retrieving the correct data from an API. These exercises will give you further opportunities to develop these skills.

No time given as this is a stretch goal.

Maximum time in hours

0

How to get help

General advice on asking for help can be found on the curriculum pages. You can always share your blockers in your class channel and get help from your colleagues.

Submission & Review

Fork the coursework 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. A volunteer will review your submission and send you feedback.