If you like what you see here, check out my other work at adamlamee.com.
- develop instructional resources to bridge the gap between drag-and-drop, game-like coding (see the wonderful stuff on CODE.org and Scratch) and traditional Intro to Computer Science courses that teach writing programs from a blank terminal
- give meaningful exposure to software and programming languages used by professionals so students can continue to build upon their experiences through college or career
- increase equity and access to computer science by reaching a majorty of a district’s students with activities designed for core courses that first and foremost teach topics identified by the teachers who lead those courses
- broaden adoption with a focus on making it easier to implement by using intuitive, free software and fully-editable activities designed for teachers with no prior coding experience.
Our coding activities cover a range of science topics, some computer science basics, and even some non-STEM analyses. They intentionally don’t have much extra formatting, answer keys, or explanatory text. They work well for teachers learning about scientific computing and, if you’re a minimalist, can be used as-is with your students. If you prefer your students to have more detailed instructions, they’re easy to edit for a different presentation, sequence, question type, etc. Google’s Colaboratory has become our go-to platform for easy implementation in a variety of settings. It lets you run these Jupyter notebooks from any device with a browser (desktop, mobile, or otherwise). Want the raw notebook files? See the project GitHub.
- You’ll need to be logged in to a Google account.
When running an activity for the first time, expect to see a pop-up window warning these are hosted on GitHub (it’s totally safe, that’s why we use it). Just click “okay” or “run anway”.
- Intro to Jupyter is a 5-minute guide of how to use our activities. If you’ve never programmed before, this is a great place to start.
Earth & Space Science
- Quakes uncovers plate tectonics using seismic data.
- Global Temp examines the effect of water on global climate using data from 1880-present.
- Stars uses a huuuuuge star catalogue to look for patterns in brightness and temperature, create an H-R diagram, and see constellations.
- Tides plots 5 years of sea-level height data to study the relationship between tides, moon phase, and the seasons.
- Water Supply looks at relationships between fresh water supply and usage across Florida.
- Rainfall (in works) compares monthly changes in rainfall to lake water levels.
- Motion plots position vs. time data and fits a trendline; can be used with student-collected data.
- Motion graph matching of position or velocity to model motion and practice relating algebraic equations with the graphs they represent.
- Elements looks for trends in the periodic table.
- Muon Invariant Mass let’s you practice doing math (and the Pythagorean theorem) while you learn some basic of relativistic kinematics with data from CERN’s LHC.
- CMS Event Analysis applies conservation of charge, energy, and momentum to hunt for particles in data from CERN’s LHC; used in Quarknet’s Data Camp (grades 9-16).
OCPS 7th Grade (in development)
- Genes predicts genotypes of offspring with a Punnett square.
- Heat investigates the relationship between heat and temperature.
- Populations plot and interpret data on manatee population over time.
- Quakes uncovers plate tectonics using seismic data.
Do students need to learn how to code?
There’s increasing momentum for coding in schools and that’s a good thing. Every student should be exposed to computer programming – equal access to lucrative careers depends on it. However, a dedicated computer science course is not the answer for all (or even most) students. Math and science courses are prime territory for this task. Here are some ways my colleagues and I are making that happen. Have a question or want to contribute? Send me an email at firstname.lastname@example.org.
You may be surprised to see the salaries and backgrounds of computer programmers in Central Florida, courtesy of Orlando Devs.
How we do it
Teachers have enough to cover without adding computer programming to the list. Our goal is to use computer programming as a tool to address science content - the coding is secondary. So you won’t see loops and conditionals taught explicitly, but that allows non-CS-fluent teachers to use these activities with their classes in useful manner. You can find the source files on the project’s GitHub. These resources are free to use and modify, but not for resale. If you’re a teacher using this with your own students, let us know how you’re implementing it (because we’re interested in that sort of thing). Others: see the project’s GitHub for license information.
- Python is pretty intuitive and doesn’t have many of the syntax requirements other languages do.
- Jupyter is free, runs in a browser (so it looks less daunting than a terminal window or traditional IDE), and displays markdown, code, and output all in the same window. Install Jupyter on your own computer with this how-to guide.
You can install it on your own device with Anaconda. Get the Python 3 version (not Python 2). Anaconda includes Python, Jupyter, and lots of other useful tools our activities use. Need a video to walk you through getting started? Check these out:
- Installing Anaconda w/Python 3.6 for Windows (includes Python and Juypter). Mac install coming soon.
- Using Jupyter - quick version.
- Using Jupyter - long version.
Seminole County, FL
We helped Seminole County School District develop coding activities for 6th and 7th grade science along with student worksheets. Their pilot began in spring 2017 led by Bryan Turner (Milwee MS) and Adam Goodman (Markham Woods MS) with help from UCF PhysTEC and its undergrads. Like we need another reason to envy how Seminole County does science? Find the source files on their GitHub.
Orange County, FL
We’re also helping Orange County Public Schools integrate coding into their 6th grade science classes districtwide (FYI: that’s over 14,000 kids we’re reaching this year), with 7th and 8th soon to follow.
“Orange County Public Schools is expanding coding in middle schools by authentically embedding coding activities in 6th grade (science classes). Students will gain meaningful exposure to coding in the Python programming language through traditional science instruction.” - statement from the Superintendent’s office
Imagine nearly every student arriving to high school with three years of scientific computing experience … wow. Check out their interactive activities or view the source files on GitHub](https://github.com/ocps-codes).
Make it happen in your school
Use the activities linked above, write your own, or let us work with your team. We can also help you develop an implementation plan that suits your site’s needs and resources. My colleagues and I conduct teacher workshops and district-wide professional development on coding, physical science content, reformed pedagogy, and digital literacy. Drop a line to email@example.com if you’d like to learn more.
- Presentation from the FL Assoc of Science Supervisors.
- code.org is the go-to place for fun, free activities for teachers and students to learn about coding.
- Code Academy has great self-paced courses to teach yourself a programming language or new job skill. One of my former students used it to learn Python in a weekend, got a developer job that Monday, and a year later is at a cool startup, all without a college degree. And that’s not uncommon.
- CERN Open Data includes educational resources on particle physics and offers students (and the general public) the opportunity to access and analyze authentic data for the Large Hardon Collider. Yeah, it’s pretty cool.
- Particle Physics Playground provides Jupyter notebook exercises with particle detector data from CMS and CLEO.
CODINGinK12.org activities by Adam LaMee is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.