If you haven't seen it already, check the Python 3 online index. This is the method that we use for searching the official documentation whenever we're confused.
What Should I Do Next?
There are a lot of ways to proceed once you're done with CS Circles, depending on what you'd like to focus on next.
- in Python & in-browser, more advanced material: Problem Solving with Algorithms and Data Structures and its prequel How to Think Like a Computer Scientist: Learning with Python, Interactive Edition
- in Python, more interactive: Invent Your Own Computer Games With Python and its sequel PyGame about animated interactive games
- web-based design and programming: the CEMC has Web Basics and Web Programming courses
- different language, in-browser, focuses on interactivity and graphics: JavaScript at Khan Academy
- language independent programming concepts: the CEMC has Language Independent Programming Lessons
- hard computational mathematics problems: projecteuler.net
- programming contests for high schools: CCC, ACSL, ECOO, DWITE, and USACO
More Excellent Resources
- Learn from courses at Udacity and Coursera
- Learn from the USACO Trainer in C++, Java, and Pascal
- Learn from the TopCoder tutorials or contests in C++ and Java
- Practice at the Sphere/SPOJ Judge or use its ideone console
- Practice at the PEG Judge ('blue book' problems are for beginners)
- Practice at the Pyschools problem collection
- Practice at the DMOJ (contests such as DMOPC + archive of old problems)
While our lessons use Python 3, which is the newest and most streamlined version of the language, the older version Python 2 is also used on some of these sites. Check out this summary of the differences between Python 2 and 3 (from the author of the pygame books).
If you want to share a resource or comment on the ones above, please contact us!