This site is now an archive. For the current version of LCL, please visit learn.media.mit.edu/lcl.

Scratch - How do we facilitate students enhancing skills?

waciuma

Peer Learning Network Proposal for Week 4 Activity:

My students (and I) are using Scratch for the first time. I'd love to explore strategies to facilitate students learning to code. Some things that have been bouncing around in my head:
-What are the "mentor texts" (great example programs) that I want my students studying?
-What is the scope and the sequence of skills that first time users should master?

What questions around coding/Scratch do YOU want to explore?

katherine

@waciuma this is a really interesting idea!

I too am really interested in "facilitating students learning to code" (I like how you put it this way). I am always curious about the balance between giving concrete examples and letting students tinker, particularly when thinking about Scratch.

How do you give students a concrete base of skills without discouraging their own explorations, tinkering, play, and creativity?

Vivian

I noticed that there are tutorials embedded into some Scratch activities to take someone from no experience with Scratch through a set of sequenced exercises: http://scratch.mit.edu/projects/editor/?tip_bar=hoc See the righthand bar for the tutorials. I did this myself in order to do week two's project.

I saw this Kindle book on the Scratch resource for educator's website: http://goo.gl/OJsTxO I also went through this. The language is very kid friendly and suitable for grades 3 and up.

I don't have anything to compare these to, but I felt the progression and scope and sequence of skills taught through these two resources worked very well for me. Now, I feel I can tackle new projects just by tinkering and looking at the code of projects shared on the Scratch site.

waciuma

Katherine
Great question. It looks like our PLN has 3 essential questions now:

  1. How do we teach students skills while encouraging exploration, tinkering, play, and creativity?
  2. What are the "mentor texts" (great example programs) that students should study in Scratch?
  3. What is the scope and the sequence of skills that first time users should master?

I think that looking at the Writing Workshop Model from the Reading and Writing Project at Columbia may give us good ideas for how to structure a coding classroom.

I'm excited to see if anyone has a different approach they would use to tackle question #1!

waciuma

Vivian,
Great resources! These tutorials look like a promising avenue for mentor texts!

I picked up a copy of the Kindle book you recommended. And a happy elf placed a copy of Learn to Program with Scratch on my desk this afternoon. (I must be talking about Scratch a lot!) I'm looking forward to digging through them both.

Regarding scope and sequence, I found two online curricula that both cited the ACM Model Curriculum for K–12 Computer Science. I will admit, I'm not completely satisfied, as their grade 3-5 expectations revolve around using programs and do not speak to coding. I find the standards from ISTE (International Society for Technology in Education) also fall short on coding, though I like their broad outline.

Is Scratch such a disruption that standards need to be rewritten and expectations for students reset? (Do we have a hunch on the answer to this?) wink

geraldiux64

I think I will suggest my kindergarden,elementary and secondary level colleagues to learn how to use Scratch in order that they will know how to use it .It´s a nice programme

gray_spike

Use Code Club's projects. You can access them from codeclubworld.org (that's the international version) or go to https://www.codeclub.org.uk/projects on the original UK site, register and download. Code Club is a volunteer led organisation for after school code clubs. It started in the UK 2 years ago (that's where I volunteer) but it's now on every continent. It's growing really fast

mfbishop_bishop

I am also interested in how to present Scratch. I have created a website Scratch Adventures based on material from a CCOW course. My plan is to work through one exercise 'Move the Cat' and then let the students (10 to 13 years old) tinker. I will have some Scratch Cards available to pass around and try things. Does this seem like a good first step? I thought if they are interested, then I would continue down the lesson plan. I suspect they may want to jump around, so I still struggle with how much order to present. Any advice?

Vivian

That's great about that Elf! I wonder if he could pop by my house! smiley

If we're talking about integrating Scratch into Elementary Curriculum content and understandings...

