Backlog
Module-Tools ๐
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.
Prep Exercises ๐ Clone
Prep Exercises ๐
Task code
CYF-1155 - make sure to include this in your PR title or description.Link to the coursework
https://sdc.codeyourfuture.io/tools/sprints/5/prep/
Why are we doing this?
Read the prep and do all of the exercises in it.
Maximum time in hours
5
How to submit
Submit a pull request to this repo from your fork, containing a single Python file per exercise.
Get a GitHub profile review
Get a GitHub profile review
Learning Objectives
Make sure your github page is linked to your CYF portal profile
Go through your github profile and make sure it is up to date.
Pick some good projects that you can use as part of a portfolio and highlight them on the main page.
Discuss this with a career mentor on the slack and get a review of your profile
Give a demo in a demo session
Give a demo in a demo session
Presenting information is really important. You need to practice giving demos, and each week build on the feedback you got the previous week.
At CYF we expect you to demo your work to the class. You must have many opportunities to practice how to clearly and simply explain your work to others. This is really important both for interviews and for getting promoted later on.
Attend the SDC demo sessions this week during the saturday class, and give a presentation about a topic of your choosing.
Also try to give some feedback to one of your fellow trainees during this session on their demo.
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 only need to give one of these demos every two weeks. You can give extra demos in addition whenever you want more practice.
Mentored Coding (Edu Team)
Mentored Coding (Edu Team)
Learning Objectives
Mentored coding 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 team up with a volunteer to work on it together.
See the mentored coding guide for guidance.
Book time with your assigned education mentor for this.
Remember, as a learner, you will need to explain your thought process, plan out what to do, write the code and check it works
You will get feedback from your mentor 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.
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.
Radio Control App ๐
Radio Control App ๐
Learning Objectives
Task code
CYF-1208 - make sure to include this in your PR title or description.Radio Control App
This is part of an app that can be used to control an online radio station
Your task is to:
- Add type annotations where appropriate.
- Upgrade everything use dataclasses. Use
frozenwhere appropriate. - Observe how the given
__str__method works, and add one to the other classes - When the
__str__method is called, have it print the duration in formatted mm:ss rather than just seconds - Add a new class of
Person- you can use your imagination what this includes, but it should have at least a string name - Turn the fields for artists, host, and guest into
Personclasses - Make a new class
Podcastthat extends theTalkShowclass, with an extra string field for sponsor - Finish implementing the class
Playlist, and set it to takes a generic, e.g. eitherSongorTalkShoworPodcast
As you implement, make sure to keep checking with mypy and add your own code at the end to test it works correctly