Saturday, October 15, 2016

Hutchins - Math Lesson Plan Using Scratch

The day I was asked to take over the computer science curriculum at my previous school I was given the choice of continuing a programming project that students were working on with the previous instructor or start from “scratch” (pun not initially intended). The students were working on building a calculator through Visual Studio using C#. To me – I felt sorry for the students because I thought this could quite possibly be the most boring programming assignment for a high school student. They all owned calculators or could use a calculator on their home or school computers. Why would a high school student be remotely interested in building one? And in C#, no less.

Based on our readings and class discussions – I think this project may be potentially useful at a younger age (middle school) using Scratch. Each digit/key would be a sprite programmed to do a certain task or representing a certain value (a value that must be saved in the flow of the program until the equal sign is clicked). The assignment plan:

1.     Students work in groups to:
a.     Decide on look of calculator (choose images for sprites)
b.     Assign tasks (one student may be responsible for the sprites that represent numbers, another student may be responsible for + and -, etc)
2.     Each individual member of the group is responsible for coding specific sprites based on the initial group meeting
3.     Lab Meeting: groups given time in class to discuss their initial findings on coding of the sprites. Did they have similar findings/algorithms? Should they change their initial plan based on their progress?
4.     HW: Individual assignments due
5.     Lab Day: Groups will be given lab time to combine their code, test their calculator and finalize their calculator for submission.

The overall flow of the assignment may not be optimum (for instance, maybe it is better to complete the entire assignment in class with teacher supervision).

In terms of assessment, the easiest assessment piece would be the accuracy of the calculator. Do sprites do as intended? It would be worthwhile to do a pre- and post- assessment for this assignment on topics ranging from adding, subtracting, multiplying and dividing to an understanding of components of an equation (in x – y, what is the relationship of y to x? (maybe not the best example)). This would allow for a teacher to see if there is an improvement in understanding the math concepts addressed by building a calculator.

In terms of computational thinking, I believe a quality rubric focused on abilities such as planning, debugging, collaboration is needed (as discussed on p3 of Grover and Pea, in reference to a Conley and Darling-Hammond article). In addition, the ability to build a calculator involves ideas or concepts necessary in object-oriented programming languages. In this case, each sprite is an object and each student group needs to correctly implement the appropriate relationships between the objects for the calculator to work. A more informal assessment could be completed that gets the students understanding of the relationships between sprites and how the relationships fit into the bigger picture of their submitted calculator.


I would love to hear what you all think – especially downsides or fixes you may have for this idea!

4 comments:

  1. This is a well thought out and interesting lesson plan. What I need a little clarification on, is how creating the sprite's function would promote a deeper understanding of what that function accomplishes for mathematicians. Would this be clarified in a discussion format, or would students come to their own conclusions based on experience with the program? Also would the goal of this assignment be to encourage computational thinking or would computational thinking support the ultimate goal of concept proficiency? I acknowledge this is a question we seem to come back to more and more in our discussions. So I am not proposing you give me the end al be all answer on which is more worthwhile.

    ReplyDelete
    Replies
    1. Unfortunately, I have never taught a math class, but based on how I was thinking I believe the best way to answer your question would be to ask -- how would you program a calculator? The pitfalls students reach due to the affects coding one sprite (primarily the addition, subtraction, multiplying and dividing sprites) may have on the outcome of using other sprites can be quite telling. In fact, some may resort to having lengthy conditionals that are implemented when the equal sign is clicked instead of coding each individual sprite (other than to save the action). Perhaps this lesson plan would be more worthwhile prior to the introduction of variables or as a segue into algebra 1, as I do not think it is necessarily a test of their ability to add, but more of an understanding of different parts of an equation.

      Computational thinking would support the ultimate goal of concept proficiency.

      Delete
  2. This comment has been removed by the author.

    ReplyDelete
  3. I like the idea of each sprite acting as a command on a calculator. It begins to address the reification of symbols. I think this project would be helpful to assess students understanding of a mathematical concept previously taught through programing. I see this activity as a way to use, and consequently learn, a programing language. I think a prerequisite of this would be for students to have a firm grasp of the function they are assigned to programing a sprite to do. If they didn't fully understand the mathematical implications of a + sign then they wouldn't necessarily know when to debug their sprite based on the output when using the sprite.

    ReplyDelete