Computer Programming for Everybody: Python
June 4, 2008 it was my pleasure to spend a day leading an intensive Python with the programming teachers of the Naperville, IL public school system, in preparation for their switch to Python (from TrueBasic) in their intro programming course. It was a treat to spend an entire day talking about Python with such good teachers and it was also a great to see a school system with such a strong program. I'm sure they will do well with Python. My thanks to everyone involved for having me there and for everything.
Python is one of the fastest growing programming languages today, used for everything from Web applications (Google) to scientific analysis and control (NASA). Python is powerful and flexible, but also easy to use and free, making it a great teaching language. We will cover simple Python programs, ways that Python can be used to teach basic programming concepts in middle and high school, and available texts and online resources.
Presenter: Vern Ceder, Canterbury School, email: vceder<AT>canterburyschool.org, http://tech.canterburyschool.org/tech/VernCeder
Presentation: http://tech.canterburyschool.org/tech/TeacherSlides
Supplementary files
turtle.py (Included already in Python 2.5 and later. It is only needed for Python 2.4 or earlier.)
- You don't need to formally install turtle.py - just save it in the same folder as the python code you're working on.
LiveWires Windows installer (from latest LiveWires Package, v2.1-r2)
PyGame - to use the advanced Games portion of LiveWires, and to for it's own merits, you need PyGame.
Links
Just-in-Time vs Just-in-Case Learning from Kathy Sierra "Creating Passionate Users"
General
http://www.python.org Python's Home Page - This is the best place to start, in general
http://wiki.python.org/moin/BeginnersGuide A Beginner's Guide to Python
http://www.ibiblio.org/obp/pyBiblio/ PyBiblio - stuff relating to teaching with Python
Community (mailing lists, etc)
http://www.python.org/community/sigs/current/edu-sig/ Edu-Sig, the Python education SIG.
http://mail.python.org/mailman/listinfo/tutor The tutor mailing list - the best place to ask about how to write Python programs.
Documentation and Books
http://www.python.org/doc/ Python Documentation
http://wiki.python.org/moin/IntroductoryBooks Introductory Python Books
http://python.oreilly.com/ O'Reilly's Python Center
Texts and Tutorials
http://www.freenetpages.co.uk/hp/alan.gauld/ Learning to Program (for non-programmers)
http://thinkpython.com/ How to Think Like a Computer Scientist: Learning with Python
http://diveintopython.org/ Dive Into Python: Python for Experienced Programmers
http://www.byteofpython.info/ A Byte of Python
http://www.python.org/doc/Intros.html The Official Python List of tutorials
http://docs.python.org/tut/tut.html Guido's Python Tutorial
http://www.hetland.org/python/instant-python.php Instant Python (for programmers)
http://www.hetland.org/python/instant-hacking.php Instant Hacking (for non-programmers)
Software
http://vpython.org/ Visual Python - AKA vpython
http://pygame.org/ PyGame - Game and graphics programming in Python
Yours Truly
- Email me at the address above - I'll answer.
Programming handouts
Used with our 8th grade
- Saving and Running Programs
- Python "expressions"
- Variables
- Errors
for loops
- Random numbers
conditionals (if, else)
while loops
- Turtle graphics
- Combining previous elements
Used with our 9th grade
- Saving and running programs
- Variables
- Random numbers
while loops
- 2-D grid plotting
- Using external modules
- Animation
Conditionals (if statements)
- Generalizing patterns
- Complex problems
for loops
Generally
- Progressive improvement
- Problem solving
- Generalizing patterns
- Combining previously learned elements
The above are in .pdf format. If you want the source, email Vern at the email address above
