Could not interpret the Steps for this Activity

Hi Everyone,

I am totally confused by this Activity. I get the point of it, I just don’t know how to make heads or tails of the step-by-step directions. I would not know how to explain to a kid, for instance, what is meant by Step 1B (Find the name card where? In the place I just put it when I made it in Step 1A?) or Step 2A (I don’t know why the initial values aren’t included in the workspace in the example) or 2B (Why am I crossing off the variable name?) Honestly, I’m a little frustrated since my students are not high level readers, and apparently neither am I. Anybody on the board do an alternate activity that accomplishes the same objective that they would like to share? Thank you!

It is awesome you get the point of this lesson. The confusion that can come from this lesson is a prime example why we should take our time teaching this concept and really dive into what it going on under the hood with input -> processing/storage -> output.

First, name card = label. They have the same meaning. Also, many of the steps can be confusing for the short/easier programs because the value/point of the step can’t be directly seen. When you get to longer programs, like program 3 and 4, you will start to see the value of each step.

Step 1A & 1B will never be completed for the same line of code. It is dependent on whether the line of code has a var command or not. 1B is asking students to reference the label/name card before the =. This would only happen if the name card/label was already created in a previous line of code. Since the first line of code must always start with a var command to create a variable/label/name card, the first step students will take will be 1A. Later lines of code will either be 1A or 1B dependent on if it is a var command or not.

For step 2A the initial values aren’t included in the workspace because we are simulating input -> processing/storage -> output. The workspace is where we are “processing” our input. So initial values would not be loaded into the workspace until after the variable/label/name card was created.

For step 2B, crossing off the variable name and replacing that variable name with the current value of the variable simulates the processor looking up the value of that variable before completing the calculation.

My biggest recommendation with this lesson is to take it slow and really emphasize systematically following the steps exactly as they are described. In program 1 some of the steps will seem silly, but later programs will make it clear why those steps are there. This can be a very fulfilling lesson for students when they “get it”. It will also help them to understand how variables work and how to read/understand code like the following:

01 var xPosition = 100;
02 var yPosition = xPosition;
03 xPosition = yPosition + 30;
04 yPosition = yPosition + 50;

That code can be VERY confusing to beginning programmers. This lesson will empower students to understand this code.

My final suggestion is to make sure students are actively following along with each step and reading each step with you when you demo program 1 and 2. You could have them follow along with a ruler, or have them check off each step. It is critical that students follow along with the 4 steps for them to begin to understand what happens. I print the four steps very large on four uniquely colored sheets of paper for each student, so that they can focus and follow along on each step. “Turn the page to step 2, the green sheet”

If you help your students keep the steps organized they will be very grateful, but they will need a lot of encouragement at the beginning as they will not see the value at first. Right at the start I ask my students to peek ahead to program 7 which is a lot of code and can be very intimidating. I provide this as rationale for why we need to start small, but learn these steps systematically to be able to tackle bigger programs later.

Let me know if you have any other questions/concerns about this lesson. It can be frustrating, but in my opinion it’s one of the most essential CS Disco lessons of Unit 3!

3 Likes

I also struggled with planning out this lesson - lots going on with materials, it was hard for me to wrap my head around the best way to use the activity guide, and I struggled thinking about what it would look like to regroup students in the middle of the lesson to introduce sprite cards.

I ended up printing out the workboard and enlarged the graph for the sprites, then put them in sheet protectors so students could write on them with whiteboard markers. I also had larger index cards already laminated from other assignments that students could write on with their whiteboard markers and I used those for my sprite cards (although other things could substitute). Then I would project to problems from the activity guide on the screen and they would work in pairs to complete them - Google Slides Presentation.

A final product would look something like this:

The lesson went really smooth for me with these modifications - I was able to model the lesson an example on the board and students could follow along, and then they could try it on their own. Using whiteboards also adds nice pathways to formative assessment - it’s easy to ask students to lift their boards and show me what they wrote. Working in pairs was also nice - the pair programming mentality helped a lot, and when we got to sprites, one person could manage the variables while the other drew the pictures. Plus, the idea that whiteboard markers are easily erasable adds to the core concepts in this lesson - that variables change and update, so our boards need to change and update too.

So - hope that helps. This worked really well for me.

13 Likes

