https://medium.com/@jasmine.moreira.2013/to-teach-programming-or-not-to-teach-programming-that-is-the-question-8cefd765f173