From my short experience with Scratch and reading about what other people have done with Scratch: http://www.mindyslaughter.com/coding-in-elementary.html I don't think elementary school standards need to be rewritten. I would hope that all elementary school curriculums around the world are fairly similar and cover all the basics and foundational understandings. I think Scratch has the ability to be integrated broadly into the science & math curriculums (and including Humanities and the Arts too). The problem is that I don't have enough experience with Scratch to see these natural connections with Elementary School learning. So, I would love it if Scratch created a central database where teachers could submit in lesson plans that they've created and make explicit all the great learning objectives that can be found through Scratch. It doesn't have to be so complicated. Give us the lesson title, the basic learning outcomes, a few lesson pointers, and a link to the Scratch program. We could have a common "recipe card" template where this information might be inputted in for submission into the searchable database and this would be a great resource for teachers.

If we're talking about putting objectives about learning coding skills into curriculum, then scope and sequence needs to be developed. If you look here: http://code.org/educate/20hr and scroll near the bottom, you'll see what Code.org has developed as an introductory scope and sequence.

I've discovered, though, that getting bogged down in scope and sequence is actually very demotivating for students. They want the open-endedness and autonomy to go where they want. Do they just need "just in time" instruction?

Vivian

I really like the idea of the Writer's Workshop cycle with Scratch. I'll have to have a long think about this. When I did Writer's Workshop, the cycle was:

  1. Pre-Writing
  2. Writing
  3. Editing
  4. Publishing

Skills were delivered on an "as needed, just in time" basis. It involved a lot of teacher-student conferencing, peer-to-peer editing...

The strength of Writer's Workshop was the autonomy and open-endedness of it as students could chose to write about whatever they wanted to and they were SO motivated to write as a result.

waciuma

Vivian,
Great points! I agree with you on the cycle of writing as well as on "just in time" instruction. And the Code.org resource looks great. My read is that they suggest this order of skills:

  1. Sequencing
  2. If Block
  3. If-Else Block
  4. Repeat Block
  5. Repeat Until Block
  6. While Block
  7. Counter Block
  8. Functions
  9. Functions with Parameters

This is the sort of thing I was thinking of with standards. I don't mean changing reading/writing/math/science standards. I mean rewriting Computer Science standards! I think we should use those other standards (along with developmental psychology - Piaget et al.) to inform what students should be able to do when they code at different ages.

Looking at the 3 questions:
1. How do we teach students skills while encouraging exploration, tinkering, play, and creativity?
2. What are the "mentor texts" (great example programs) that students should study in Scratch?
3. What is the scope and the sequence of skills that first time users should master?

1

This seems to have two answers so far:

  • Workshop Model
  • Guided Discovery Model (I'm totally making this term up)

The workshop model relies on showing students mentor texts, focusing their attention on certain aspects of these texts and telling them to apply said aspect to their own project.

I'm labeling the approach I see in codeclub.org and in Learn to Program with Scratch as guided discovery. This approach walks students through a process. At the end of the process students have experienced the code and can apply it to their own project.

Discussion Question: Which model should we prefer?
(Meta-Discussion Question: Is my summary an accurate one?)

2

Wow! This question seems to be getting answered the fastest.

  • Madeline, what an amazing wealth of resources you've collated! I've spent time with your site Scratch Adventures and still feel I've only scratched (oh! the puns) the surface.
  • Andy, Code Club has tons of projects that can be built and analyzed!
  • Vivian, Basic Scratch has code that can be copied and run.
  • Learn to Program with Scratch has code written in the book that can also be downloaded and used.

It seems the work to be done now is not finding mentor texts, but identifying 2-3 to teach key concepts. Which leads us to question #3...

3

Code.org does provide an answer to scope and sequence, which I list above. Learn to Program with Scratch proceeds in a different order:
Motion and Drawing
Looks and Sound
Procedures
Variables
Making Decisions
Repetition
String Processing
Lists

Which sequence is right? Is either?

To me these look like very different sequences of skills. How do we evaluate them?

As I said above, I think it makes sense to apply existing standards from outside CS to inform what students are expected to apply inside CS. Additionally, we should keep in mind age expectations for abstraction and planning.

Thoughts?

1L2P

The Scatch Ed community might be able to help. I think they already have some lesson plans or pointers to get your started.

Sandy

This is something I have struggled with as well. So I am excited to join this discussion.

Excellent website and @mfbishop_bishop help me greatly when I created a site to use with my students--Scratchables.
The intent behind my site was for my students to work through each "Able" lesson at their own pace. I have been using it for the last 2 months with my students and have found that I need to give a brief introduction at the beginning of each ABLE and have the students use the embedded resources as help to refer back to as needed. One thing I have discovered with this site is the value of reflections. Having my students answer the reflection questions has not only help them but me as well. I get direct feedback the state of their learning.

Another site I started as part of CCOW was SCREACHERS
There is a dual purpose to this site: 1. To recruit educators using scratch to become mentors
2. To provide a clearinghouse of resources and lesson ideas for educators

Vivian

Some points in random order:

1) If we go with the Writer's Workshop model, then we expose our children to good quality literature as the main teaching tool. So, the "mentor" texts would not be "how-to" manuals (though I think they are important and have their place too!). The "mentor texts" would be examples of great coding/ great Scratch projects. So, I would suggest creating a list of Scratch projects with the scope and sequence you have in mind. So, if you want to look at "If" block, then students play with a Scratch project with the "If" block. Then, second would be playing with a project with the "If-Else" in it. Ask the students to see if they can discover the difference and explain what is happening differently and how the two blocks work.

