Computer science education is far bigger than maker education: A post in lieu of a talk #InfyXRoads

May 21, 2018 at 7:00 am 16 comments

I was scheduled to speak this Thursday in the final plenary panel of the Infosys Foundations USA CrossRoads 2018 conference (see program here). My father passed away on May 10, and we just had the funeral Friday May 18, so I apologized and cancelled the trip. I had already thought about what I wanted to say, so here’s a blog post in lieu of a panel presentation.

The session is “Why Teach CS? Why Teach Making?” with Yasmin Kafai, Quincy Brown, and Colleen Lewis. The session was inspired in part by my blog post listing the reasons for teaching programming, and was framed in our preliminary discussions as a debate. Is there a difference between CS education and Maker education? Yasmin was tasked with making the argument that they are pretty much the same. I disagree with that position. Colleen was moderating, and Quincy was still keeping her cards close to her chest — I don’t know what position she’s going to take Thursday.

If our goal is to teach the basics of programming, sure, maker education (where we teach students to make physical devices with embedded computation, such as e-textiles, robotics, or Lego Mindstorms devices) and the kind of computing education that I see reflected in the K-12 CS Framework is pretty much the same. There’s some CS education in there. Students learn the basics of sequential execution, conditionals, and looping. But that’s not the same as computer science education.

If our goal is to change students attitudes towards technology, then sure, maker education may be even more effective than computing education for getting students to see the technology in their world. By making their own technology, students may increase their self-efficacy, and help them to feel that they can and should have control over the technology in their lives. But again, that’s not the same as teaching students computer science.

The big ideas of computer science are much bigger than maker education. Here are three examples.

The questions that Alan Turing was trying to answer when he invented the Turing Machine were “What is computable? What are the limits of mathematics? What is not computable? Is even human intelligence computable?” These are as meta as you can get. This is the heart of computer science, as the science of abstraction. These aren’t ideas students currently explore in maker education. Maybe they could, but certainly don’t require a maker context.

One of the most powerful ideas associated with Turing Machines is that any computer can simulate any other computer, including being many other computers with many processes. That’s the big idea that Alan Perlis was talking about in 1961 when he talked about computer science as the study of process. That’s one of the big ideas behind object-oriented programming as Alan Kay defined it.  We don’t explore simulation in maker education, and it’s hard to imagine how we might.

 

Ada Lovelace was the world’s first computer programmer. More than that, she was the first to realize that computers were about programming anything. Quoting from her Wikipedia page:

Ada saw something that Babbage in some sense failed to see. In Babbage’s world his engines were bound by number…What Lovelace saw—what Ada Byron saw—was that number could represent entities other than quantity. So once you had a machine for manipulating numbers, if those numbers represented other things, letters, musical notes, then the machine could manipulate symbols of which number was one instance, according to rules. It is this fundamental transition from a machine which is a number cruncher to a machine for manipulating symbols according to rules that is the fundamental transition from calculation to computation—to general-purpose computation—and looking back from the present high ground of modern computing, if we are looking and sifting history for that transition, then that transition was made explicitly by Ada in that 1843 paper.

Maker education isn’t about general computation. It’s about computing associated with sensors and actuators. Computer science education is about computing everything, from numbers to letters to musical notes. Having to connect the computation to a device made by the student limits the space of what you might compute. Computer science is about representation and abstractions on representations. Everything can be defined in terms of bits. That’s a big idea.  You can probably teach that concept in maker education, but it can be taught (and more easily) without tying it to maker education.

