The traditional way of teaching programming it to take a language – be it Python or C or Pascal and explain its various constituents item by item for about 20 hours of classes/lectures. What is a variable? How do you declare one? Do you have to declare one? What can it store? How do you use it?
It takes hours, even days, to cover such details and it’s done in boring, excruciating detail by most lecturers and books. The result … bored students whose attention wanders and who are lost to the class within the very first session and who often come away with the lifelong, lasting impression that programming is boring.
My approach is to first make the programming environment almost invisible to my students. I do this by using Python and in particular Jupyter Notebooks. These are simple web pages with some magic embedded in them: you can type in some python code and press control+enter and the code executes right there in the web page giving you a result right away. That means you can experiment to your heats content!
By making it possible to program right in their internet browser all my students feel that they’re just on Facebook or Twitter writing trivia to their friends. I remove the ‘awe’ that an Integrated Development Environment’ generates, get rid of all the ‘compiler’ and ‘assembler/linker’ worries and have everyone focusing on small (7 to 10 line) pieces of code that they can really, REALLY get their heads around within minutes.
Want to try it out? Right now? Follow this 30 minute [setup mostly] lesson to get up and running ASAP!