Larry Cuban is a remarkable educational historian. He’s written an article about why requiring coding is a bad idea, and links it to the history of Logo in the 1980’s. I think #1 is the most important, and is similar to Seymour Papert’s “Why School Reform is Impossible” article and to Roy Pea’s concerns about requiring computing.
The reasons are instructive to current enthusiasts for coding:
1. While the overall national context clearly favors technological expertise, Big Data, and 21st century skills like programming, the history of Logo showed clearly, that schools as institutions have lot to say about how any reform is put into practice. Traditional schools adapt reforms to meet institutional needs.
2. Then and now, schools eager to teach coding , for the most part, catered to mostly white, middle- and upper-middle class students. They were and are boutique offerings.
3. Then and now, most teachers were uninvolved in teaching Logo and had little incentive or interest in doing so. Ditto for coding.
4. Then and now, Logo and coding depend upon the principle of transfer and the research supporting such confidence is lacking.
- First, we’re on github! Come join us in stomping out bugs and making JES even better!
- Upgrading the Jython interpreter to version 2.5, making available new language features and speeding up many user programs. I have been working on the 4th edition of the Python MediaComp book this summer, and have introduced the time library so that users can actually time their algorithms (one of those CS Principles ideas), so I had ready-made programs to run in both JES4.3 and JES5.0. The speed doubled.
- Adding code to JES and the installers to support double-clicking .py files to open them in JES, on all supported platforms.
- Bundling JMusic and the Jython Music libraries, allowing JES to be used with the text “Making Music with Computers” by Bill Manaris and Andrew Brown. This is super exciting to me. All of their examples (like these) work as-is in JES 5 — plus you can do sampled sound manipulations using the MediaComp libraries. The combination makes for a powerful and fun platform for exploring computation and sound. My thanks to Bill who worked with us in making everything work in JES.
- Adding a plugin system that allows developers to easily bundle libraries for use with JES.
- Fixing the Watcher, so that user programs can be executed at arbitrary speeds. This has been broken for a long time, and it’s great to have it back. When you’re looking for a bug in a program that loops over tens of thousands of pixels or sound samples, the last thing you want is a breakpoint.
- Adding new color schemes for the Command Window, which allow users to visually see the difference between return values and print output. This was a suggestion from my colleague Bill Leahy. Students when first learning return can’t see how it does something different from printing. Now, we can use color to make the result of each more distinctive. Thanks to Richard Ladner at ACCESS Computing who helped us identify color palettes to use for colorblind students, so we can offer this distinction in multiple color sets.
- Fixing numerous bugs, especially threading issues. When we first wrote JES, threading just wasn’t a big deal. Today it is, and Matthew stomped on lots of threading problems in JES 5. We got lots of suggestions and bug reports from Susan Schwartz, Brian Dorn, and others which we’re grateful for.
Thanks to Matthew for pulling this all together! Matthew’s effort was supported by NSF REU funding.
An interesting new piece on identity within the open source community. Noah Slater addresses a concern that I have, that the definition of contribution in open source communities limits the opportunity for legitimate peripheral participation.
Perhaps the most obvious way in which the hacker identity has a hold over the open source identity is this notion that you have to code to contribute to open source. Much like technical talent is centered in the tech industry, code is seen as the one true way to contribute. This can be such a powerful idea that documentation, design, marketing, and so on are often seen as largely irrelevant. And even when this isn’t the case, they are seen as second class skills. For many hackers, open source is an escape from professional environments where collaboration with these “lesser”, more “mainstream” activities is mandatory.
I’ve seen Michael Lee present two papers on Gidget at ICER, and they were both fascinating. Gidget is now moving out of the laboratory, and I’m eager to see what happens when lots of people get a chance to play with it. Andy Ko has a blog post about Gidget that explains some of the goals.
Hello Gidget Supporter!
We are happy to announce that Gidget has launched today! You, your friends, and your family members can now help Gidget debug faulty code to solve puzzles at helpgidget.org
Gidget is a game designed to teach computer programming concepts through debugging puzzles. Gidget the robot was damaged on its way to clean up a chemical spill and save the animals, so it is the players’ job to fix Gidget’s problematic code to complete all the missions. As the levels become more challenging, players can combine newly introduced concepts with previously used commands to solve the puzzles and progress through the game.
Gidget is the dissertation work of Michael J. Lee who is a PhD candidate at the University of Washington’s Information School. Prior to its public release, over 800 online participants played through various versions of the game, and over 60 teenagers played through the game and created their own levels during four summer camps in 2013 and 2014. Our research has shown that novice programmers of all ages become very engaged with the activity, and that they are able to create their own levels (i.e., create their own programs from scratch) successfully after playing through the game.
Please share widely and refer to the press release for more information. We hope you have fun playing the game, and appreciate your interest and support for Gidget.
Michael J. Lee and the rest of the Gidget Team
Michael J. Lee
PhD Candidate, Information School
University of Washington
Seattle, WA 98195-2840
Of course, I buy into the argument here about the importance of context. Beyond that, this article does a nice job of tying context to success of women in computing (with quotes both from Barbara Ericson and Valerie Barr, formerly at NSF).
“Boys fall in love with computers as machines; girls see them as tools to do something else,” said Barbara Ericson, a senior research scientist at the Georgia Institute of Technology who tracks the AP exam. “Then girls think, ‘maybe I don’t belong because I don’t love them like the boys do.’”
In her position as a professor of computer science at Union College, Barr found contextualizing computer science classes led to an increase in female enrollment. “We said, ‘let’s show them that computer science can be useful by giving themes to the introductory CS courses, so students can see their relevance,’” she said. “For us, it’s been enormously successful. Ten years ago we taught the introductory course to 29 students, and 14% of them were women. This year there were over 200 students, and 39% of them were women.” Beyond college, Barr said, she’d also like to see “a bigger funnel into the corporate world and the tech industry, with people coming from many other majors. It doesn’t have to be just CS majors.”
I wrote a blog post recently about Joanna Goode promoting the goal of “CS for Each.” Several commenters asked for more details. I asked Joanna, and she wrote me this lovely, detailed explanation. I share it here with her permission — thanks, Joanna!
To answer, we as CS educators want to purposefully design learning activities that build off of students’ local knowledge to teach particular computer science concepts or practices. Allowing for students to integrate their own cultural knowledge and social interests into their academic computational artifacts deepens learning and allows for students to develop personal relationships with computing. More specifically, computer science courses lend themselves well for project-based learning, a more open-ended performance assessment that encourages student discretion in the design and implementation of a specified culminating project. Allowing students to use a graphical programming environment to create a Public Service Announcement of a topic of their choice, for example, is more engaging for most youth than a one-size-fits-all generic programming assignment with one “correct” answer.
Along with my colleagues Jane Margolis and Jean Ryoo, we recently wrote a piece for Educational Leadership (to be published later this year) that uses ExploringCS (ECS) to show how learning activities can be designed to draw on students’ local knowledge, cultural identity, and social interests. Here is an excerpt:
The ECS curriculum is rooted in research on science learning that shows that for traditionally underrepresented students, engagement and learning is deepened when the practices of the field are recreated in locally meaningful ways that blend youth social worlds with the world of science[.1] Consider these ECS activities that draw on students’ local and cultural knowledge:
- In the first unit on Human-Computer Interaction, as students learn about internet searching, they conduct “scavenger hunts” for data about the demographics, income level, cultural assets, people, and educational opportunities in their communities.
- In the Problem-Solving unit, students work with Culturally-Situated Design Tools , a software program that “help students learn [math and computing] principles as they simulate the original artifacts, and develop their own creations.” In one of the designs on cornrow braids students learn about the history of this braiding tradition from Africa through the Middle Passage, the Civil Rights movement to contemporary popular culture, and how the making of the cornrows is based on transformational geometry.
- In the Web Design unit, students learn how to use html and css so they can create websites about any topic of their choosing, such as an ethical dilemma, their family tree, future career, or worldwide/community problems.
- In the Introduction to Programming unit, students design a computer program to create a game or an animated story about an issue of concern.
- In the Data Analysis and Computing unit, students collect and combine data about their own snacking behavior and learn how to analyze the data and compare it to large data sources.
- In the Robotics unit, students creatively program their robots to work through mazes or dance to students’ favorite songs.
Each ECS unit concludes with a culminating project that connects students’ social worlds to computer science concepts. For example, in unit two they connect their knowledge of problem solving, data collection and minimal spanning trees to create the shortest and least expensive route for showing tourists their favorite places in their neighborhoods.
 Barton, A.C. and Tan, E. 2010. We be burnin’! Agency, identity, and science learning. The Journal of the Learning Sciences, 19, 2, 187-229.
 Eglash, Ron. Culturally Situated Design Tools. See: See: csdt.rpi.edu
Sarah Esper (one of the leads on CodeSpells) was part of the 2013 ICER Doctoral Consortium, and was just in the ICER CRR with me. She’s designing CodeSpells based on computing education research. It’s worth checking out!
Become the most powerful wizard the world has ever seen by crafting magical spells in code.When we were young, wizards like Gandalf and Dumbledore struck a chord in our minds. We spent hours pretending to be wizards and casting epic imaginary spells.Now, we want to bring that kind of creative freedom to video games. Instead of giving the player pre-packaged spells, CodeSpells allows you to craft your own magical spells. It’s the ultimate spellcrafting sandbox.What makes it all possible is code. The game provides a coding interface where you can specify exactly what your spells will do. This interface is intuitive enough for individuals young and old who have never coded before. But skilled coders will also enjoy using their coding skills in new and creative ways! Even children can use this interface to make mountains out of the terrain, make an impenetrable force field around yourself, or even make a golem creature out of the surrounding rocks. The sky is the limit!