Introduction

This homework is intended to test:

  • some algorithmic fundamentals
  • programming fundamentals
  • a little bit of basic Redux

The steps are unrelated and can be done in any order. Read them all first so you have some idea what they require, then make a decision for yourself in which order you will perform them. The files contain comments which tell you what is expected.

Make sure that you create only what is asked and do not change anything outside of the requested code. So, if you're asked to write a function, do only that, and do not change the provided code.

Running the code

The steps are plain JavaScript files that you can run with node. However, they are intentionally incomplete. You need to write the required code in order for the program to run. An example command would be:

node step1.js

Evaluation

Steps will not be given a pass/fail binary score. This means that any effort made towards a solution is appreciated, even if you do not complete the step. If you have an incomplete solution, hand it in.

We will be discussing the code you write 1-on-1. Be prepared to explain exactly what you did and how the code works. This means, after creating a solution, you have to carefully re-read your code. You have to understand it and be able to reproduce it from scratch, if necessary.

Send your homework to teachers@codaisseur.com before Sunday 20:00

Clean up your code:

  • Fix the formatting/indentation
  • Remove unnecessary code.