"Digital fluency" should mean designing, creating, and remixing, not just browsing, chatting, and interacting.
The notion of YouTube of interactive media carries a couple of important challenges especially when explored from a public school point of view. As researchers with the goal of bringing computer science into public schools we have investigated the design principles presented in this article (more tinkerable, more meaningful, and more social) for over a decade as part of our research (e.g, http://www.cs.colorado.edu/~ralex/papers/PDF/VL96.pdf). We have found that indeed the programming threshold can be lowered through the use of drag and drop style visual programming environments and that sharing projects via the Web can be highly motivational. Early on, AgentSheets included the notion of social dimensions. AgentSheets has been used in K-12 schools to allow students to make games and computational science simulations which they could share through Web 2.0-like interfaces. For instance, the idea that students could explore Eco systems by designing their own animal species which they then share and mix together into stable (or often not so stable) ecological systems created enormous enthusiasm with the students. However, and this is where the YouTube model becomes problematic, very much in contrast to their students many parents, principals and even some teachers did not at all welcome the idea of creating public artifacts sharing their childrens identity. One could argue that this problem was largely due to the 1996 pre Web 2.0 mindset which simply did not embrace the value of social computing. Then again, our research focus including teaching game design is still on public schools and we see little evidence that this mindset has changed. On the contrary, many schools are not only making it hard for students to publicly share their creations, perhaps out of fear of legal retributions, but are increasingly blocking social sites such as YouTube and Facebook. How can we blame them given that real popular items such as the Cat Yodeling with over 4 million downloads hardly carry any educational value.
The following letter was published in the Letters to the Editor in the March 2010 CACM (http://cacm.acm.org/magazines/2010/3/76302).
I welcome the efforts described by Mitchel Resnick et al. in "Scratch: Programming for All" (Nov. 2009) to familiarize more people with programming. However, when I downloaded Scratch from the Scratch Web site (http://scratch.mit.edu) and looked over the Scratch programming constructions, I found no convenient abstraction mechanism, as in, say, a facility to define and call parameterized functions.
Such a mechanism could be viewed as advanced and not easily digested by the intended users of the Scratch programming language. But some projects on the Scratch Web site feature significant code redundancy and could be reduced in size and simplified if the code could be restructured through a few suitable functions.
Though not all Scratch programmers would be comfortable with an abstraction mechanism, it seems a pity that something so fundamental does not even exist, and so cannot be conveniently demonstrated and disseminated.
Second in importance and also missing from the Scratch programming language is a data-structuring mechanism.
Thorkil Naur and Karen Brahes
Abstraction is an important computational concept, and a simple form of procedural abstraction is provided by Scratch's "broadcast" mechanism. That's why we added parameterized procedures to some experimental versions of Scratch, though we have not yet come up with a design that satisfies our goals of simplicity and understandability. We're continuing to experiment, hoping to include more forms of abstraction in future versions.
The Scratch Team
Displaying all 2 comments