The influential computer-science text _Structure and Interpretation of Computer Programs_ by Abelson, Sussman, and Sussman is [available on-line](http://mitpress.mit.edu/sicp/), along with a range of teaching aids. Go MIT Press!
I am considering using some parts of the text to, at least, introduce the idea of computing, into my seminar surveying the digital humanities. I know I want to focus on some basic tools, including perhaps some exposure to Python, and, yes, there is always John Zelle’s [_Python Programming: An Introduction to Computer Science_](http://mcsp.wartburg.edu/zelle/python/) — which is still available for download in its 2002 incarnation [here](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.111.6062&rep=rep1&type=pdf) (careful, that’s a link to a 1.3MB PDF), but it’s nice to have options and to be able to offer students different explanations for the same concepts. (I know I need it when it comes to some aspects of computer science.)
Here is the [table of contents](http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-4.html).