Practical programming : an introduction to computer science using Python 3 / Paul Gries, Jennifer Campbell, Jason Montojo. [O'Reilly electronic resource]
What's programming? -- Hello, Python -- Designing and using functions -- Working with text -- Making choices -- A modular approach to program organization -- Using methods -- Storing collections of data using lists -- Repeating code using loops -- Reading and writing files -- Storing data using other collection types -- Designing algorithms -- Searching and sorting -- Object-oriented programming -- Testing and debugging -- Creating graphical user interfaces -- Databases.