2) I went through the 20 Stages of Code.org myself. I blogged about the experience here: http://www.coetail.com/chezvivian/2014/03/29/scratchprojects/ After going through all the stages and now playing with Scratch, I actually think it's more important that the teachers have gone through the stages, than the students. So, when the student needs a "just in time or as needed" lesson, the teacher is ready to provide the mini-lesson. Like @mresmres said in one of his videos: One student needed a variable block but didn't know what he was looking for or what it was called. Mr Resnick was able to show him the block. In doing so, the student learned what a "variable" was. In my blogpost, I propose that students go through the scope and sequence of the 20 Hour of Code at the same time they work on Scratch projects. When they are tired of one, they can go to the other. Back and forth. This seems much more fun and much more organic. So, I wouldn't necessary prefer one model over the other. Do both at the same time. The Code.org puzzles can be one a "just in time" lesson but the teacher needs to know which puzzle to point the student to.

Learning scoped and sequenced skills out of context (as those puzzles are) does not necessarily mean the student can apply the skill when he comes across the context where he needs it. He might not make the connection between the two. I can solve the Code.org puzzles (did them all!) but I'm still a bit foggy on how knowing , for example, what "functions with parameters" is going to do for me and how to incorporate that into a Scratch project? Solving a puzzle is entirely different than trying to create something "from Scratch" ha ha pun intended.

Summary

Scope and Sequencing does not mean much if divorced from real context. As well, without real context, I doubt there is deep understanding and learning. The order the children need is whatever they need next to solve the problem they have at hand. So, I think the better question is: What authentic and engaging challenges can we be giving them? In other words, we need to support them in finding meaningful contexts in which coding can help. We can't just hand them contexts either, as that isn't authentic or engaging.

I think I would just open up the flood gates and let them play at Scratch. The onus, instead, is on the teacher to know how to do all those "scoped and sequenced" skills so we can give them the "just in time" lessons. One of the videos said that "Scratch does not NOT work. It just works differently than how we expected". So, with that in mind, I don't think we need to be afraid of students attempting things in different order and even trying something way harder than they are at.

I would do both methods at the same time and put the emphasis on Scratch and free-play and exploration. I would expose the students to "good quality literature" to "read": good quality Scratch projects to play with that will make them curious to see the code underneath.

Vivian

Thanks for sharing your website. I've bookmarked it. It looks great!

waciuma

