Posts tagged ‘computing for everyone’
Why the ‘coding for all’ movement is more than a boutique reform – Margolis and Kafai respond to Cuban in Washington Post
Highly recommended reading — Jane Margolis and Yasmin Kafai respond to the concerns of Larry Cuban about the “coding for all” movement (that I blogged on here). They address a wide range of issues, from the challenges of changing school to the importance of education about coding for empowerment.
On a functional level, a basic understanding of code allows for an understanding of the design and functionalities that underlie all aspects of interfaces, technologies, and systems we encounter daily. On a political level, understanding code empowers and provides everyone with resources to examine and question the design decisions that populate their screens. Finally, on a personal level, everyone needs and uses code in some ways for expressive purposes to better communicate, interact with others, and build relationships. We need to be able to constructively, creatively, and critically examine designs and decisions that went into making them.
Coding Is the New Writing for Developing Self-Expression, Communication, Imagination and Solving Hard Problems
A really nice article by Dr. Idit Harel Caperton on why to learn to code. She really captures well the insight that computing is a medium, and the value of developing literacy in this medium.
To summarize, kids and adults too learn best by teaching, explaining, inventing and representing information to others. Coding is the new writing tool for young minds to do just that and especially well when integrated into a harder problem and a larger purpose, than learning coding for the sake of learning coding.
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.
The below linked article makes some strong assumptions about “learning to code” that lead to the author’s confusion about the difference between learning to code and digital literacy. NOBODY is arguing that all students “need to learn how to build the next Dropbox.” EVERYONE is in agreement about the importance of digital literacy — but what does that mean, and how do you get there?
As I’ve pointed out several times, a great many professionals code, even those who don’t work in traditional “computing” jobs — for every professional software developer, there are four to nine (depending on how you define “code”) end-user programmers. They code not to build Dropbox, but to solve problems that are more unique and require more creative solutions than canned applications software provides. We’re not talking thousands of lines of code. We’re talking 10-20, at most 100 lines of code for a solution (as my computational engineer colleagues tell me). For many people, coding WILL be part of the digital literacy that they need.
Learning some basic coding is an effective way of developing the valued understanding of how the cloud works and how other digital technology in their world works. Applications purposefully hide the underlying technology. Coding is a way of reaching a level lower, the level at which we want students to understand. In biology, we use microscopes and do dissections to get (literally) below the surface level. That’s the point of coding. No student who dissects a fetal pig is then ready for heart surgery, and no student who learns how to download a CSV data file and do some computation over the numbers in it is then ready to build Dropbox. But both groups of hypothetical students would then have a better understanding of how their world works and how they can be effective within it.
Offering programming electives for students who want to learn Python or scripting won’t solve the underlying problem of digital illiteracy. So even if your goal is to teach all students to code, schools will first need to introduce computer-science concepts that help students learn how to stack the building blocks themselves.
They don’t need to learn how to build the next Dropbox, but they should understand how the cloud works.
“If you want to be able to use the machine to do anything, whether it’s use an existing application or actually write your own code, you have to understand what the machines can do for you, and what they can’t, even if you’re never going to write code,” Ari Gesher, engineering ambassador at Palantir Technologies, said at the event.
Really interesting point from Joanna Goode. “CS for All” should not mean “One Kind of CS that All have to take.” Her notion of “CS for Each” goes further than the multiple CS1’s that we have at Georgia Tech. Seymour Papert talked about the value of a personal relationship with a discipline, and I think that’s the direction that Joanna is steering us.
But, as all the students gain access to computer science learning, teachers are charged with the task of teaching each student based on the lived experiences, prior knowledge, and the wonders of the world that the child brings to the classroom. Developing a computer science classroom that welcomes each child requires a culturally responsive pedagogy that views diversity as a strength that should be integrated within the curriculum. Additional instructional supports for English language learners and students with disabilities should be developed and shared to support teachers in a CS for Each model.
Great interview with Sebastian Thrun. I particularly found fascinating his candid response to this important question.
That doesn’t sound like democratizing education, if only the affluent can afford the version that works.
I would be careful to say this is not democratizing it. Any alternative path is actually much more expensive. We managed to lower the cost by a factor of ten. Going to the extreme and saying it has to be absolutely free might be a bit premature. I care about making education work. Everything else being equal, I would love to do this at the lowest possible price point. Where we’ve converged is right. You don’t need a college degree anymore. I would be careful with the conclusion that this is the end of democratization. We still have the free model for students. It just doesn’t work as well — it’s just a fact.
The article posted below is a carefully-considered (not a “Rah! Rah! Let’s Code!”) and intriguing consideration of the role of coding in modern notion of literacy. I particularly liked the idea below. Is Annettee Vee right? Does knowing about coding inform your ability to think about things to code? I suspect that’s true, but it’s an empirical question. It’s much nearer transfer, and is not as much of a stretch as looking for evidence of general problem-solving skills from programming (which is very rare) or applying a computational framework for understanding the world (i.e., computational thinking).
The happy truth is, if you get the fundamentals about how computers think, and how humans can talk to them in a language the machines understand, you can imagine a project that a computer could do, and discuss it in a way that will make sense to an actual programmer. Because as programmers will tell you, the building part is often not the hardest part: It’s figuring out what to build. “Unless you can think about the ways computers can solve problems, you can’t even know how to ask the questions that need to be answered,” says Annette Vee, a University of Pittsburgh professor who studies the spread of computer science literacy.