Thoughts on ICLS 2010: From reading poetry, to CS as infinite science

July 6, 2010 at 9:22 pm 12 comments

I got back from the International Conference of the Learning Sciences last Friday, and spent less than 48 hours visiting with family, preparing my workshops for this week, burning slides, and heading out to Philadelphia on the Fourth of July.  I just taught two days of workshops at The College of New Jersey, and leave tomorrow morning (from Philly, where I am right now) for Blacksburg, VA.  You can follow along in the galleries to see what teachers are doing.  (To all my friends in the Philly area, my apologies for not looking you up.  I’m pretty exhausted after these eight-hour days of teaching, so I’m just laying low.)

I wanted to write up some thoughts about ICLS before I forgot them all.

  • ICLS had around 600 attendees — about 1/2 the size of SIGCSE, and six times the size of ICER.
  • Carl Weiman gave a really impressive opening keynote talk, on the similarities between the various science disciplines in terms of research on learning.  Most impressive for me: It was a completely different talk than his SIGCSE talk!  A point that I found interesting related to an earlier blog piece — he said that learning the language of the discipline (the specialized vocabulary) is key and not knowing it interferes with learning.
  • I learned a new term “dorsal teaching.”  That’s where the (typically, engineering and mathematics) teacher turns to the board and writes, and all you can see is their back and one writing arm (“dorsal fin”) sticking out.
  • I told Jennifer Turns of U. Washington about Mike Hewner’s recent studies, and she says that she sees similar issues among her engineering undergraduates.  She says that they complain to her, “When are we going to get to engineering?!?” and she sees engineering in all their classes.  She likens the problem to the “dancing gorilla” awareness problem.  If you don’t know what Engineering is, you won’t recognize and attend to it when you’re studying it.
  • A common theme (or hole, really) for me at ICLS was how the learning scientists are studying similar topics to the computing educators, but not asking the same questions.  There were umpteen papers and posters studying the use of videogames to support learning.  Some of them tracked males and females separately, and reported no differences in learning outcomes.  But not a single study asked if the girls were as engaged by the videogames as the boys!  When I asked that question in a talk, I was told, “No, the girls weren’t as interested in the games” and “Some of the boys got far too focused on learning and designing the videogames, but didn’t pay attention to the learning goals.”  I heard one talk about helping engineering students learn about ecology through video games, and it was perfectly okay with them that the male:female ratio was 5:1.  I heard another talk about helping improve reading through videogames, and all their subjects were male, and they argued that that’s important because boys do worse at reading than girls.  I am not pointing this out to critique the learning science researchers, because for their questions, maybe those other issues aren’t as important.  I found it fascinating that two such similar disciplines look at the same situations with radically different questions and goals.
  • Pam Grossman gave a keynote talk on reading poetry, where she chided the learning sciences community for not studying learning in the humanities.  She talked about the complexity of the task of reading poetry.  She talked about the challenge of getting through ambiguity in a poem, filling in the gaps (especially around words whose meaning you are unsure), and expecting to read a poem multiple times to get it.  Sally Fincher was sitting next to me, and she mentioned that one also has to have life experience to draw upon to relate to a poem.  I realized that this was actually a really good list for the challenges of reading code.  Not knowing all the subfunctions/methods/whatever being called, code may seem ambiguous, and you may have to read it several times, looking things up, to get it.  Having read a bunch of code previously makes it easier to read new code.
  • Our panel on learning in the computing disciplines was fascinating — slides are available on-line.  We could hardly have come more from different directions.  I talked about our learning science related challenges in computing education.  Yasmin gave this talk drawing on the history of computing education, especially for K-12, from Logo through tangible programming with LilyPad.  Ulrich Hoppe argued against trying to engage students and against using tangible programming, and in favor of  using Prolog instead of imperative or object-oriented languages.  And Sally drew it all together with some great quotes from Kuhn and Agre.