Vivian,
I completely agree with you, mentor texts must be great programs that students can study. I also think there should be a mix of Scratch and non-Scratch mentor texts. Some of the "reading" and thinking that programmers need to do is ID the challenges of a particular task. I've already seen some students in my class that are quick to copy code block for block, rather than thinking about the challenge a string of blocks is addressing. It's becoming clear that one part of coding instruction will be to have students discuss a programming goal and what approach they anticipate using.

I also agree, "I don't think we need to be afraid of students attempting things in different order and even trying something way harder than they are at." At the same time, I think that it's important for teachers and students to have a clear way to establish if they've "succeeded", if they've made reasonable progress in their coding ability. (Is there a tension here with the idea of Lifelong Kindergarten?) At some point in the writing cycle, I share with students, "You can see from your writing at the beginning of this unit that you're able to do A, B, and C. Here's our rubric. At the end of this unit I'll be assessing (and you'll be self assessing) how well you can do D and E." In order to have that conversation, I have to have a very clear idea of what progression is reasonable. That's where I'm wondering about a coding scope and sequence (S&S).

I just checked out the 20 Hours of Code. While they undoubtedly have a S&S in mind, I don't think having a S&S necessitates the approach they've taken.

My sense is that at the moment, the S&S's we have are not responsive to the new environment that Scratch (much less Scratch JR) creates. Suddenly students are able to do things in code at a much younger age. What are the expectations for writing code when a kid can tell a sprite to turn, but won't learn about degrees in an angle for several years? To plot things in a coordinate space before they've seen negative numbers on a number line. Do we have a clear idea how sophisticated a program can be for a child that meets (not exceeds) all of their grade level expectations in other subjects? At KG, at 3rd grade, and at 6th grade?

I think sharing with teachers high and reasonable expectations for students will enable those educators to facilitate growth.

Vivian

Hi all

I'm on holidays, so super busy. I only have wifi in the hotel lobby too! I won't be able to participate in the remainder of the LCL course as much as I originally wanted to. But, I haven't forgotten and hope to catch up after April 23rd, when we return.

I'm still thinking about the questions and discussions, even if I'm not on the forums.

We've been discussing the issue of Scope and Sequencing "learning to code" programs. Since I am not able to write what I think in a short reply, I've written a blogpost: http://www.coetail.com/chezvivian/2014/04/18/tension_scope_sequence/

I usually edit my writing a bit more closely for clarity but I'm rushing out now. I hope my blogpost makes sense, still!

It might take a few days for my to reply, but I promise to be back...

Thanks!

~Vivian

James_B

I have been thinking about ways to encourage Scratch students from a Peers perspective. You all are coming up with great ideas in this thread already and there are already a lot of great resources and intentional design towards this end in Scratch, but I would like to see the default sprite library enhanced to encourage participation for peers.

I created a Scratch project to help illustrate my idea:

http://scratch.mit.edu/projects/22041134/

People already share projects as a way of sharing single sprites, and that seems to work very well for those already familiar with Scratch culture. But for me, this is kind of a secondary function because a whole project can be so much more than just one sprite. Also, while it can be as easy as clicking "see inside" and then downloading a certain sprite, I think sharing/using others' sprites could be more accessible especially to newer users and users that might be more shy. I'm actually not sure which P this idea would work best towards, but I wanted to post here because I was thinking about it from a Peers perspective.

My above project is only one way I came up with to imagine how the default library could be enhanced. I included a number of features, but the main idea is that I would like to see a way that makes sharing and using sprites as easy and accessible as it is to share and use whole projects.

This idea was inspired by the story Mitch told about MyRedNeptune's animations she decided to share.

Any feedback/thoughts/concerns? I know this suggestion would likely use a chunk of considerable resources and would be no light undertaking. Also, Scratch culture is already in a long-supported practice of sharing sprites via projects.

I posted in the Suggestions area of the Scratch forums, but wanted to keep that separate. The thread there aims to get feedback from Scratch users while this reply at LCL aims to get feedback from educators, creative design tinkerers, and other LCL'ers. A couple users posted feedback there that seemed to support at least some of the idea, but they both mentioned how daunting a complete sprite library overhaul might be.