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.




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 )

Google+ photo

You are commenting using your Google+ 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 )


Connecting to %s

%d bloggers like this: