Spring, 2o17, as part of an experiment in teaching technology to non-science majors in a new class called Demystifying Technology, I taught a four-week long module on Python programming called “Program like a Martian,” which included student challenges loosely based on the book and movie, “The Martian,” which is a favorite of mine.
The class module is written as a series of Jupyter Notebooks, assumes no previous programming experience and is designed to teach the basics and inspire students to continue to learn Python on their own. I had the students sign up for pythonanywhere to avoid the hassle of coaching newbies through python installation and configuration (though it’s not hard), and to make it easy for me to distribute and collect the notebooks.
All of my class notebooks are hosted on github at https://github.com/jenyquist/PLAM
Below is an example of one of the notebooks. It starts with a tutorial on plotting data in python. Toward the end the students are challenged to calculate the “terminal velocity” of a skydiver on Mars vs. Earth.