JavaScript Kata
Summary
For this challenge you will be completing a number of different exercises to practice your JavaScript.
- fork the repo at
https://github.com/dev-academy-foundations/javascript-kata
to create your own copy - clone your forked repo
cd
into the new directory and runnpm install
.
The tests have already been written, now you need to write code to make the tests pass! Each kata is presented slightly differently and focuses on different parts of JavaScript, so make sure you take your time to read the accompanying file and get yourself familiar with the kata before starting.
Time Box
Activity | Time |
---|---|
Kata | 15 hours |
Stretch (JS Olympics) | 6 hours |
Description
The concept of kata are taken from martial arts; small, repetitive tasks used to improve your form. We use kata in coding as small challenges that we can repeatedly do to use different techniques or pieces of code to try and solve the same problem in different ways.
This will be your first time encountering these kata, so don't expect that you will do them quickly. Each time you redo them, you will have the experience from last time, so your time will decrease each time you retry them.
Once our basic kata have been mastered, the next step is placing some restrictions on how you complete them. You will have many different ways to complete the same kata, so restricting how you do it can help hone your form in one particular area.
Tests and error messages
The tests are already written, you just need to write the code to make them pass. Remember that error messages are a good thing in coding - often they point you to the exact line number where there is an issue! Use the feedback from tests to problem solve.
Problem solving
This challenge is an excellent way to work on your problem-solving skills. Read the error messages, use console.log()
, break down the problem line by line with your 'rubber ducky'/houseplant/pet, use Google etc
Remember:
- to pseudocode throughout your kata to help you understand what each line of code is doing (plus, this allows us to see your line of thinking when we mark your work)
- break down problems into small manageable pieces!
- when you get stuck, ask for help to get unblocked. The Foundations Discord channel is the best place to ask as all Foundations students are working on this same challenge, and we can guarantee you're not alone whenever you feel blocked!
Get Coding!
You will need to work through the kata in the order given below as they will build on JavaScript from earlier kata.
Kata | Time |
---|---|
Variables and Objects | 1 hr |
Manipulating Objects | 1.5 hrs |
Super FlipFlop | 4 hrs |
JS Gradebook | 4 hrs |
Built-in Methods | 4 hrs |
Stretch | |
JS Olympics | 6 hrs |