Did you know about Ada Lovelace? You Should Thank Every Time You Use a Computer. She worked on an early computer known as “Analytic Engine”. She wrote the first algorithm for this engine that is thought of as the first computer program in the world.
Grace Hopper – She was one of the first programmers of the Harvard Mark I computer. She made up the first compiler for a computer programming language.
Betty Holberton – She was one of the six original programmers of ENIAC, the first general-purpose electronic digital computer.
Audrey Tang – She is famous for Perl programming languages contribution. Tang started coding in Perl programming language at age 12.
Marissa Mayer – She started the career as a programmer and now CEO of Yahoo! She is a famous girl programmer in the world. She is known as employee number 20 for Google too.
Sheryl Sandberg – Sheryl is COO of Facebook company currently and founder of Leanin.org
Tracy Chou – She is famous for his coding skills and is a software engineer and advocate for diversity in her field.
During the summer, I taught a computer science course for educators at the Krause Center for Innovation at Foothill College. Funded by Google’s CS4HS grant, this was a four-day intensive “crash course” for 60 teachers in the San Francisco Bay Area. Within that group were science teachers who decided to spend their summer break learning how to incorporate computer science into their classes. This would not only engage their students in science topics, but more importantly, it would bring many of the Next Generation Science Standards (NGSS) practices to life. Released in 2013, the NGSS was created to align science education with how scientists actually work and think. It encourages students to learn science content and concepts deeply by using critical thinking and primary investigation skills. Adopted by 18 states (with as many as 40 interested and in the process), the standards define science education through core concepts (such as wave properties), practices (like analyzing and interpreting data ) and crosscutting concepts (like cause-and-effect). Some of the NGSS guidelines directly overlap with the practices listed in the K-12 Computer Science framework and the new CSTA Computer Science standards. Here’s a doodle that illustrates how the two subjects overlap.
For more, check out the diagram at bottom of this page on the K-12 CS framework website. So if you want to implement NGSS, consider adding computer science to your science classes in the following ways.
Analyzing large data sets is an important topic in computer science. Every day, we generate data directly or indirectly as we use our phones, shop online or go for a walk with wearables strapped to our wrists. Understanding how data is stored, and how to analyze it using computing, will make this information useful. Scientists often spend more time analyzing their lab data than running experiments. They use existing computational tools or write code for their specific needs. So it is no surprise that data features prominently in two of the eight NGSS practices (Analyzing and Interpreting Data; Using Mathematics and Computational Thinking). In my summer CS professional development program, teachers learned how to run computations on spreadsheets before sorting and graphing the data. Science teachers explored publicly available data sets available at data.gov to find data on science topics such as earthquakes and weather.
As an example, students can analyze extreme weather data in their local area and then graph the number of times a certain condition is reached. The screenshot above examines extreme weather from counties in my area. I used this data to find out how many times in the last 20 years, heavy rain caused more than $50,000 in property damage. The COUNTIFS function in Google Sheets counts the number of times multiple conditions are met. In my example, the conditions are heavy rain and damage exceeding $50,000. The formula for counting that is:
My analysis showed that high wind, not heavy rain, is the weather event in my area that causes the most damage. Students can run similar computations on actual climate data and then sort or graph results to test their hypothesis on what weather causes damage in their areas.
Building simulations using block- or text-based computer models
There are many science experiments that cannot be replicated in a classroom—natural ecosystems, radioactivity or natural selection, for example. Such topics can only be addressed using a simulation, where students can set up a hypothesis, manipulate variables, test their ideas, collect data, and then analyze and graph their results. Simulations offer a useful way for teachers to address the “Developing and Using Abstractions” and “Creating Computational Artifacts” practices in the K-12 Computer Science framework. For example, a science project might involving creating a simple producer–consumer ecosystem model using a programming tool. Students might build a computer model of an ocean ecosystem and test the complex adaptive behaviors that occur when fish population changes due to changes in food, temperature, pollution or number of predators. Two of the NGSS practices—“Developing and using models” and “Using mathematics and computational thinking”—can also be addressed using simulations. Science teachers may be glad to learn that they do not have to be expert coders and create the computer model with original code. Several ready-to-use simulation models are available. With some professional development, teachers can show students how to run the simulations and then read and modify some of the code to extend their experiments.
MIT’s Starlogo Nova is a simulation tool for the K-12 classroom. It uses an easy, block-based language similar to MIT’s Scratch (and this September released a major upgrade to HTML5). Several ready-to-use models, as well as detailed lesson plans, can be found at the Project Guts curriculum site, and also through Code.org’s CS in Science. The screenshot above shows an ecosystems model of rabbits and grass from this curriculum. (Note that the graph changes, showing data on number of rabbits and grass as the simulation runs.)
NetLogo is a text-based tool that can offer K-12 teachers a powerful modeling environment. It is used for research and at colleges and can be downloaded or used via a web browser. The screenshot above shows a model where students can manipulate amplitude and frequency to study wave patterns.
Science teachers can also use the popular block language, Scratch, to let students build their own simple computer models to represent scientific phenomena such as water cycles and chemical reactions. In California’s Los Altos School District, where I work as a computer science integration specialist, some third graders use Scratch to make a food chain model. (See the sample student project screenshot above). Fifth graders also connect Scratch with Makey Makey to turn their physical science models, made from cardboard, into an interactive model that lists facts or quizzes the viewer.
Integrating CS in science class gets us closer to CS for ALL
In addition to implementing the NGSS guidelines, integrating CS into science classes will help schools introduce computer science to every student without finding additional class time or computer science teachers. It also gives every student exposure to coding—even those who may not think computer science is for them: minorities, girls, English language learners. Once students see that CS concepts apply to every subject, they will see it as a tool to solve problems. Coding also encourages trial and error, thus offering a fun, experimental approach to learning. Later on, this exposure can motivate a student to take a CS class if it is offered at their schools. Above all, introducing computer science projects and activities can bring a new, experimental hands-on element to many science lessons. This integrative approach also helps students who do not have a CS elective in their school, or who cannot add a CS elective due to schedule conflicts or space availability. (Many schools have limited CS elective classes due to a teacher shortage.) Integrating CS principles into science classes is feasible. Teachers will need professional development, and ongoing support from their administrators, other teachers, parents, and from a professional learning community. Where possible, a computer science teacher or a computer science integration coach can help bridge the gap. At KCI, Foothill College, we plan to offer Saturday workshops throughout the year, and more professional development sessions every summer to help teachers learn CS concepts. I hope science teachers looking to implement NGSS will integrate these ideas in their classroom and give students a glimpse into the world of computer science.