Using tablets to broaden access to computing education: Elliot Soloway and truly making CS for All

June 14, 2017 at 7:00 am 9 comments

I recently had the opportunity to visit with my PhD advisor, Elliot Soloway. Elliot has dramatically changed the direction of his research since we worked together. And he’s still very persuasive, because now I keep thinking about his challenge to push educational technology onto the least expensive devices.

When I worked with Elliot in the late 1980’s and early 1990’s, we emphasized having lots of screen real estate. Though the little Macintosh Plus was still popular through much of that time, Elliot was hooking up 21-inch, two page displays for all our development and at the high schools where we worked. The theoretical argument was the value of multiple-linked representations (like in this paper from Bob Kozma). By giving students multiple representations of their program and their design, we would facilitate learning across and between representations. The goal was to get students to see programming as design.

But in the mid 1990’s, Elliot changed his direction to emphasize inexpensive, handheld devices. I remember asking him why at the time, and he pointed out that you could give 10 students access to these low-cost devices for one of the higher-end devices. And access trumps screens.

Now, Elliot has a project, Intergalactic Mobile Learning Center, that produces software for learning that runs on amazingly inexpensive computers. Go to and try out their all-HTML software on any of your devices.

I purchased an Amazon Fire HD 8 tablet last year as a media consumption device (reading, videos, and music). For less than $100, it’s an amazingly useful device that I carry everywhere since it’s light and mostly plastic. Here’s some of IMLC’s software running on my inexpensive tablet.

Teaching Computer Science on a Tablet

I have been arguing in this blog that we need a greater diversity of teaching methods in computer science, to achieve greater diversity and to teach students (and reach students) who fail with our existing methods. Elliot’s argument for inexpensive tablets has me thinking about the value for computing education.

If our only CS teaching method is “write another program,” then a tablet makes no sense. Typing on a tablet is more difficult than on a laptop or desktop computer. I have been arguing that we can actually teach a lot about coding without asking students to program. If we expand our teaching methods to those that go beyond simply writing programs, then a tablet makes a lot of sense.

Could a focus on using tablets to teach computer science drive us to develop new methods? If more CS teachers tried to use tablets, might that lead to greater adoption of a diverse range of CS teaching methods?

Elliot’s argument is about bridging the economic and digital divide. Can we use the low cost of tablets to break down economic barriers to learning computer science? Computing education via tablets may be key to the vision of CS for All. We can outfit a whole classroom with tablets much more cheaply than buying even mid-range laptops for an elementary or middle school classroom.  There are people suggesting that if we buy kids iPads, we’ll improve learning (e.g., Los Angeles schools).  I’m making the inverse argument.  If we as computing curriculum/technology developers and teachers figure out how to teach computing well with tablets, we’ll improve learning for everyone.

I started checking out what I could do with my less than $100 tablet. I was amazed! Moore’s Law means that the low-end today is surprisingly capable.

GP, the new blocks-based programming language that I’ve been working with (see posts here and here), runs really well on my Fire HD 8 tablet. In fact, it runs better (more functionality, more reliable, greater stability) in the browser of my Fire tablet than the browser-based GP does on my iPad Pro (which costs about a magnitude more).  (There is an iOS version of GP which is fast and stable, but doesn’t have all the features of the browser-based version.)

GP running on a Fire HD 8 Tablet — two Media Computation projects (mirroring on left, removing red eye on right)

Our ebooks run well on the Fire HD 8 tablet. I can program Python in our ebook using the tablet. Our approach in the ebooks emphasizes modification to existing programs, not just coding from scratch. Tweaking text works fine on the tablet.

Running Python code on the Fire HD 8 Tablet

A wide range of CS education practice activities, from multiple choice questions to Parsons Problems, work well on the Fire HD 8.

Parsons Problem on Fire HD 8 Tablet

I tried out WeScheme on my Fire HD 8, too.

I bought the cheapest Chromebook I could find for this trip. I wanted a laptop alternative to take to China and for commuting on the Barcelona subway, rather than my heavier and more expensive MacBook Air. All of these browser-based tools (GP, Python programming in the ebook, Parsons Problems) run great on my $170 Acer Chromebook, plus I get a keyboard. Even a Chromebook would require different teaching and learning methods than what we use in many CS courses. I’m not going to run Eclipse or even JES on a Chromebook. (Though Emacs has been ported to the Chromebook, it only runs on certain Chromebooks and not mine). Google is aiming to merge Chromebook and Android development so that apps run on both. I don’t really understand all the differences between tablets and Chromebooks, but I do know that Chromebooks are becoming more common in schools.

A Chromebook costs about twice what a low-end tablet costs. While that is still much less than most laptops, twice is a big markup for a poor student or a budget-strapped school. It’s worth pushing for the lowest end.

