Decomposition and abstraction through functions; introduction to recursion
This subject is aimed at students with little or no programming experience. It aims to provide students with an understanding of the role computation can play in solving problems. It also aims to help students, regardless of their major, to feel justifiably confident of their ability to write small programs that allow them to accomplish useful goals. The class will use the Python™ programming language.
Functions, type conversion, and stack diagrams: Chapter 3 of How to Think Like a Computer Scientist | More about functions: Chapter 5 of How to Think Like a Computer Scientist (through section 5.4) | Documenting functions: Documenting functions from Dive Into Python | Recursion: Chapter 4 of How to Think Like a Computer Scientist (from section 4.9 on) | Chapter 5 of How to Think Like a Computer Scientist (from section 5.5 on)