Programming with Pseudocode, Keeping Student Interest, the Need for School, and International Curricula: Trip Report on WiPSCE 2014

November 21, 2014 at 8:51 am 11 comments

First week of this month, Barb and I went to Berlin for WiPSCE 2014 conference. See the program here and the proceedings here, and the post on my keynote here. Let me tell you about some of the interesting things I heard there.

We heard about so many international CS curricula efforts. Tim Bell talked about different levels of programming activity going on in different curricula (all the images in this blog post are from me snapping pictures of presentations).

tim-bell-stages-in-curricula

We heard about Austrian efforts, Flemish efforts, and programs I was aware of in the UK, New Zealand, Germany, Israel, and the United States.  I had not previously hear much about Poland in CS Ed, but they’ve been including computing in their curriculum for a long time.

poland-curricula

Quintin Cutts (Code or (not Code) – Separating Formal and Natural Language in CS Education) talked about a problem that they’re having in Scotland that we’re also facing in the US with the CS Principles effort. There are several different programming languages in use in schools. Nobody wants to be the bad guy to say “You have to use X (maybe Scratch? Alice? App Inventor? Python?), because that’s what the national test will be in.” So, national test-developers are creating pseudocode languages that aim to be understandable without getting hung up on syntax. Scotland has one that’s made up of bits and pieces of other languages (which they call “Haggis” — seriously!). The problem is that if a piece of code is never expected to run, it can have assumptions within it that would have to be cleared up to build a runtime system.  Quintin showed how even simple examples of the pseudocode from their national test have all kinds of logical inconsistencies.

It’s a real problem. Allison Elliott Tew’s dissertation (see here for post) showed that weakest performing students had the worst time transferring their knowledge from whatever language they learned to a pseudo-code. That means that your top students are going to be fine with a pseudo-code test, but your bottom students are not going to do well at all — they won’t know all the concepts, and they’re going to trip over the language. A pseudo-code test is going to be another barrier to underprepared students getting into CS.

Now, once you get them in the door, how do you keep them there? One interesting paper (Scratch vs. Karel – Impact on Learning Outcomes and Motivation) compared student interest in using Scratch or Karol the Robot. Scratch is a blocks-based language, and Karol was programmed in a text-based language. Students liked Scratch and performed better with it, but felt that Karol was more “real-life” and thus was more motivating for doing more in CS later. Betsy DiSalvo found similar results with her Glitch students. When comparing Alice and Python, students liked what they could produce with Alice, but felt that Python was more like what real programmers did and was consequently more motivating for some students.  This paper has had me thinking, “Maybe we should bring Logo back?”  It’s text-based like Karol, designed for students, and we have LOTS of books and other materials available for Logo across the curriculum.

Leigh Ann DeLyser talked about her work with CS NYC (Software Engineering Students in the City). It’s a remarkable program: 1900 students applied for 120 slots, and the selection among the qualified students was by lottery. They did pre and post surveys around the first year of the program, with questions like “Would you like to study CS or SE after this semester?” or “Want to be a computer scientist or software engineer one day?” Females lost much more interest in a future computing career then males.

csnyc-girls-losing-interest

Finally, the talk that has most been in my thoughts since the conference was by Debby Fields and Yasmin Kafai on their Scratch study (Programming in the Wild: Patterns of Computational Participation in the Scratch Online Social Networking Forum). They studied 5000 visitors to the Scratch website in the first quarter of 2012. First big finding — most of them don’t do much. 55% visit but don’t do anything. The other 45% engage at a variety of levels, and the levels are pretty much gender-balanced.  The most active participants are about evenly split male-female.

where-5K-users-go

Debbie and Yasmin defined four “classes” of programming activity based on the programs that these users uploaded to the Scratch website. Booleans are a big differentiator, as are variables and random numbers. The below figure describes how much of each kind of programming block appears in each class of programs, and what percentage of programs they saw land in each class.

programming-profiles

Here’s the disappointing part: The highest level of programming activity was almost all boys. Girls don’t go much beyond the simplest programming.

scratch-where-girls-disappear

Now, we don’t know much about ages or where these students are or their ethnic group. As Debby pointed out, age and location are self-reported on the Scratch website, and it’s remarkable how many 100 year old Scratch programmers there are in Antartica. Their data suggest that informal education activities like Scratch (or Kahn Academy or MOOCs) are unlikely to reach a broad range of users. Debby pointed out that what students are building influences what students do. If Scratch programmers can tell stories without booleans, how do you motivate more advanced programming actvities if they’re only story-telling? If we want to reach more diverse students, and we want to encourage more kinds of activities, we need school. We need formal education to reach everyone.

Entry filed under: Uncategorized. Tags: , , , , , , .

Earn your Human-Centered Computing PhD at Georgia Tech: Applications due Dec 15 #Gamergate as a response to re-engineering: BPC as a conspiracy to change computing

11 Comments Add your own

  • 1. jprestoncc  |  November 21, 2014 at 9:55 am

    Haggis! Great post. Thanks for sharing the CS education efforts taking place abroad.

    Reply
  • 2. Marty J Wolf  |  November 21, 2014 at 10:24 am

    I find it curious that the national testing companies cannot generate statistically equivalent tests in Scratch, Alice, App Inventor, Python, etc. Or, perhaps, it is that they are choosing not to. If so, it is a failure on their part to really advance CS education.

    Reply
  • 3. alfredtwo  |  November 21, 2014 at 12:03 pm

    I have been experimenting with TouchDevelop which is more or less in the middle between block based languages and text based languages. I need to figure out how to see if it is working as I think it should in terms of moving students to text based languages later.

    Reply
  • 4. gflint  |  November 21, 2014 at 12:44 pm

    Something else to consider for a language is the ease of installation. When many of the low level CS/Programming teachers are not computer whizzes languages like Scratch, Small Basic and Alice that are a single button install and then use immediately with their own IDEs are extremely tempting. Python, Java and the like with their less than trivial install and IDEs can be very intimidating even before any code is written. If CS ever achieves the position of a required class a lot of teachers are going to have to be found. These will not be CS majors but Math or Science or Whatever teachers with maybe, if they have the time, 2 courses in programming. For the first couple years of teaching they are going to need simple plug-and-play languages. My wife is teaching programming for the first time this year. She is teaching 8th graders Scratch. She has no programming experience or training. Clink the button to install, read the simple tutorials and she is off to the races. If the language required was Python or Java or any of the other “real” programming languages there would be no 8th grade programming.

    Reply
    • 5. alfredtwo  |  November 21, 2014 at 1:03 pm

      Another issue with text based languages is often the little details that make things complicated. Mike Zamansky has a nice post about this on his blog. http://cestlaz.github.io/2014/11/21/little-details.html#.VG9-LvnF-kg

      Reply
      • 6. gasstationwithoutpumps  |  November 21, 2014 at 3:16 pm

        Mike Zamasky’s post points out some of the reasons that many of us consider Java unsuitable as a first programming language.

        Reply
        • 7. Mike Zamansky (@zamansky)  |  November 22, 2014 at 3:03 pm

          Java’s by no means my favorite language for either teaching or using but you can make it work.

          A new project worth checking out is codesters.com — a python web based ide / course management system that’s trying to bridge the gap between DnD and real programming.

          It’s only in beta so it’s got some kinks but it looks very promising.

          Reply
  • 8. gflint  |  November 21, 2014 at 2:24 pm

    Chuckle. How appropriate. I am teaching Java for the first time this year. I know no Java. I am oh so look forward to a busy year.

    Reply
    • 9. Peter Donaldson  |  November 21, 2014 at 6:40 pm

      Hi Garth,

      you may want to get hold of a set of textbooks aimed at High School level students and an environment that may make it easier. Michael Kolling has written a book to go along with the Greenfoot programming environment which aims to take away a lot of the pain of teaching JAVA to beginners.

      The book is Introduction to Programming with Greenfoot or if you need a slightly more traditional approach then the BlueJ environment is a bit more beginner friendly and also has an accompanying textbook.

      I also think there’s a book on Media Computation in JAVA which is called Introduction to Computing and Programming with Java: A Multimedia Approach. Barbara and Mark have provided supporting details on the CoWeb site http://coweb.cc.gatech.edu/mediaComp-plan/101.

      Reply
  • 10. Mike Zamansky  |  November 22, 2014 at 9:09 am

    Interesting.

    We force all our kids to take CS for a semester 10th grade which means we’ve got lots of kids forced to take our brand of CS. We use Scheme and NetLogo – neither are drag and drop. The course is one I designed over 10 years ago. Around half the class wants to continue on to more advanced CS (but we’re only allowed to take between 150 and 210 of the 400 that usually apply).

    Our gender stats blow away the national averages – we generally have 30% girls an AP CS (Stuy is only 40% girls) and we keep them through the senior year. Other areas at Stuy don’t do as well. See here: http://cestlaz.github.io/2013/07/05/gender-stats.html#.VHCXh63d-Ak for some details.

    I find it interesting that the Leigh Ann’s surveys ended up showing that girls lost more interest and that’s from a pool that started out wanting to go to a school for software engineering while our girls who wanted nothing to do with CS end up loving it.

    It’s unfortunate that NY’s DOE continues to ignore what it has right under it’s nose.

    Reply
  • […] Ira Diethelm, whom I’ve met several times and saw most recently at WIPSCE 2014 in Berlin (see trip report here). I really don’t know what to expect. Through the ICER DC and WIPSCE, I’ve been […]

    Reply

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

Trackback this post  |  Subscribe to the comments via RSS Feed


Recent Posts

November 2014
M T W T F S S
« Oct   Dec »
 12
3456789
10111213141516
17181920212223
24252627282930

Feeds

Blog Stats

  • 1,268,139 hits

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

Join 4,565 other followers

CS Teaching Tips


%d bloggers like this: