NSF Awards: 1640039
Computer Science Integrated with Mathematics in Middle School (CSIMMS) has been a collaborative effort between middle school mathematics teachers and STEM Education and Computer Science (CS) faculty. In this project, we have developed twelve modules that integrate CS in the teaching and learning of mathematics in middle school classes, grades 6-8. Supportive teacher materials are currently being developed for each module. As these modules and teacher materials are finalized, they will be made available on an open-source site where students may access the modules and teachers may set up free accounts to access the modules and the educative teaching materials.
David Kung
Director of Policy
Sounds like a very interesting project! I'd love to know more about how you went about ensuring that the modules would meet students where they are. Did you get to do some beta testing with students? What were their reactions? Does the evaluation for the project include student data?
Importantly, I'm also wondering about EDI issues. We know CS has had serious gender issues (race too - but less so) - and if it's like my own field of math, those issues come to the fore in middle school. How does this project address gender issues?
Ashley Gannon
Graduate Student
Hi David! Thank you for your questions. In the Summer of 2017, we held a 4-week summer workshop for a group of middle-school math teachers and STEM and CS education faculty and graduate students to design six initial modules. These modules were then piloted in the 2017-2018 academic year, and various assessment data were collected including student (pre-assessment and post-assessment for math and CS concepts, interviews, and MISO surveys) and teacher (interview) data. To make sure we were meeting students where they are, we held another 4-week workshop in the summer of 2018 to revise these modules based on the analysis of the assessment data. During this workshop, we also developed another six modules. The twelve modules were piloted in the 2018-2019 academic year and the same data were collected. These modules were refined in Summer 2019 based on data collected. This iterative process continued through the 2020-2021 academic year.
As for your last question, we purposely developed our units to have real-world problem connections that are accessible to both genders and multiple races. Also, we purposely tested our modules in schools with high minority populations (gender is pretty much equal in public schools). Here is a link to a table of the demographics of the schools where these modules were implemented (pseudonyms are used for the schools).
Myriam Steinback
Consultant
This project sounds very interesting. It's wonderful that you are making them available to all I am curious to know how these modules fit within the students' regular classes? When are they incorporated? I see that Scratch is a component of it and teachers are supported with that; are students also supported?
Ashley Gannon
Graduate Student
Hi Myriam! Thank you for your questions. These instructional modules integrate CS concepts into middle-school general mathematics courses. The modules can be used to cover the following topics:
We have designed the teacher notes so that teachers may support students with Scratch. In these instructions, we guide teachers on how to program in Scratch and how to set up studios for each problem. Having these studios provides teachers the ability to easily share students work with the class and for students to view each other’s work. This is especially useful for classroom debugging sessions, which is beneficial for students who are learning how to code. Because these modules were temporarily implemented remotely due to covid, we also have videos students can reference for additional help with programming and math concepts.
Cynthia Stenger
Hi Ashley, at CPR2 we also have a lesson exploring angle measure of polygons. We use Turtle in Python to push students to discover the relationship between the measure of interior and exterior angles of a regular polygon as the number of sides increases to infinity. We have not tried it with 7th graders but would be aligned with our grade 7 math standards, maybe as an enrichment activity. I see your lesson is for 7th, would you mind sharing the ideas your lesson addresses?
Ashley Gannon
Graduate Student
Hi Cynthia! In this module, students explore the mathematical concepts of supplementary, adjacent, interior and exterior angles, proportional relationships, and area of polygons. The CS topics introduced in this module are variables, expressions, input/output, sequencing, selection, and iterating. The module is composed of four sections and takes about a week to implement.
Section 1: Drawing Squares
In this section the students will use Scratch to:
Section 2: Changing Angles
In this section the students will use Scratch to:
Section 3: Determining angle of turn based on number of sides
In this section the students will use Scratch to draw:
Section 4: Programming Sprites to draw any regular polygon
In this section the students will use Scratch to:
Noelani Ogasawara Morris
Demonstration Teacher
This sounds like you are building such a great resource for the larger teaching community to use in their classrooms. I am an elementary school teacher and recognize that middle schools set up their classrooms in different ways across the country (for example, some use block scheduling, others meet daily per subject area). Through my experience with Scratch, just getting used to the program and navigating how to use the blocks and coding takes some time. Do you envision the teaching of Scratch being integrated into the mathematics lesson or is it being taught separately? What can I do as an elementary school teacher to best prepare my students to be able to feel confident in a classroom where much of the problem solving is integrated with Computer Science?
Ashley Gannon
Graduate Student
Hi Noelani! Thank you for your questions. For your first question - A little of both! We developed a module specifically for introducing Scratch to students. This module covers getting started with Scratch and the basics of programming in Scratch. New concepts are also introduced in modules containing mathematical content (content tested via standardized testing) – the introduction of these new topics is driven by math instructional needs. In our current implementation, teachers implement the introductory module once before the modules containing mathematical content.
As for your last question, helping them to think algorithmically and exposure/experience with Scratch might be helpful. I do not know and specific projects off the top of my head that would be useful to you but check out the projects on the Scratch website! I’m sure there is something there.
Cynthia Stenger
this sounds like a great project! I would love to hear more about how CS is integrated in the math classroom in your lessons.
Ashley Gannon
Graduate Student
Hi Cynthia! Here are the mathematics topics we cover in each module and the programming topics covered in each module. The modules we developed in this project are predominately math modules, the CS content is incorporated to support math education. I’ll dive in to the Ratios and Proportions module as an example. This module has 6 sections and takes about a week to implement.
We start the module by having students look at sections of roller coasters and talking about which parts are the scariest. We then relate this to steepness.
As an introduction to algorithmic thinking and debugging, students emulate the relationship between a robot that executes code and the sequence of commands in a computer program by giving their teacher instructions on drawing a roller coaster segment (right triangle).
Students draw different roller coaster segments in Scratch. This allows them to visualize triangle with different steepness and prepares them to explore a way of thinking about the mathematics behind steepness. This activity allows students to reflect on their instructions from the robot activity and gives them practice with algorithmic thinking and debugging their programs.
This section does not contain any programming components, but formally introduces steepness, ratio, and the constant of proportionality. It consists of two parts: a discussion of segments with the same steepness and practice problems that involve using the constant of proportionality to describe steepness.
This section allows students to use Scratch to implement what they learned in the last section. In this section, students have their sprite draw different roller coaster segments with the same constant of proportionality and then draw segments with different constants of proportionality. This task requires students to use the constant of proportionality while introducing the programming concepts of variables and expressions.
This section gives students another context for using the constant of proportionality – by comparing the costs of chicken wings at different restaurants. There are no programming tasks in this section.