CS education researchers, developers, and teachers should explore teaching computing with tablets. Some are doing this already. The next version of Scratch will run on mobile phones, and the current version will already run on some phones and tablets. Creating CS learning opportunities on low-end tablets will make computing education more affordable and thus accessible to a broader range of potential CS students.  My proposal isn’t about offering the poor a cheaper, low-quality alternative. Tablets force us to expand and diversify our teaching methods, which will lead us to create better and more accessible computing education for all.

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

Older Adults Learning Computer Programming: Motivations, Frustrations, and Design Opportunities Registration open for New Computing Faculty Workshops in Summer 2017

9 Comments Add your own

  • 1. chris thompson  |  June 14, 2017 at 9:46 am

    Have you reviewed Apple’s Swift Playgrounds and the curriculum offered for free? It also connects to various bluetooth devices/platforms.

    • 2. Mark Guzdial  |  June 14, 2017 at 11:20 am

      I haven’t, but I want to. I’ve heard good things about Swift Playgrounds. It’s the opposite direction from this blog post, though. MacOS-only development environments are the opposite of affordable and accessible.

      • 3. cycomachead  |  June 14, 2017 at 2:39 pm

        Swift Playgrounds are in iOS, which is still more expensive than an android tablet – but it’s not nearly as bad a mac.

        The super powerful thing is that Apple’s designed the environment to make typing minimal — there are aspects of Playgrounds that essentially treat Swift as a blocks environment. They’ve also built a pretty decent on screen keyboard.

        Swift is at least open source, and runs on Linux – so it’s no inconceivable that someone builds a similar app for the Android platform at some point, but it does seem like the market would be small.

  • 4. cycomachead  |  June 14, 2017 at 2:48 pm

    I think it’s worth pushing back on the idea that you can’t code on a tablet. I know plenty of teachers and professionals who do. To be clear, the tooling isn’t as good as desktop but you can pretty far. iOS, and I’m fairly certain Android, are both compatible with USB or Bluetooth keyboards for pretty cheap.

    Fraser Spiers who’s an educator in Scotland has a really interesting model which teaches Python using the Pythonista app for iOS.

    I haven’t yet tried GP on iOS but that sounds really exciting. But I do think Snap! deserves a mention. Tablets were a key reason for doing a web environment. And now the Scratch team is going that direction with Scratch 3. There’s a less general purpose but very neat app called Tickle that is similar to Scratch for tablets with robotics APIs that’s also worth exploring.

    An additional benefit of touch screens is that you can make some really nicely accessible UIs for screen readers with block languages that would be more cumbersome with only a mouse and keyboard.

    • 5. Mark Guzdial  |  June 15, 2017 at 3:21 am

      I don’t think I made my point clear, then. I’ve just written a Blog@CACM post that might make it clearer — see here, please.

      I don’t think tablets plus bluetooth keyboards in classrooms (which is what we’re talking about) is currently practical. Can you imagine 25 tablets and 25 keyboards that you have to keep charged and paired with the right tablet?

      iOS is about as expensive and not economically accessible tablet I can imagine.

      But the point of this piece is to push on non-traditional ways of teaching CS through use of tablets. Yes, we should do blocks programming — I say that explicitly. Hooking up a keyboard to do traditional textual programming is just more of the same.

  • 6. Keith O'Hara  |  June 14, 2017 at 5:06 pm

    Yes! Many students in poorer communities rely on smartphones as their only internet-enabled computer. We need more (CS)ED tools for smartphones.

  • 7. William Doane  |  June 15, 2017 at 10:48 am

    I read in the OP your main point, Mark, as “designing computing education for low-end tablets (first/primarily) would improve computing education by making us think of new approaches”… but you then went on to show the feasibility of using tablets by demonstrating that we can do many of the same things we’re already doing, but on tablets. I think that muddles the message.

    You’re right that the design constraints of a low-cost tablet (and only that tablet) as the primary computing device would offer interesting design constraints… you’ve already noted the classroom logistics of charging, e.g.

    To try to constrain further, are we discussing teaching programming, CS, computing, or computational thinking on such platforms? Each poses its own challenges and opportunities.

    Are we thinking of web experiences that are very mobile friendly, or apps that would lock one in to a platform?

    • 8. Mark Guzdial  |  June 15, 2017 at 11:46 am

      You’re right that the message is muddled. Let me try to tease it apart a little bit. My examples were meant to show that we can build tools that demonstrably teach CS on tablets. None of these tools were originally created for tablets. I meant that to be a demonstration of feasibility. I think we could do better by building for tablets and Chromebooks specifically. To the rest of your questions, “yes.” It’s worth pushing what we can do with low-cost platforms.

  • 9. OTR Links 06/18/2017 – doug — off the record  |  June 18, 2017 at 1:31 am

    […] Using tablets to broaden access to computing education: Elliot Soloway and truly making CS for All |… […]


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your 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

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

Join 10,185 other subscribers


Recent Posts

Blog Stats

  • 2,060,306 hits
June 2017

CS Teaching Tips

%d bloggers like this: