Python is my language of choice because it is free, relatively easy to learn, and powerful, however you can implement computational thinking with any language or without technology at all (check out CS Unplugged for example).

If you are going to use programming with your students, check out What programming language should I use/learn?

- Useful 3rd party Python modules are:
- VPython - For graphing and 3D objects. (necessary if you wish to do the Slope Art Project)
- SAGE - Useful for classrooms/students that need a web based programming solution. Allows you and your students to maintain a online notebook of previous work and create interactive textbooks.

**Posts on Programming & Computational Thinking:**

- Android + Science with Physics Gizmo - Download the Physics app and check out the resources to create your own Android apps for Education.
- I'm Not Texting, I'm Programming - Check out the doScience Physics app and find out how you and your students can do amazing things with Android phones.
- Start Using Programming in your Math and Science Class Today - This introductory tutorial will show you what is possible, and help get you started.
- Algebra with Functional Programming - Check out the Bootstrap program and see how your students can learn algebra, make computer games, and obtain valuable programming best practices.
- Computer Science in High School is Critical for the 21st Century Student - Making the case for Programming in the Classroom.
- How to Learn a New Programming Languages with Students
- Introducing Computer Programming to High School Students Using Python
- Programming in the classroom - More Examples and Ideas
- Is Calculating Math? Part 1
- Is Calculating Math? Part 2
- Learn Modern Electronics with Arduino
- Modeling Math: The Spirograph Code
- Programming and Puzzles

**Resources for learning and teaching Python:**

- How to Think Like a Computer Scientist is what I used to learn Python and it is still my favorite tutorial. It is clear and easy enough for students of all ages.
- Interactive Python is an Interactive version that builds on the content above.
- Codingbat - Suggested by Michel Paul, "If a student creates an account and does a share to your email, you'll be able to see their code as they finish each exercise. You can't see their work until it is correct, unfortunately, but it's a really great set of exercises. They're fun to work through."
- Invent with Python - Students love making games and this gives them a great step-by-step journey into this world.
- Learn Python The Hard Way - Don't judge a book by it's title.
- Mathematics for the Digital Age and Programming in Python is a textbook used by Michel Paul and many other teachers for integrating math and programming.
- PyGame is some extra modules for creating games.
- The New Boston - YouTube tutorials on Python, C++, Java, and many other languages.
- Turtle and Geometry - Although the commands are in Spanish, Google translates it well. I have a list of the most used Turtle commands.
- Online Python Tutor - Visualizes how your code is running.

**People and Groups to Connect with:**

- Python EDU-SIG is a mailing list covering all sorts of topics regarding Python and Education. Brilliant innovators and never a dull post.
*Natural Math and Math Future are the work of the incredible Maria*Droujkova who always has new and innovative resources, speakers, and thoughts.

**Other Resources for Programming:**

- Alice - Brainchild of Randy Pausch et al. Allows students to create their own stories using programming. Boys and girls, young and old love this free software and it has been used successfully in English, History, and Humanities classrooms.
- Arduino - Open source and inexpensive microcontroller. Allows your students to program robots, sensors, etc. The Arduino makes it just as easy for students to learn programming especially if they are very hands on.
- Example code can be found here.
- Introduction to Arduino
- Computer Science for Fun - Magazine with fun math, science, and magic tricks for getting students interested in CS.
- Computer Science Teaching Association - Great way to connect with others.
- Google Computational Thinking Curriculum - Lessons for getting started in computational thinking tomorrow!
- Project Euler - A whole lifetime of math and programming knowledge could be obtained through this fun puzzles.

If you have additional resources let me know in the comments and I will encorporate them into the list.

**Subscribe**to BrokenAirplane!