This paper discusses why python is appropriate to use as a teaching language. It's fairly tedious to read it and pull out the gems. The author meanders down different paths.
Here's a few things that caught my attention.
In a review of literature of teaching high school computer programming,
Taylor (1991) identified five interrelated steps taken in the creation of a
functional computer program:
- Problem definition
- Algorithm design
- Code writing
- Debugging
- Documentation
At this stage, I'm just working on
Code writing. Although I have much further to go with my student, I can see how the other steps such as
Algorithm design might be useful.
Other things I want to think about more:
- teaching the use of code templates
- working in teams
- planning before coding
- writing code to be read by human beings in addition to the machine
Three types of programming knowledge:
- syntactic
- conceptual
- strategic
The document gains some steam at page 69, section 2.2 Teaching Programming.
http://www.python.org/files/miller-dissertation.pdf