Backlog

Module-Complexity 🔗  

Expand all

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.

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.

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.

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.

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 🔗

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.

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.