Backlog
Module-Complexity 🔗
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.
Implement a linked list in Python 🔗 Clone
Implement a linked list in Python 🔗
Task code
CYF-1180 - make sure to include this in your PR title or description.Link to the coursework
https://github.com/CodeYourFuture/Module-Complexity/tree/main/Sprint-2/implement_linked_list
Why are we doing this?
Getting practical experience implementing efficient algorithms and data structures.
Maximum time in hours
2
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
Implement an LRU cache in Python 🔗 Clone
Implement an LRU cache in Python 🔗
Task code
CYF-1181 - make sure to include this in your PR title or description.Link to the coursework
https://github.com/CodeYourFuture/Module-Complexity/tree/main/Sprint-2/implement_lru_cache
Why are we doing this?
Getting practical experience implementing efficient algorithms and data structures.
Maximum time in hours
3
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
Improve code with caches 🔗 Clone
Improve code with caches 🔗
Task code
CYF-1182 - make sure to include this in your PR title or description.Link to the coursework
https://github.com/CodeYourFuture/Module-Complexity/tree/main/Sprint-2/improve_with_caches
Why are we doing this?
Getting practical experience improving existing code to make it more efficient.
Maximum time in hours
3
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
Improve code with precomputing 🔗 Clone
Improve code with precomputing 🔗
Task code
CYF-1183 - make sure to include this in your PR title or description.Link to the coursework
https://github.com/CodeYourFuture/Module-Complexity/tree/main/Sprint-2/improve_with_precomputing
Why are we doing this?
Getting practical experience improving existing code to make it more efficient.
Maximum time in hours
4
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
Read about Acceptance Criteria 🔗 Clone
Read about Acceptance Criteria 🔗
Link to the coursework
https://reqi.io/articles/acceptance-criteria-for-user-stories-best-practices
Why are we doing this?
You will need to know this for a workshop in class.
Thinking about what a user needs, and when a piece of work is done, ensures we make software that works, solves problems for people, and that people can actually use.
Maximum time in hours
1
How to get help
Share your blockers in your class channel https://curriculum.codeyourfuture.io/guides/getting-help/asking-questions/
Complete the SDC end survey 🔗 Clone
Complete the SDC end survey 🔗
Follow this link to the survey: https://forms.gle/gbZJ8G4Ro7uzFF369
This is an anonymous survey that should take a maximum of 6 minutes to complete.
Why are we doing this?
This survey helps you reflect on your skills, learning journey and community engagement now you have reached the end of your SDC journey. It also helps us understand how SDC can be improved in the future.
Submission & Review
Finish the survey and click submit, thank you!
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.
Implement a Skip List 🔗 Clone
Implement a Skip List 🔗
Task code
CYF-1185 - make sure to include this in your PR title or description.Link to the coursework
https://github.com/CodeYourFuture/Module-Complexity/tree/main/Sprint-2/implement_skip_list
Why are we doing this?
Getting practical experience implementing efficient algorithms and data structures.
Maximum time in hours
4
Note that this is a stretch exercise - you are not required to complete it.
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
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 (volunteer team)
Mentored Coding (volunteer 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 a volunteer using one of the scheduling links in the #cyf-mentored-coding Slack channel’s canvas. If there are no available times, please post in #cyf-mentored-coding.
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 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.