Datastructures and Problem-Solving using Javascript