The plan for the second week is to start learning some basic Python notions. Before that, I usually introduce the notion of pseudocode as an easy way of describe how to solve problems. This allows me to discuss problems for which we do not have all the necessary programming background to implement them. I tend to keep a fairly informal definition of pseudocode. After that, I introduce the notions of data types and variables. We learn about integers, floats and strings. I also discuss branching (if-then-else) as a first way of controlling the flow of the program.