Most of us know Grace Hopper’s name today, but probably more for her iconic status and as the namesake for the Grace Hopper Conference than for what she actually did. Admiral Grace Hopper led the effort to create compiled programming languages, including (eventually) COBOL. There are so many big ideas in here, but let’s just take two.

  • Automatic programming means that you have a program specified in one language (like COBOL or Java or Scratch) and you use that as input to a program that generates another language written in another language (used to be machine language, but JavaScript is probably more common today). A compiler is a program that inputs a program and generates another a program. That is a powerful, meta idea that students do not typically see in maker education. Could we teach about compilers in maker education?  Maybe, but “making” is certainly not the easiest and most obvious way to talk about compilers — it’s another way computing education is bigger than maker education.
  • COBOL was about making programming accessible by using words and concepts familiar to the end users. (It was also about designing a compiled language that would work on any underlying computer, which connects back to Turing’s machine.) Designing for others who are not you and have different expertise than you is one of the most fundamental ideas of human-computer interface design today. Do we get to that in maker education? That big idea occurs more often in non-maker contexts, e.g., making apps for others and using user-centered design to get there.

Bottomline: CS education is so much bigger than maker education. You can explore a lot of computer science using student-made devices as a context. Ben Shapiro has shown that he can have kids playing with powerful modern-day computing ideas from networking to machine learning, all using student-made devices. That’s serious CS education. But it’s not all of CS education, and you can do CS education apart from student-made devices. Maker and CS education are not one-to-one.

There is an equity component here. We often talk about Ada Lovelace and Grace Hopper when we talk about the women who were part of the creation of computer science. We do them a disservice if we only remember them as early members of a category “women in computing.” It’s important to recognize what they actually did, what they contributed to computer science — and we should teach that. What Lovelace and Hopper did mattered, and we demonstrate that it mattered by teaching it and explaining why it’s important.  Ideas like data representation and compilers are not today taught in maker education, are not easily taught in maker education, and can certainly be taught without maker education.

The big ideas that Turing, Lovelace, and Hopper created and explored are not new. This shouldn’t be the realm of advanced CS any more.  An important goal of computer science education should be to teach these foundational ideas of computer science.  I don’t think we know how to get there yet, but that should be our goal. We should be teaching the computer science developed by the people we hold up as heroes, leaders, and role models.

We can teach a lot with maker education, but let’s make sure that we don’t miss out on what CS education is about. Maker education is a great idea. It’s a terrific context for learning some of CS. If we only focus on the intersection of maker and CS education, we might miss the other, far bigger ideas that are in computer science.

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

Is there a “hype cycle” for educational programming languages? Andrew McGettrick receives 2018 ACM Presidential Award for contributions to computing education

16 Comments Add your own

  • 1. zamanskym  |  May 21, 2018 at 8:43 am

    Mark – first off, very sorry for your loss.

    Part of the appeal of Maker programs in the K12 space is that people who haven’t studied CS can get their heads around it. You can also create a program that appears to be strong and educational when it might not since there will always be a few kids who can cobble something together out of the shiny toys and the results will look impressive.

    This is not to say that there aren’t good or even great maker ed programs but there’s more than a fair number of schlock out there.

    Things are further muddled because of programs like FIRST robotics which schools frequently decide are CS programs when of course, they’re not.

    Reply
  • 2. rademi  |  May 21, 2018 at 10:22 am

    Some truth here, though I think you’re slighting maker issues. (Examples here include several levels of abstraction for dealing with topics including geometry and music. But, also, robustness gets you into auditing practices—the double entry bookkeeping pattern, checksums, etc. along with atomic operations and so on)

    The flip side, though, is the limited time and attention of most students. Getting them to bridge topics, and grading them on observable activities are both good tactics for learning.

    Reply
  • 3. gasstationwithoutpumps  |  May 21, 2018 at 10:58 am

    Computer science education and maker education have a small intersection in programming embedded systems, but neither can be reasonably described as “so much bigger” than the other. Both are much bigger than their intersection, and it takes a decidedly myopic view to see only the CS portion of maker education (just as it takes a myopic view to see only the maker applications of computer science).

    Reply
    • 4. Mark Guzdial  |  May 21, 2018 at 11:49 am

      That’s a fair point. I don’t know maker education well enough (and I focus on computing education too much) to be aware of my myopia. In my defense, though, it seems to me that maker education is bound by physicality and the laws of physics, while computer science education isn’t. The space of concepts seems bigger to me when you shrug off the limitations of atoms.

      Reply
      • 5. gasstationwithoutpumps  |  May 21, 2018 at 1:26 pm

        Engineering in the real world requires understanding that models are not perfect and that there are tradeoffs between the complexity of the model and its accuracy. In computation, the models are (by definition) perfect, which means that a whole lot of the real difficulty of modeling is avoided.

        Maker education goes beyond standard engineering concerns into designing around the limited manufacturing skill set of the makers.

        Neither CS nor maker education is “better”, but you are right to point out that one is not a substitute for the other.

        Reply
      • 6. Raul Miller  |  May 21, 2018 at 3:20 pm

        Hmm…

        A note of caution here: it’s a fairly well documented phenomena that if you want to boost creativity, you work within tight limitations. Unlimited freedom without a strong background can feel akin to being lost.

        So while I agree with the general philosophy here, I think we’re talking more about upper level college work than about where we should be for introductory topics.

        That said, there’s another problem. A systemic issue which is starting to become big enough that it can even have relevance in the context of curriculum discussions: it can be really difficult to get adequate documentation on the interface between the computer and physical devices.

        The USA used to be a technology leader, but treaty and price concerns as well as other issues (in some cases, perhaps enforcement of zoning laws or environmental laws or similar things) have resulted in most such manufacturing migrating overseas. We are very much “post industrial” now, which means that all too often english is not a language where adequate documentation is available. So how can it even be possible to write programs that interface with anything?

        In other words… just getting started can be daunting. There were still viable options, last I checked, but market forces and other things mean that viable technology options for education often will not be the popular things,

        That said, speaking of market forces: it’s generally the case that the low cost simple stuff eventually grows to take over the fancier, nicer high end stuff. And that, I think, is going to be a highly relevant issue, going forwards.

        But this trend (migrating manufacturing technology overseas and just ignoring the resulting problems) is not sustainable. If we’re not going to just throw in the towel on technology, we’re going to have to start grappling with these issues. And… some people are, with “maker communities” being a (perhaps futile) example. But that just leads us right back to this topic…

        We’re not going to solve all these potential issues here, of course. But I like to think that what we choose matters.

        Reply
  • 7. orcmid  |  May 21, 2018 at 11:14 am

    Mark, thanks for this. For me, it is at the heart of why and how software development and layering of abstractions works in the digital realm. I entirely agree that motivating this and illustrating it for those grounded in practical efforts is a challenge.

    And sorry for your loss.

    – – – – – – – –

    @rademi: It is the case that engineering is similar. The engineering of physical computers in delivering reliable abstractions at what we think of as the machine-language level is an important “maker” example. Audio systems and non-digital telecommunications are also illustrative, including as fabric for carrying digital media. Then there’s art and poetry and how literature inspires human experience.

    I think an useful inquiry that is squarely in computer science is about the relationship of models of computation and derivations of software to mathematics, apparently a rather unique condition.

    The math-computing connetions seems somewhat different than the relationship of engineered artifacts (and programs too) to mathematical models of physical/electronic systems. The kind-of linguistic situation that theoretical computer science is immersed in seems qualitatively different. .I might be mistaken in that conceit, yet it is a question that interests me and has attracted my interest for nearly a lifetime.

    There is an useful new book in this area: “Plato and the Nerd.” There is also a nice 20-minute video of a presentation by the author available at https://www.youtube.com/watch?v=WBlWc6fJL_c&feature=youtu.be

    Reply
  • 9. Oladele Campbell  |  May 21, 2018 at 11:47 am

    Prof Mark,
    first accept my greetings in this event of the loss of your dad. May the good Lord console your heart.

    For some learners, particularly novice students in K-12, vocational and higher ed, exposure that the Maker education affords, provides the engagement, motivation and self-efficacy that leads to interest in exploring further big ideas of computer science. So, either education is relevant to particular context, learners and level.

    Reply
  • 10. gflint  |  May 21, 2018 at 4:27 pm

    I see the Maker movement vs CS like comparing auto shop and a Physics class. Depending on where you want to be in 10 years would determine what you should take. My school offers only CS courses due to $ and resources. (I wish we could offer some maker based classes.) The local public school offers maker type classes and no CS. We are college prep, the public school is definitely not college prep. I cannot see the maker direction as a true subset of CS, no more than auto shop is a subset of physics. Yes, an engine runs because of physics and chemistry but a mechanic really does not need to understand either to work on an engine. The same for the maker movement. It helps to know CS but not vital. Now if you want to design a new type of engine and build it, chemistry and physics are required. The same for making. If you want to do more that build somebody elses work you will need a good understanding of CS and programming.

    Reply
  • 11. OTR Links 05/22/2018 – doug — off the record  |  May 22, 2018 at 1:31 am

    […] Computer science education is far bigger than maker education: A post in lieu of a talk #InfyXRoads … […]

    Reply
  • 12. fmliang  |  May 22, 2018 at 8:27 pm

    Mark,

    Thanks for the thoughtful blog. I have been a big fan of your writing.

    Sorry to hear your loss. May peace and comfort find you during this difficult time.

    Jessie

    On Mon, May 21, 2018 at 4:00 AM, Computing Education Research Blog wrote:

    > Mark Guzdial posted: “I was scheduled to speak this Thursday in the final > plenary panel of the Infosys Foundations USA CrossRoads 2018 conference > (see program here). My father passed away on May 10, and we just had the > funeral Friday May 18, so I apologized and cancelled the t” >

    Reply
  • 13. jbarrettsrq  |  May 23, 2018 at 6:22 am

    Mark, Sorry for your loss. I have thought of the maker movement being embraced and gaining traction by libraries looking for ways to remain relevant and bring students into their “spaces” because students no longer have to go to a library for research or book borrowing. When we first were introduced to maker my colleagues and I thought it reminded us of the craft corners of our childhood. I think that K12 schools are also jumping on this bandwagon because it doesn’t require a teacher to be trained in CS and similarly, they can convert the library staff they already have in place.

    Reply
  • 14. Josh Paley  |  May 26, 2018 at 1:34 am

    Whether CS is bigger than Maker or not isn’t as interesting to me as what happens when CS is conflated with Maker.

    I work at a place where a teacher who is, despite what I am about to write, is an excellent AP CSP teacher. This teacher does not have a formal CS background, but is great at connecting with students and, given a curriculum, can deliver it beautifully. This teacher thought that prototyping and 3D printing was a CS topic; it isn’t if we use the ACM’s 2013 Body of Knowledge as a guide. I asked myself how this could be and I think perhaps it is conflating Maker with CS. As we keep trying to bring in CS teachers from other disciplines, we should not be surprised that there are Maker topics that look like CS to them. The challenge is to keep this from becoming a widespread problem so kids do not grow up with false belief systems about CS. The challenge involves getting administrators and teachers to understand what CS is about. (I think Maker is much more clear about their movement than CS education is about theirs.)

    Both CS and Maker are wonderful. It would be great if students everywhere could study both if they desired. What would also be wonderful would be to delineate clearly the distinctions between Maker and CS so people do not confuse them when they enroll in classes. Given how hard it seems to communicate what CS is to the public, this is not going to be an easy task going forward.

    Reply
  • 15. Jose Rodriguez  |  August 7, 2018 at 10:47 pm

    Reblogged this on CStation.

    Reply
  • 16. lauren  |  August 10, 2018 at 8:41 am

    Computer science education and maker education have a small intersection in programming embedded systems,

    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


Recent Posts

May 2018
M T W T F S S
« Apr   Jun »
 123456
78910111213
14151617181920
21222324252627
28293031  

Feeds

Blog Stats

  • 1,538,864 hits

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

Join 5,301 other followers

CS Teaching Tips


%d bloggers like this: