https://impact.sloan.org/how-to-teach-programming-according-to-the-innovators-recreating-the-textbook-8c09463996a0