My students really liked this lesson. I used a whiteboard with post-its and strings which where taped to the board. I spent enough time at the beginning modeling the activity with students helping to make sure all students understood the concepts of the variable and values assigned to them.

1 Like

I agree that I just looked at this activity and had no idea what was going on. It is very intimidating! I am going to try and work through it tonight to see if I can do it and try to teach it. I wish that our workshops had warned us about this lesson and given us tips in person on how to teach it. I will definitely use the tips here. I like the sound of the laminated pages. Thanks to those who wrote comments!

3 Likes

Thanks Everyone. This was definitely not a case of missing the point of the lesson or its importance, but rather confusion with the way in which the directions are written. I have a graduate degree in math and I’ve read four page proofs that were easier to interpret than this :slight_smile:

So I threw it over to my colleague with an actual Computer Science degree. She couldn’t figure out the directions either, but she did show me how the concept was taught in her beginner programming class at Cal. Then the lightbulb went off. So I rewrote the directions in a way that works for me to interpret and teach the kids. Since I haven’t actually done the activity yet (that will be on Monday), I don’t know if I left something important out or if they’ll be confused by my directions, but at least I’ll be able to answer the question, “What do you mean by that?”

I am sharing the link in case anyone wants to give me feedback or suggest changes!

P.S. The laminated workboard is an awesome idea! I’m going to steal it for next year.

1 Like

If it helps, I made a powerpoint slide set of problems 1 and 2 to help the students understand. I cannot upload it to this site. If you would like a copy, email ron_kahn@jusd.k12.ca.us. After this, we completed problem 3 together on the board. Students were on their own for the remainder.

@asalas How did the rewritten lesson directions go over?

A video of the activity for the teacher to see would help. CSP has a few of these and seeing the activity happen is much better than just reading about it.

5 Likes

The lesson went really well after I revised the directions. The students thought all the manipulatives were overkill for the concept until I gave them the problems that someone else on this forum had posted as an addendum. Then they saw the benefit of at least drawing it out.

Keep in mind that my class is made up of mostly juniors and seniors (yes, I know this is marketed as a 7-9th grade class, but these are kids who aren’t on the college-bound track, for the most part). They were able to reason out all of the problems pretty quick except, as I said, for the ones that I added on.

I think next year I’ll just give one set of everything to each group of three, keep the revised directions, and used the laminated board idea posted by dshnieder.

Thanks for all the replies. This has been really helpful. Since it seems I can’t upload a link to the google doc I created for the revised directions, please let me know if you would like a copy.

2 Likes

I completely agree on all of the unplugged lessons. A short video for beginners would be super helpful so that I can understand the point.
PLEASE add these!

3 Likes

Can you skip this activity? I am about to do this activity after the Thanksgiving Break and I am on the semester schedule.

Lwatson,

I understand being nervous about teaching the lesson (as challenging as it seems from the post above) but it is an important concept of what the computer goes through, and students should understand in case they are producing bad code (that old saying - garbage in, garbage out). I would look into the revised versions people have posted to get a few more eyes on what others are doing and if they work - then others that are coming up on the these lessons have a alternative as well.

Brad

Good to hear. I would love to get a copy. If it is okay, I will post them here for everyone.

Asalas
Could you try reposting your google link to your rewritten instructions as the link didn’t work on your original attempt.
Thank you

1 Like

I would like a copy please. craigt@bcsdschools.net
Thanks!

Hi @craigt and @kpreston. Here’s my second try!

https://docs.google.com/document/d/1ZuGVkdBDZcsSnp2iGDxWLeZUhoZZlU4kZXdXvPPco4A/edit?usp=sharing

Here’s my attempt at an upload as well.Copy of U3L08 - Activity Guide - Variables Unplugged (1).docx (1.1 MB)

Unfortunately, still getting the error that the document is not published. You probably need to change your settings to public?

I did this lesson with my grade 9/10 class today and it went well. I had already been pre-teaching some concepts about variables and they can do algebra so many could understand how to do the concept. Some are worried that tomorrow when they go back on the computers that nothing will work as easily as on the white boards and slips of paper. Many students by problem 7 were just writing out the processing steps instead of using the values and labels.

I have the benefit of being married to a programmer who can explain concepts to me and I practiced all of the problems last night but they worked out well.

1 Like

Can you just email me your changes? I cannot get it to upload from the forum. craigt@bcsdschools.net Thanks!

1 Like