If you like the activities and want to integrate coding into you class, school, or district, we’re happy to share what has worked well for us and what hasn’t. Below, you’ll find a short description of each of the digital tools we use followed by advice on implementation at a range of scales.

The Tools We Use


Python is a programing language commonly used in scientific research and data science. You may have heard of other languages, such as C++, Java, Fortran, or BASIC. Python tends to have fewer syntax rules and extra characters making it more human-readable that some of the alternatives. That means students often can infer what the code does just by looking at it.

Since we focus primarily on the science content, these activities don’t teach programming explicitly. If you or your students want to learn about loops, conditionals, functions, and other computer science fundamentals, there are high-quality free tutorials on the web. Check out Python.org, Khan Academy, DataCamp.com, and YouTube’s Programming with Mosh.


Jupyter is software that lets you write code and do useful things like open a data file, perform calculations, and create graphs. We use it like you would a spreadsheet program but instead of typing in cells, you type the instructions (the code) for analyzing and visualizing data. Researchers and computer scientists use it at places like CERN, NASA, IBM, Google, and Microsoft. Jupyter files are called notebooks so you may notice we use that term occasionally to describe our activities.

Jupyter runs is a browser window which makes it appear more familiar – and less scary – than the blank computer terminal you might be imagining. The notebooks display the code and what the code outputs (text, tables, graphs) all in the same window and can include formatted text (bold, italics, font sizes), hyperlinks, and images so the activities can look more like instructional materials students usually interact with.

The easiest was to run our activities is through an online interactive service like Google’s Colaboratory, described below. If you’d prefer to install Jupyter on your computer to run programs ‘locally’, download and install Anaconda. It contains Jupyter, Python, and all the other behind-the-scenes stuff your computer will need. You can download our activities and data at project GitHub by viewing a file, then right-click on “raw”.

Colab & Azure

You can install Jupyter locally on your device, but for K12 schools getting software installed can be anywhere from tough to impossible. Google Colaboratory, or Colab, has revolutionized how we use Jupyter notebooks with students and in teacher professional development. The only downside is it requires a Google account. If your school uses Google Classroom, that’s not a big deal. Running a notebook on Colab is great for older computers since it doesn’t use your processor for the heavy lifting. Like a Google Doc/Sheet/Slide, you can save it to your Drive and share it with others, but it doesn’t supoprt multiple users editing simultaneously. If you’d rather use a Microsoft product, Azure lets you run and save our notebooks in the cloud using your Microsoft or Outlook365 account. We haven’t used this service much (as of May 2020), but I’ll update here after using it in some workshops this summer.

We started this project on a dedicated JupyterHub server, then moved to using Binder. We moved to Colab as our project scaled, but big big thanks to the Binder team. This would not have gotten off the ground without them.


GitHub is cloud storage, team collaboration, and version tracking all in one. Professional programmers and organizations use it to host their code and keep track of who made which edit when. We use it to host our notebooks and the data files they analyze. Colab has a great feature that allows us to create a URL that opens a notebook on GitHub in your own Colab window. The Open In Colab buttons on the home page do just that. As of May 2020, Azure doesn’t support linking to individual notebooks, but you can copy the entire project (all notebooks and data) to your Azure account and run them.

Advice on Implementation

Use our activities as-is, edit and adapt them for your students, or let us work with your team. We can help you develop an implementation plan that suits your organization’s needs and resources. We have a strong record of offering high-quality professional development and district-level strategic planning on coding, physical science content, reformed pedagogy, and digital literacy. Schedule a consultation at adamlamee@gmail.com.

Aim for reaching most students

Get them on your side

Data and testimonials can help get students, parents, teachers, and administrators to join the cause. Here are some we’ve found useful:

Training is key

Make it your own

Feed your high flyers

Our activities allow for interested students doing more analysis than what’s in the directions and we’re often amazed at what they come up with. If that’s not enough, try suggesting these other free (and amazing) resources: