Posts tagged ‘Logo’
Higher Ed and the Role of a Computing Culture: Interview on No Such Thing Podcast
When I visited the To Code and Beyond workshop last month (as mentioned in this podcast), I was interviewed by Marc Lesser for the No Such Thing podcast, which he just released. (My keynote is also in his podcast series here.) It’s a wide ranging interview, from woodworking to the work I’ve started with History professors Bob Bain and Tamara Shreiner, from how I began teaching computing in 1980 to how I’ve been inspired by (to name a few) Alan Kay, Yasmin Kafai, E. Paul Goldenberg, Brian Harvey, and Bob Kozma. Marc’s framing for the podcast is interesting (pasted below): How do we “bottle” me? In other words: How do we create more computing educators who care about CS for All, especially at the higher education level? The episode can be found here.
At the top of the last episode you learned about Mark Guzdial. Mark is a Professor in the College of Engineering at the University of Michigan. After his talk at Cornell Tech’s “To Code and Beyond” I had a chance to sit down with Mark and ask what questions had bubbled up while I listened to his talk live. Probably my most pressing question: what you’re saying is great, but we’ve all seen professors like you on youtube – Mark is a brilliant, animated, ukulele playing Computer Science professor, who, from my time with him, seems as passionate about you learning about his passion topic, as he is about the topic itself. He’s a rare mix, and what I’m sure many in the audience wondered – what the country is wondering right now – is how do we bottle some of that, and help thousands of teachers in every state offer young people the experience that surely the students in Mark’s class have each semester. For what it’s worth, out-of-state tuition at his school is $43,476 with a 26% acceptance rate. A wicked problem, indeed.
Computational Mapping: An important set of skills in Computational Thinking we can define and test
Last month, I blogged for CACM about a “Twitter convo” (conversation) that I was part of recently, Computational Thinking, education for the poor and rich, and dealing with schools and teachers as they are: A Twitter Convo #doesComputationalThinkingExist.
Part of that conversation was a series of tweets about meanings and alternative terms for computational thinking.
- Lorena Barba tweeted a thread with different definitions of computational thinking, including many she disagreed with and a few that she recommended to us.
- Mitchel Resnick tweeted that they use “computational fluency” to recognize the importance of students developing their voice and identity — “the importance of having the ability to create and express oneself with digital technologies”
- Mark Sherman said that his group at MIT is using the phrase “computational action” to think about how people can use computing to “take action on local, authentic problems, and make a difference.”
- Not in the convo but relevant is Yasmin’s Kafai’s argument to shift computational thinking to computational participation (see CACM piece here) which changes the focus to the social context and the interaction with others around use of computing. (Thanks to Ben Shapiro for pointing out the connection.)
Shuchi Grover emphasized in this convo that she sees CT as the connection between programming and other kids of thinking skills. The skills that she’s promoting and teaching are critical to the use of computing in science, for example (as she talked about here). I think she has her finger on an important set of skills, but I don’t think that they’re “computational thinking” by any of the most popular and often-used definitions for CT. CT has a set of meanings associated with it. W are more likely to hide a good set of concepts behind a vague term than to get the term re-associated with a good, new meaning.
Here’s a proposal for a name for at least part of what Shuchi is promoting and teaching: Computational mapping. Computational mapping is about making an association between computational representations and objects in other domains. Computational mapping skills include using the computational representations to improve understanding of and predictions in the other domains. Computational mapping skills should also include recognizing the limitations of the computational representation, when the mapping is missing critical characteristics of the objects in the domain which limit our understanding and predictive capabilities.
Most computer programs are mapping from the real world (that is continuous and filled with complex and real numbers) to a set of discrete values that can be represented in bits. There is not a 1:1 relationship between the real world and the computational world. Whenever we create a mapping, we may be capturing exactly the right things (e.g., if you want to simulate projectile motion, position and time is all you really need), but it’s more likely a mismatch, though many times the mismatch is not something we worry about. Our RGB color scheme can’t capture all colors, or all colors that butterflies can see, but that’s okay — we’re just making colors for humans.
I see computational mapping skills in lots of the things I think about today.
- When Seymour Papert was first promoting the Logo turtle, he talked about it being “body-syntonic.” You could map the turtle to your knowledge and sense about one’s own body. That’s making programming easier through computational mapping skils
- I attended a fascinating Engineering Education Research session where we talked about Julie Gainsburg’s work on engineering judgement. I particularly like one of her paper titles, “Developing skeptical reverence for mathematics.” When is a mathematical or computational model a good enough or precise enough estimation? When you get a result that you didn’t expect, when should you question the implementation of your model, and when should you realize that the results are telling you something new? Engineers and scientists have to do this all the time, and it’s harder when the result is coming out of a computer, looks really slick (high-quality graphs!), and has many decimal places.
- Joy Buolamwini’s terrific TED talk and Algorithmic Justice League are pointing out that our algorithms for facial recognition are missing critical characteristics of faces that we want to be able to recognize. To even realize that that can happen, that you can come up with computational recognition systems that aren’t recognizing the parts of the world that you need, is part of computational mapping skills.
- The use of types in programming languages are really an exercise in computational mapping. Does this type really capture the characteristics of the objects and data that I need? When are my types mismatched? When are my types insufficient, e.g., are floating point numbers really the same as real numbers?
- I recently told Alan Kay about some work I’m doing in using simulations for teaching social science. He cautioned me that it’s too easy to get the mapping wrong when modeling social science concepts on a computer. Physical situations (like projectile motion) are more exactly mapped and are a better place to learn through using computational modeling. He’s right, of course. But if we modeled physical situations in elementary/middle school, then high school would be a good place to explore the limitations of computational modeling and simulation, and social science is a good place for that.
CT is such a big and vague term that I’m not sure that it’s useful anymore. We’re better off coming up with new terms (like Mitchel and Mark are doing) for the exact skills we are aiming to teach. Let’s spend our time studying the things that we think are important and that we can actually define. Both the power and limitations of computational modeling feel like something that all citizens of the 21st century should be aware of.
Remembering Seymour Papert by Sherry Turkle
A lovely piece on Seymour’s passing by Sherry Turkle.
Seymour called the identification of mind and object, mind and machine, the ‘ego-syntonic’ quality of programming. He used the language of syntonicity deliberately, to create a resonance between the language of computation and the language of psychoanalysis. And then he heightened the resonance by talking about body syntonicity as well. Which brings me to the boy draped around the Turtle. Seymour loved to get children to figure out how to program by ‘playing Turtle’. He loved that children could experience their ideas through the Turtle’s physical actions. That they could connect body-to-body with something that came from their mind.We love the objects we think with; we think with the objects we love. So teach people with the objects they are in love with. And if you are a teacher, measure your success by whether your students are falling in love with their objects. Because if they are, the way they think about themselves will also be changing.
How do we move forward in CS Ed and not just retrace the past?
Interesting essay from Neil Brown who decided to try to resurrect some of the best of CS Education research software from the past. As I mentioned in a previous blog post, I have found that Logo code from the past doesn’t run as-is on modern Logo implementations. I was just talking to a colleague about how great it would be to be able to run Boxer and HyperCard again. (Yes, I have a license for Livecode, but it’s not the same interface as HyperCard.) Etoys still runs on everything, but it’s a rare exception. It’s important to make progress that we build on the past, and not simply re-invent it, forget it, or mis-remember it.
I did have one or two successes, such as getting a version of the GENIE editor running in an emulator. And it was a revelation that greatly pushed forward my understanding of old structured editors. By modern standards, they were awful. The papers’ descriptions didn’t make clear how tedious and fiddly the navigation was, how unhelpful the editor was, how awkward it was to deal with errors. Running the software was an absolutely crucial step to comparing our work to theirs. It allowed me to understand the design and critique the editor’s operation for myself, rather than relying on the authors’ incomplete descriptions of their own software.For all the other editors which I couldn’t run, there are these reviewers asking the perfectly valid question in research: “How does your work relate to previous work X?” And the honest answer is: I don’t know. Perhaps nobody can know any more — the paper wasn’t very detailed and the software is lost in time. This is no way to do research.
We overvalue innovation and entrepreneurship: Shifting the focus to Maintenance over Fads
Until I heard this recent Freakonomics podcast, I was not aware of this response to innovation and entrepreneurship trends. The quote below speaks directly to engineering education, but is as much about computing education.
The value of engineering is much, much more than just innovation and new things. Focusing on taking care of the world rather than just creating the new nifty thing that’s going to solve all of our problems. If you look at what engineers do, out in the world, like 70-80 percent of them spend most of their time just keeping things going. And so, this comes down to engineering education too, when we’re forcing entrepreneurship and innovation as the message, is that we’re just kind of skewing reality for young people and we’re not giving them a real picture and we’re also not valuing the work that they’re probably going to do in their life. That just seems to me to be kind of a bad idea.
Source: In Praise of Maintenance – Freakonomics Freakonomics
The quote is from Lee Vinsel who was a co-author on a thought-provoking essay, Hail the maintainers, sub-titled: “Capitalism excels at innovation but is failing at maintenance, and for most lives it is maintenance that matters more.”
To take the place of progress, ‘innovation’, a smaller, and morally neutral, concept arose. Innovation provided a way to celebrate the accomplishments of a high-tech age without expecting too much from them in the way of moral and social improvement.
It’s easy to see this emphasis on innovation over maintenance. We talk about disruption and transformation much more than reforming, repairing, or improving. We talk more about creation than understanding.
We increasingly teach computer science to prepare students to be innovators and create new things (e.g., join startups), when the reality is that most computer science graduates are going to spend the majority of their time maintaining existing systems. (See the papers by Beth Simon and Andy Begel tracking new hires at Microsoft.) Few who do enter the startup world will create successful software and successful companies, so it’s unlikely that those students who aim to create startups will have a lifelong career in startups. In terms of impact and importance, keeping large, legacy systems running is a much greater social contribution than creating yet another app or game, when so few of those startup efforts are successful. Aren’t we then as guilty as the engineering educators, described in the first quote?
In terms of what we teach in computing and how, innovation and maintenance is a hard balance to strike. As Alan Kay has noted, “The computing revolution hasn’t happened yet.” We’re still inventing and innovating because what we have isn’t good enough. But, that desire to value what’s new leads us to overvaluing the fad of the moment, rather than exploring, developing, and understanding what we have at-hand. Why do we have to keep changing the introductory programming language, when it’s clear that we don’t understand how students learn (and don’t learn) the programming languages that we currently teach? Why did we give up on Logo when it’s still better than most languages for children today? It’s a tough balance — to strive for better than we have, but valuing, developing, and improving what we currently have.
Logo Summer Institute 2016 available
As readers of this blog know, I started in computing education working in Logo. My first published paper ever was at Logo84, the International Logo Conference at MIT, and an early paper I wrote on using Logo to teach music to young children is still available. I did a post here on all the great interdisciplinary curricula that existed for Logo. There are still Logo workshops available for teachers, and there are slots open for this summer.
The Logo Summer Institute is an intensive workshop in creative computing for K12 teachers, parents, and technology integrators. Our project-based approach supports computational thinking and STEAM learning and teaching. The program is highly individualized to accommodate novices as well as more experienced participants, teachers of different subjects, and those who work in informal settings as well as in classrooms.Learn to code as you explore and create projects using Scratch, Makey Makey, Hummingbird, Arduino, LEGO and a many other hardware and software platforms.The Logo Summer Institute provides a relaxed atmosphere with a small group of colleagues and a great deal of personal attention from experienced workshop leaders. We have a low participant to facilitator ratio and daily advisory meetings to insure that participants’ individual needs are met.
Source: Logo Foundation Workshops | Logo Summer Institute 2016
The Algorithmic Future of Education: The History of the Future of Education
I find the history of both computer science and education fascinating, so this keynote by Audrey Watters is particularly interesting for me because it’s on both. The most often highlighted line in the article is this one:
Education technology is, despite many of our hopes for something else, for something truly transformational, often a tool designed to meet administrative goals.
Audrey shows how educational technology has been used to mechanize our theoretical understanding of what’s the best kind of education.
Now some of these strengths of tutors may be supposition or stereotype. Nonetheless, the case for tutoring was greatly reinforced by education psychologist Benjamin Bloom who, in 1984, published his article “The Two Sigma Problem” that found that “the average student under tutoring was about 2 standard deviations above the average of the control class,” a conventional classroom with one teacher and 30 students. Tutoring is, Bloom argued, “the best learning conditions we can devise.”But here’s the challenge that Bloom identified: one-to-one tutoring is “too costly for most societies to bear on a large scale.” It might work for the elite, but one tutor for every student simply won’t work for public education. Enter the computer — and a rekindling of interesting in building “robot tutors.”
Source: The Algorithmic Future of Education — The History of the Future of Education — Medium
But as she points out, what we end up losing when we mechanize education is the part that is most important. The best part of a good educational experience is the most human part, which is the part which we cannot put into the computer. I recommend the whole article.
Recent Comments