In answer to a question about biology, I made a claim in the panel that I’d like to bounce off you.  I argued that computer science is far bigger than any specific science, in the same way that mathematics is bounded only by human imagination while any natural science is bounded by the real world.  If you take any scientific phenomenon, there can be at least one program that simulates that phenomenon correctly, and you can study that using scientific methods.  However, there are an infinite number of programs that get close to simulating that phenomenon, but get it wrong, and you can only figure it out that it’s wrong by using scientific methods (experimentation, measurement, hypothesis setting) to figure that out.  In some sense, each program is another natural world to study, and computer science is about understanding any program.  Thus, our domain is infinitely larger than any natural science.  No wonder it’s so hard to get kids to pass CS1!

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

Engineering is Elementary®: Is Computing? One more from ICLS: The Role of Explanations

12 Comments Add your own

  • 1. Alan Kay  |  July 7, 2010 at 9:51 am

    Hi Mark,

    Two short comments.

    First about the “size” of computing. It’s worth reflecting that all the representation systems that our brain/mind uses are essentially story-like, in that stories, mathematics and computing, etc., can say/claim far more than the physical universe can manifest. (The simplest property is that they all have the operator “not” which means you can also say the negation of any statement.)

    This makes human representations and communications “design fields” and open to fads about what the designs should be and what they might signify. Math is supposed to be consistent, but it is really hard in practice (e.g. it’s tough to really know if you have enumerated all the cases that have to be considered).

    This is why science is so important — as Niels Bohr pointed out “Science is not there to tell us about the universe, but to tell us how to talk about the universe”. Science is the relationships between “what’s out there?” and our limited ways of representing ideas.

    I think of computing as requiring more discipline than traditional engineering because the masses and forces which help engineers in the physical world (by pulling down poorly designed structures) hardly exist in the computer. Many systems are really in the middle of a slow crash right from the beginning!

    And I think this is why computing needs to do a lot more real science on itself to help remove as much of the BS and fads as possible wrt to trying to make large robust systems.

    The other comment is that so many of the papers I read in the “learning sciences” (what does that phrase mean?) start with the implicit bug of trying to see about someone’s favorite approach as applied to a class of learners.

    Anyone who has done one on one teaching (like a musical instrument or a sport) and also some classroom teaching understands this bug. The former reveals that, though there are a few things that might work for all, most learners have to be helped to find their own fruitful approach and paths. This will really affect one’s style in the classroom when that occasion arises.

    Combine this with all too human desires for success compounded by “publish or perish” in academia, and the results are not pretty.

    Cheers,

    Alan

    Reply
    • 2. Mark Guzdial  |  July 7, 2010 at 8:59 pm

      Hi Alan,

      “Learning Sciences” arose from a group of cognitive scientists and AI & Education researchers who wanted to focus on doing applying cognitive science in real classrooms, rather than laboratories. They mean to encompass educators, cognitive scientists, computer scientists, etc.

      Are you arguing that Education will never become a Science, that it will always be a matter of the individual, without general laws? That was a hot debate in the School of Education at Michigan when I was studying there. Will Education ever develop predictive, regular laws like chemistry or physics? Or will it forever be a set of techniques, exemplars, and models that need to be tweaked to the individual and his/her setting, like psychoanalysis? What’s your take on this? Any idea how Jerome Bruner would argue? I like to believe that we can reach Science, but I see that we have predictive theories today.

      Cheers,
      Mark

      Reply
      • 3. Alan Kay  |  July 7, 2010 at 10:49 pm

        Hi Mark,

        Nope, I do think Education can be very scientific (and should be). For example, anthropological and psychological “human universals” need to be identified and used (and some have been found but not very many used at this point).

        And there’s a lot more that can be understood about general tendencies (I don’t want to say “types”) that provide rough groupings of behaviors of many kinds.

        But to use the analogy to science, there are some properties of water that work under most conditions, but how water will act can also be very different depending on where it is in its phase diagram (where it really could just as well be more than one substance rather than a single substance in different phases).

        For instance, if you could identify (say) five categories of “predisposition” and (say) five categories of motivation, you could probably build a very good theory of pedagogy ranging over these 25 combinations.

        And like the water analogy, some of the theory would apply to all. For example, there’s a lot of evidence that staying with addition as an idea and extending it in various ways and sensory modalities is very powerful with virtually every learner, and especially virtually every child.

        On the other hand, the tradeoffs between preference and use of topdown vs bottomup approaches seems to be part of individual personalities.

        As Einstein said: “Things should be as simple as possible, but not simpler” … meaning that education can become a science when the level of complexity it requires is discovered and addressed.

        Cheers,

        Alan

        Reply
  • 4. Aleata Hubbard  |  July 7, 2010 at 3:06 pm

    Hi Mark,

    I attended the panel on learning in the computing disciplines and was surprised to hear Ulrich’s perspective on tangible programming. While I question the limits of their effectiveness, I think tangibles might be useful for younger children who are just starting to explore computational concepts. In the panel focused on tangibles (‘A New Age in Tangible Computational Interfaces for Learning’), Hayes Raffle described his work with Topobo and how he saw it as a precursor to other ways of expressing computational ideas. This made me wonder if we should consider cognitive developmental stages when studying computer science education and computational thinking at the K-12 level. It would be interesting to hear if you had any thoughts about this.

    thanks,
    Aleata

    Reply
    • 5. Mark Guzdial  |  July 7, 2010 at 8:47 pm

      Aleata, it’s on my list of blog posts yet-to-write to talk about just that topic: We desperately need a developmental model of computing expertise. I think it’s a grand challenge in our field.

      Reply
      • 6. Alan Kay  |  July 7, 2010 at 10:53 pm

        Hi Mark and Aleata

        Quite a bit of this was done in the past, and somehow is not remembered.

        Just to take two really compelling examples, Radia Perlman’s turtle “button box” for 3 and 4 year olds was a great idea (and we duplicated this at PARC — and brought Radia to visit and help), and Danny Hillis’ SLOT machine, which was programming with blocks (actually cards). We also duplicated this at PARC, and some of the ideas made it into the tile programming in Etoys and later in Scratch.

        All of these ideas were based on the best cognitive theories of the time for what kinds of representations would help children the most to think about and make these ideas.

        Cheers,

        Alan

        Reply
        • 7. Mark Guzdial  |  July 8, 2010 at 6:52 am

          Hi Alan,

          I’ve never heard of either of these systems! Thanks!

          I’m interested in finding a cognitive theory that can help us understand how people develop expertise in programming, and measure the complexity of programming concepts. Let’s just consider variables as one of the topics such a theory should help us with. Variable understanding is way more complicated than I understand right now.

          • The Camel has Two Humps work found that simple questions about variables were predictive of how well students did in CS1.
          • In Allison Tew’s dissertation work to develop a measure of CS1 knowledge, only one question was so hard (i.e., everyone flubbed it, in all languages she tested) that she had to toss it — and it was just on using multiple variables.
          • Anecdotally from our experience at Tech and the experience of teachers in my workshops, students transfer knowledge of variables from Python and MATLAB easily to Java. But students who work in Scheme and Haskell first find variables in Java more difficult. That may be a matter of how they were taught, of course — TeachScheme/ReachJava focuses hard on making this work. Still, there must be some subtle complexities that are tripping students up.

          Variables aren’t a single concept, I realize. Variable issues include declaring a name, types, scopes, storage, and object reference in there. I don’t know which of these are causing students the greatest difficulties, what are the common misconceptions, and what are the common/natural paths to understanding. Maybe “Everybody figures out that variables have storage, but the locality of storage is harder, and locality is a critical concept before understanding pointers or references.” I just made that up, but that’s the kind of theory of developing understanding about programming I’d like to have–across all of programming, including issues of selection/conditionals, subroutine invocation, iteration/recursion, relationship between reading/writing/debugging skills, and so on.

          Cheers,
          Mark

          Reply
  • 8. Alan Kay  |  July 8, 2010 at 8:56 am

    To Mark Guzdial | July 8, 2010 at 6:52 am comment on variables, etc.

    Here are two experiences with children that relate to variables.

    The first is from the Open School ca 1994. We started a big project (7 years) in the late 80s, and had enough funding for a full time videographer (who soon became quite invisible to the kids). What she shot was cross indexed in Hypercard, so we could go back to see what a particular child might have been doing in the past.

    In the 4-5 grade using a system we had made called Playground, many children had some difficulties with variables and a few did not. We found that they ones who didn’t were the ones who retained the ability of 6 year olds to be able to treat an object as a standin for almost anything (e.g. a block could be a brick, a car, a baby, a plane). Most children around age 7-8 start to treat physical objects as “what they are” and have trouble turning them into actors playing something else. The children at age 10-11 who had no trouble with variables were the same kids who retained the ability to see objects as actors.

    So this was a “5-10% story” about different predispositions of children.

    The second story about variables is that we decided to introduce them in Etoys via the “putting a steering wheel on their car” part of the first constructions with Etoys ca late 90s onward.

    The sequence involves
    1. seeing the heading property change in the viewer when the car is rotated by hand.
    2. seeing the car rotate when the heading property is changed.
    3. steering the car by changing the numbers in the script while the car script is running.
    4. realizing the just painted steering wheel also has the same heading property as the car
    5. *dragging* the heading property from the steering wheel viewer into the script where the turn numbers were
    6. Suddenly, the wheel now controls the car

    To our great surprise, this turned out to be a “single trial learning” for the children. The goal, the properties, and the situatedness of the actions got the children to “see” just what was happening, and why the “heading” (the name of the numbers streaming out of the wheel and other objects) was such a good idea (because values were manifestly *changing*).

    Part of the surprise is that we would have guessed that we’d see a “5-10%” phenomenon here, but by luck, the approach turned out to be pretty universally compelling.

    The whole general area here is quite interesting since names of things and standins that have different bindings are used in natural language. The difficulty of transfer seems to be that *what* these are about have been completely “compiled” into efficient usage that the users of the natural language are not aware of what they are doing when using them.

    A side opinion (which I don’t have any evidence to back up) is that there is a big difference between teaching “programming” and teaching “a particular programming language”. And that one should concentrate on the first for quite a while before going to the second. (This implies the first is going to use a system that doesn’t have a lot of features, but in which lots of things can be made.)

    Cheers,

    Alan

    Reply
  • […] Aleata mentioned, Ulrich Hoppe was strongly against the current interest in tangible programming at ICLS.  He […]

    Reply
  • 10. Alan Fekete  |  July 9, 2010 at 8:29 pm

    The paper you link to has been the subject of a lot of followon work (some of it quite critical), and I think it is not wise for people to look any more at the original paper. Instead it is better to start with the much improved/refined/clarified analysis in the authors later work. See the discussion at http://www.eis.mdx.ac.uk/research/PhDArea/saeed/

    Reply
    • 11. Mark Guzdial  |  July 11, 2010 at 9:32 pm

      Thanks, Alan! The 2009 version with several replicated studies looks very interesting!

      Reply
  • […]  Maybe that’s the phonics of computing.  We have evidence from several sources that the simple ideas (variables and values, sequential execution, parameter passing to other routines) are huge problems for students, and those are some of the necessities for connecting […]

    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 )

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Trackback this post  |  Subscribe to the comments via RSS Feed


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

Join 8,460 other followers

Feeds

Recent Posts

Blog Stats

  • 1,859,834 hits
July 2010
M T W T F S S
 1234
567891011
12131415161718
19202122232425
262728293031  

CS Teaching Tips


%d bloggers like this: