|
Purpose & ObjectivesThis presentation starts from two assumptions - that learning some programming will empower students to better deal with technology in the future, and that Python is a good language for teaching programming to non-programmers. The purpose of this session is to introduce teachers to the Python programming language and show how it can be used to teach basic programming concepts to middle and high school students. Python is both a powerful language and a very clear and readable one, making it very suitable for teaching non-programmers. Being Open Source (and therefore free) and having a "batteries included" philosophy, can be used for teaching with no additional software or expense.The basic approach used is constuctivist - since Python is relatively easy to understand, students learn from running and then modifying example code, then finally creating their own programs. Participants will learn: 1. how to use the Python interactive "shell" to evaluate Python expressions and explore Python 2. how to create simple text-based programs with input, output and branching 3. how to create simple graphics programs using Python's turtle graphics, using looping and sequences of instructions. 4. where to find more resources for teaching Python, both online and in print Outline (for Open Source Lab)Introduction - What is Python and Why it is effective (10 min)Simple Python expressions (10 min) Basic text programs - output, input, if and else (15 min) Simple Turtle Graphics - loops, sequencing (20 min) Questions and Suggestions (5 min) Supporting ResearchThis talk builds upon ideas developed in Guido van Rossum's pioneering "Computer Programming for Everybody (CP4E)," a grant proposal accepted by DARPA in 1999. (http://www.python.org/cp4e/)Presenter BackgroundJanuary 2009 - "Computer Programming for Everybody: Teaching Programming with Python" (1 day tutorial), Indiana Computer Educators (ICE), Indianapolis, INNovember 2008 - "Introduction to Shell Scripting", Hoosier Educational Computer Coordinators, Indianapolis, IN Sept, 2008 - "Linux Users Groups and Schools", Open Minds Conference, Indianapolis, IN July 2008 - "Computer Programming for Everybody: Teaching Programming with Python", NECC, San Antonio, TX January 2008 - "Computer Programming for Everybody: Teaching Programming with Python" (1 day tutorial), Indiana Computer Educators (ICE), Indianapolis, IN November 2007 - "Open Source Software in Independent Schools", Independent Schools Association of the Central States Annual Conference, Indianapolis, IN October 2007 - "Linux Users Groups and Support for FOSS in Schools", Open Minds Conference, Indianapolis, IN June 2007 - "Computer Programming for Everybody: Teaching Programming with Python", NECC, Atlanta, GA March 2007 - "Goodbye, Hello World: Rethinking Teaching with Python", PyCon (national Python programmers' conference), Dallas, TX January 2007 - "Computer Programming for Everybody: Teaching Programming with Python" (1 day tutorial), Indiana Computer Educators (ICE) July 2006 - "Computer Programming for Everybody: Teaching Programming with Python", NECC, San Diego, CA May 2006 - "Linux Certifications", Fort Wayne LUG, Fort Wayne, IN February 2006 - "Teaching Python: Anecdotes from the Field", PyCon, Dallas, TX February 2006 - "101 Things You Can Do with VMWare", Fort Wayne Linux Users Group January 2006 - "Computer Programming for Everybody: Teaching Programming with Python" (1/2 day tutorial), Indiana Computer Educators (ICE) June 2005 - Review of "Data Crunching", Slashdot, http://books.slashdot.org/article.pl?sid=05/06/16/1930227 May 2005 - "Instant Python Hacking", Fort Wayne Linux Users Group March 2004 - "Creating Online Classroom Tools with Zope" (with Nathan Yergler), PyCon, Washington, DC, March 2003 - "Teaching Programming with Python and PyGame" (with Nathan Yergler), PyCon (National Python Programming Convention), Washington, DC
|