This is a challenging course, covering more advanced programming techniques, and introducing more theoretical concepts such as data structures and complexity analysis. Other topics include environmental and ethical issues in computer science.
We will be using the Python 3 Tutorial on this site to cover the programming aspect of this course, supplemented by other non-programming materials (algorithm design, pseudocode, flowcharts) as indicated. This is my first time teaching this course, and I am making up resources as I go along, so bear with me!
Students wishing to work ahead may find the following free books by Al Sweigart of interest. They are fantastic, easy-to-read, and full of great ideas.
- Automate the Boring Stuff With Python
- Cracking Codes With Python
- Invent Your Own Computer Games With Python
- Program Arcade Games With Python and Pygame
Students who have programmed before, or students that are sufficiently motivated, may wish to try some of the programming challenges at Project Euler.
Want to do some Python programming outside of class?