Learning Scala and TDD using the 99 problems