Posts tagged ‘CS Unplugged’

Measuring progress on CS learning trajectories at the earliest stages

I’ve written in this blog (and talked about many times) how I admire and build upon the work of Katie Rich, Diana Franklin, and colleagues in the Learning Trajectories for Everyday Computing project at the University of Chicago (see blog posts here and here). They define the sequence of concepts and goals that K-8 students need to be able to write programs consisting of sequential statements, to write programs that contain iteration, and to debug programs. While they ground their work in K-8 literature and empirical work, I believe that their trajectories apply to all students learning to program.

Here are some of the skills that appear in the early stages of their trajectories:

  • Precision and completeness are important when writing instructions in advance. 
  • Different sets of instructions can produce the same outcome. 
  • Programs are made by assembling instructions from a limited set. 
  • Some tasks involve repeating actions. 
  • Programs use conditions to end loops.  
  • Outcomes can be used to decide whether or not there are errors.
  • Reproducing a bug can help find and fix it.
  • Step-by-step execution of instructions can help find and fix errors.

These feel fundamental and necessary — that you have to learn all of these to progress in programming. But it’s pretty clear that that’s not true. As I describe in my SIGCSE keynote talk (the relevant 4 minute segment is here), there is lots of valuable programming that doesn’t require all of these. For example, most students programming in Scratch don’t use conditions to end loops — still, millions of students find expressive power in Scratch. The Bootstrap: Algebra curriculum doesn’t have students write their own iteration at all — but they learn algebra, which means that there is learning power in even a subset of this list.

What I find most fascinating about this list is the evidence that CS students older than K-8 do not have all these concepts. One of my favorite papers at Koli Calling last year was  It’s like computers speak a different language: Beginning Students’ Conceptions of Computer Science (see ACM DL link here — free downloads through June 30). They interviewed 14 University students about what they thought Computer Science was about. One of the explanations they labeled the “Interpreter.” Here’s an example quote exemplifying this perspective:

It’s like computers speak a different language. That’s how I always imagined it. Because I never understood exactly what was happening. I only saw what was happening. It’s like, for example, two people talking and suddenly one of them makes a somersault and the other doesn’t know why. And then I just learn the language to understand why he did the somersault. And so it was with the computers. 

This student finds the behavior of computers difficult to understand. They just do somersaults, and computer science is about coming to understand why they do somersaults? This doesn’t convey to me the belief that outcomes are completely and deterministically specified by the program.

I’ll write in June about Katie Cunningham’s paper to appear next month at the International Conference of the Learning Sciences. The short form is that she asked Data Science students at University to trace through a program. Two students refused, saying that they never traced code. They did not believe that “Step-by-step execution of instructions can help find and fix errors.” And yet, they were successful data science students.

You may not agree that these two examples (the Koli paper and Katie’s work) demonstrate that some University students do not have all the early concepts listed above, but that possibility brings us to the question that I’m really interested in: How would we know?

How can we assess whether students have these early concepts in the trajectories for learning programming? Just writing programs isn’t enough. 

  • How often do we ask students to write the same thing two ways? Do students realize that this is possible?
  • Students may realize that programming languages are “finicky” but may not realize that programming is about “precision and completeness.” 
  • Students re-run programs all the time (most often with no changes to the code in between!), but that’s not the same as seeing a value in reproducing a bug to help find and fix it. I have heard many students exclaim, “Okay, that bug went away — let’s turn it in.” (Or maybe that’s just a memory from when I said it as a student…)

These concepts really get at fundamental issues of transfer and plugged vs unplugged computing education. I bet that if students learn these concepts, they would transfer. They address what Roy Pea called “language-independent bugs” in programming. If a student understands these ideas about the nature of programs and programming, they will likely recognize that those are true in any programming language. That’s a testable hypothesis. Is it even possible to learn these concepts in unplugged forms? Will students believe you about the nature of programs and programming if they never program?

I find questions like these much more interesting than trying to assess computational thinking. We can’t agree on what computational thinking is. We can’t agree on the value of computational thinking. Programming is an important skill, and these are the concepts that lead to success in programming. Let’s figure out how to assess these.

May 25, 2020 at 7:00 am 15 comments

