Astronomy Outreach using Python Marc Berthoud, Vivian Hoette Yerkes Observatory
Outline Why teach programming Why use python The Yerkes python K-12 activities Experience with teachers and students Results Future development
Why teach Programming • It's FUN • Programming teaches essential science and engineering skills: • Project design and management • Analysis and problem solving • Math, Physics, Computer Skills • You can illustrate (simulate) natural processes in great detail for science education. • Is NOT "a program": It is PROGRAMING ! You can create your own program that does anything you want it to.
Is a high level programming language Has simple syntax and is easy to learn Is open-source, has a wide user base (Among the top 5 programming languages worldwide) Is being used for Science (StSci, ISAC), Engineering (Honywell), Web Application (Moin Wiki), Business (Rackspace), Entertainment (Industrial Light & Magic) Runs on: Windows, Mac, Linux, iPod, PalmOS, Playstation Has extensions for: graphs, plots, image and sound manipulation, scientific computation, internet access (facebook), accessing hardware . . .
Why use Python • Python is a simple but powerful and flexible language • It is easy-to-use and has all the features and constructs of other advanced languages (C++, Java). • Learning python IS learning a new language. But this language is LOGICAL and SIMPLE (You can start after learning ~10 words and ~5 rules) • It's like learning Dutch, not Chinese: you know the alphabet, much of the grammar and the most important words (Python is more widely spoken than Dutch ). • Python is FREE and platform independent: your students can download it at home.
Python Examples: Diffraction Pattern
The Yerkes Python TWiki http://bussard.yerkes.uchicago.edu/Outreach/ActivityPython
Past Yerkes Activites • YAAYS: • Development of activities with Yaays teachers • Teach programming to 5-8th graders from Milton and Delevan at George Williams • Python session organized by Dawn Sammons at her school • Yerkes - SOFIA • Several sessions at Yerkes with local students • Activities are short, intensive (not a comprehensive programming class)
Feedback / Findings • Feedback: “This is Cool!” • Programming is very frustrating and also rewarding • Teachers and Students learned a lot • Variables for 5th graders • It’s a bit like Magic (it doesn’t always work) • It’s a very HANDS-ON activity • Students experiment, help each other, find their own ways • Connect learned theory with something real to play with • Emphasize basic concepts: • The computer is stupid and does PRECISELY what it is told • Every quote and dot counts • Print out instructions (avoids Ctrl-C Ctrl-V) • Instructor preparation is crucial: not only going through the material but also testing the installations
Next Steps • Make our activities accessible to more teachers • Improve teacher instructions and support • Expand and improve our activities • Provide continuous support for these activities at Yerkes • Investigate integration of programming in regular classroom activities
Ideas for Future Activities Astronomy: HR diagram, Impact Cratering Simulation, Image cleaning and presentation Computer Science: web programming, object oriented programming, image manipulation Simulations: optics, mechanical systems, electronic circuit, traffic patterns Math: fractals, sequences, numbers and algorithms Data analysis: astronomical images, time series and statistics, model fitting, Earth surface data Chemistry / Biology: simulate chemical reactions, game of life