For Python, there are many freely available online documents and books. Use them, google them, find your own. We expect that experienced programmers will find their way. For beginners we have few recommendations:
Python for Software Design, How to think like a computer scientist [
Downey2009]. Non-traditional and interesting book, easy to read. Helpful especially for someone with no or very little previous programming experience. Updated (to Python3) version is [
Wentworth2012].
*
Dive Into Python, [
Pilgrim2009] is rather for advanced programmers.
Python Style Guide. How to name modules, variables, classes and functions, how to write comments and so on.
An Introduction to Tkinter overview of the Tkinter - library for
GUI and graphical output. We will not use it but you may want to play.
[
CLRS] T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein: Introduction to Algorithms, 3rd ed., MIT Press, 2009,
link
Standard worldwide used textbook, voluminous (1200+ pages) and detailed.
[
DPV] S. Dasgupta, C.H. Papadimitriou, and U.V. Vazirani: Algorithms, Mcgraw-Hill Higher Education, 2006,
link
Excellent textbook contains many important exercises, easily readable and written with minimum “academical” formalism.
In pdf: Link .
Another worldwide used textbook concerned mainly with sorting and searching. Contains very detailed and simultaneously approachable analysis of all algorithms, many pictures and examples. Link.
[ACG] Robert Sedgewick: Algorithms in C, Part 5: Graph Algorithms (3rd Edition), Addison-Wesley Professional, 2002
Continuation of [AC]. Graph representations, graph searching, shortest paths, minimum spanning trees, network flows, directed graphs. This book, similarly as [AC], stresses also important implementation issues. 528 pages. Link.