CS Teacher Repositories: CS OER Portal, Ensemble, CSTA, CAS, and…

I just received this via email:

We would like to inform you that we have added recently many new resources to the Computer Science Open Educational Resources Portal (CS OER Portal)  (http://iiscs.wssu.edu/drupal/csoer ). For those of you who have not visited it, the Portal hosts a rich collection of links to open teaching/learning materials targeted specifically the area of Computer Science. It provides multiple ways for locating resources, including search with filtering the results by CS categories, material type, level, media format, etc., as well as browsing by institutional (OpenCourseWare) collections, by CS categories, or by topics as recommended by the ACM/IEEE Computer Science Curriculum. The browsing functionality is supplemented with recommendations for similar courses/resources.

My first thought was, “Is this competition for Ensemble, the big NSF-sponsored digital library of CS curricular materials?”

If we’re specifically thinking just about computing in schools (K-12 in the US), we should also consider the CSTA Source Web Repository and the Resources section of the Computing at Schools website (which is pretty big and growing almost daily).

Specifically for a particular tool or approach, there’s the Greenfoot Greenroom, ScratchEd for Scratch Teachers and other Educators, the Alice teacher’s site, the TeaParty site (for the Alice + MediaComp website), and of course, the Media Computation site.  I’m sure that there are many others — for particular books (like this one introducing Python with Objects), for particular curricular approaches (like Exploring Computer Science and CSUnplugged), and even for particular methods (I reference the Kinesthetic Learning Activities site in my TA preparation class).

It’s really great that there are so many repositories, so many resources to help CS teachers, and so many people developing and sharing resources.  I get concerned when I’m in a meeting where we’re talking about how to help CS teachers, and someone suggests (and it really happens in many of the meetings I attend), “If we only had a repository where teachers could find resources to help them…”  No, I really don’t think that more repositories is going to solve any problems at this point.

November 6, 2013 at 1:30 am 4 comments

CS Unplugged and Middle-School Students’ Views, Attitudes, and Intentions Regarding CS

I had heard references to “the April TOCE article about CS Unplugged,” and finally looked it up.  Below is the abstract.  It’s not really a surprising finding — just doing some activity doesn’t necessarily lead to transferable learning, to learning that you connect to other areas of the curriculum.  “Learning by doing” does not mean that any doing will lead to learning.  The default for learning anything is “brittle knowledge.”  It’s hard to make connections.  What this article is saying is: You need to make connections for CS Unplugged to have impact.  Students won’t connect CS Unplugged activities, by themselves, to computer science.

Many students hold incorrect ideas and negative attitudes about computer science (CS). In order to address these difficulties, a series of learning activities called Computer Science Unplugged was developed by Tim Bell and his colleagues. These activities expose young people to central concepts in CS in an entertaining way without requiring a computer. The CS Unplugged activities have become more and more popular among CS educators and several activities are recommended in the ACM K-12 curriculum for elementary schools. CS Unplugged is used worldwide and has been translated into many languages.

We examined the effect of the CS Unplugged activities on middle-school students’ ideas about CS and their desire to consider and study it in high school. The results indicate that following the activities the ideas of the students on what CS is about were partially improved, but their desire to study CS lessened.

In order to provide possible explanations to these results, we analyzed the CS Unplugged activities to determine to what extent the objectives of CS Unplugged were addressed in the activities. In addition, we checked whether the activities were designed according to constructivist principles and whether they were explicitly linked to central concepts in CS. We found that only some of the objectives were addressed in the activities, that the activities do not engage with the students’ prior knowledge and that most of the activities are not explicitly linked to central concepts in CS. We offer suggestions for modifying the CS Unplugged activities so that they will be more likely to achieve their objectives.

via CS Unplugged and Middle-School Students’ Views, Attitudes, and Intentions Regarding CS.

October 8, 2012 at 8:15 am 2 comments


Enter your email address to follow this blog and receive notifications of new posts by email.

Join 9,004 other followers

Feeds

Recent Posts

Blog Stats

  • 1,875,345 hits
September 2021
M T W T F S S
 12345
6789101112
13141516171819
20212223242526
27282930  

CS Teaching Tips