π·οΈ backlog
Module-Structuring-and-Testing-Data π
π‘ Do you need support to continue studying? π Clone
π‘ Do you need support to continue studying? π
βοΈ Please enrol as a Trainee
Have you finished Module 1 of ITP? Well done! πͺ
If you need help with transport, childcare, data, or a laptop to keep studying, apply to enrol as a Trainee . Trainees at CYF can claim expenses to support their studies.
Want to know more? Apply to enrol as a Trainee
β¨ Code Your Future
- π Sprint 1
- π Sprint 1
01 CIP Intro to Python π Clone
01 CIP Intro to Python π
Link to the coursework
https://codeinplace.stanford.edu/public/studenthome
Why are we doing this?
Get introduced to Python. Learn about the print and input statements. Also learn about variables and types, including int, float, and string. Get started writing your first few Python programs that use these statements.
Then, learn about mathematical expressions in Python, including arithmetic operators and rules of precedence for evaluating expressions. Also learn about type conversion and the use of constants in programs. Review the Python math and random libraries for mathematical functions and random number generation, respectively. Get practice putting these concepts together in sample programs.
Maximum time in hours
6
How to get help
Come to Slack and CYF coworking spaces with your blockers.
- π― Topic Programming Fundamentals
- π Priority Mandatory
- π¦ Size Large
- π Sprint 1
- π¦ Size Large
- π Sprint 1
- π Priority Mandatory
- π― Topic Programming Fundamentals
02 Review your development plan π Clone
02 Review your development plan π
Coursework content
Using the Build Your Life plan and your first version of your Career Development plan, we want you to continuously think about the goals you want to achieve: short/medium/long-term. These should still be linked to the areas you want to develop.
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.
Ensure you are not only thinking of technical knowledge you want to acquire but especially skills and processes that will help you become a developer.
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
- Your development plan is your own. Share it with a mentor or peer you respect and ask for their advice.
- π Priority Mandatory
- π Size Small
- π Sprint 1
- π Sprint 1
- π Size Small
- π Priority Mandatory
03 Complete Sprint 1 Coursework π Clone
03 Complete Sprint 1 Coursework π
Link to the coursework
https://github.com/CodeYourFuture/Module-Structuring-and-Testing-Data/tree/main/Sprint-1
Why are we doing this?
These challenges are designed to develop your ability to read and understand documentation, and to read and interpret error messages.
Maximum time in hours
6
How to get help
Read the README
Share your blockers in your class channel https://curriculum.codeyourfuture.io/guides/asking-questions/
How to submit
- Fork to your GitHub account.
- Make a branch called
coursework/sprint-1
. - Make regular small commits in this branch with clear messages.
- When you are ready, open a PR to the CYF repo, following the instructions in the PR template.
There are three sprint folders in this repo. Make a new branch for each sprint.
- π Priority Mandatory
- π¦ Size Large
- π JS1
- π Sprint 1
- π¦ Size Large
- π Sprint 1
- π JS1
- π Priority Mandatory
04 π§° Check your setup π Clone
04 π§° Check your setup π
Link to the coursework
Why are we doing this?
You must have the CYF VS Code extension pack installed and Prettier enabled. Don’t use another formatter.
π§Ή Formatting with Prettier
Using a shared formatting convention makes sure your “diffs” ( differences between the codebase and your changes) only show the code you intentionally wrote, and not a bunch of spaces or tabs. It will also help you read your own code as you work on it.
- In Visual Studio open the settings file (Code > Preferences > Settings)
- Search for editor format
- Set and to
- Set the “Default Formatter” to be Prettier
- In your editor, write some html and save the file. It should be formatted (indented) automatically.
Maximum time in hours
.15
How to get help
Ask for help on Slack if you are having trouble with Prettier. We will work together on the same files in some workshops, so if you don’t have this set up, you will be blocked and unable to participate.
How to submit
It will be entirely obvious if you don’t do this. π We can all see!
- :brain: Prep work
- π― Topic Code Review
- π― Topic Teamwork
- π Priority Mandatory
- π¦ Size Tiny
- π Sprint 1
- π¦ Size Tiny
- π Sprint 1
- π Priority Mandatory
- π― Topic Teamwork
- π― Topic Code Review
- :brain: Prep work
05 π Code review π Clone
05 π Code review π
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 1
- :memo: Self evaluate
- π Sprint 1
- π Priority Mandatory
- :memo: Self evaluate
06 π«±π½βπ«²πΏ Mentored pair programming π Clone
06 π«±π½βπ«²πΏ Mentored pair programming π
Learning Objectives
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
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 learners to prepare for technical interviews when they’ll need to code in front of other people.
Acceptance criteria
- You have pair programmed on a piece of programming with a volunteer for at least one hour this sprint.
Objectives
- π Priority Mandatory
- π Size Small
- π Sprint 1
- :memo: Self evaluate
- π Sprint 1
- π Size Small
- π Priority Mandatory
- :memo: Self evaluate
07 Writing an email for an internship π Clone
07 Writing an email for an internship π
Coursework content
Draft an email to apply for an internship at a fictional company called Vonda. Make sure to include the five things below:
- Why you want to become a software developer
- Your background and your past
- What you are doing at the moment
- Where you see yourself in the future
- Why Vonda should give you the opportunity to do an internship
The email should be formatted in a way that is ready to be sent. Make sure you include a subject title and pay attention to the formatting (font type and size, alignment etc).
Estimated time in hours
1
What is the purpose of this assignment?
This assignment aims to improve your writing skills.
How to submit
Share the link to the Google doc on the ticket on your coursework board.
- π― Topic Communication
- π Priority Mandatory
- π Size Small
- π JS1
- π Sprint 1
- π Sprint 1
- π JS1
- π Size Small
- π Priority Mandatory
- π― Topic Communication
08 Codewars π Clone
08 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 module on the CodeYourFuture account.
Maximum time in hours
1
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
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.
- π― Topic Code Review
- π― Topic Problem-Solving
- π― Topic Programming Fundamentals
- π― Topic Requirements
- π― Topic Time Management
- π Priority Mandatory
- π Sprint 1
- π JS2
- π Sprint 1
- π JS2
- π Priority Mandatory
- π― Topic Time Management
- π― Topic Requirements
- π― Topic Programming Fundamentals
- π― Topic Problem-Solving
- π― Topic Code Review
π§πΎββοΈ Check module success criteria π Clone
π§πΎββοΈ Check module success criteria π
Link to the coursework
https://programming.codeyourfuture.io/structuring-data/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 meet the module success criteria? Discuss it in your class channel and make a plan together.
π§πΏβπ€ good strategies
- asking volunteers to review your code
- helping each other with coursework blockers
- arranging midweek study sessions
- using Saturday time to review code together
π πΏ 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
- π JS1
- π Sprint 1
- π¦ Size Tiny
- π Sprint 1
- π JS1
- π Priority Mandatory
- π― Topic Time Management
- π― Topic Testing
- π― Topic Teamwork
- π― Topic Requirements
- π― Topic Delivery
- π― Topic Communication
- π― Topic Code Review