Teaching Algorithmic Thinking: Take 2

Last semester, I taught new (to me) classes in sixth grade technology, during which time I set a goal of teaching the sixth-graders how to think algorithmically and how to program in Scratch.

I gave them a pre-test, and I taught the unit by weaving lessons about flowcharts and algorithms into a project during which they created a little video game. The video game was scripted and every kid created pretty much the same game. The warm-up lessons required some group discussion and problem-solving, mostly about troubleshooting or analyzing an algorithm I had written.

Then I gave the kids a post-test. I blogged about the pre-test and the rubric by which I scored it in an earlier post.

I decided to really change how I’m teaching the unit this semester for two reasons:

1) The post-test scores weren’t amazing. They were OK, but I expected more.

Pre-test to Post-test gains in algorithmic thinking. Not bad, but not really proficient either.

Pre-test to Post-test gains in algorithmic thinking. Not bad, but not really proficient either.

2) I solicited student feedback. While some of them enjoyed making the game I created and found it fun, an equal number said they would have enjoyed being more creative with a final project. I want to give that to my students, and I think they’ll learn more and own the learning better if they get a chance to be more creative with it, so I’m going to change.

 

This semester, I’m teaching the class with three mini-projects on three concepts related to computer science: variables, conditionals (if/then decisions), and loops. After the three mini-projects, the students will be able to make their own creative final project that uses all three.

The first mini-project was on variables. Sixth-grade is when many students really learn about variables in any depth in math class. They explore percents, fractions, and equations and expressions. I created a few lessons and a mini-project that would tie in to what they did in math class. Here’s the lesson!

VARIABLES IN SCRATCH  lessons and mini-project

I’ll know more when I administer my post-test, but I was pleased with how this lesson went. I noticed students working with variables comfortably once they had processed the math operations that needed to be done.

In the coming days, I’ll also write about the next two mini-lessons – if/then blocks and loops – and a final project for the kids. I’m hopeful that I’ll see the students become more comfortable with how computers work with information and use algorithms to solve problems.

 

 

Advertisements

About dupriestmath

I'm a former software engineer who has taught middle school math and computer science for the past 6 years. I believe every kid has the right to be a thinker. I started this blog to save resources for integrating programming in the Common Core math classroom. I also use it to save my lessons and reflections from teaching budding computer scientists! Coding has transformed how I teach and think. You'll love what it does for you. You should try it.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: