Home → Blogs → BLOG@CACM → CS Education on Tablets for CS for All (#Tablets4CS... → Full Text

CS Education on Tablets for CS for All (#Tablets4CS for #CSforAll)

By Mark Guzdial

June 15, 2017

[article image]

"Everyone needs to learn about computer science," is a slogan heard around the world these days. Here in the United States, we have the CS for All Consortium. The United Kingdom has "Computing at School" (and an annual conference where I'll be speaking this weekend). There are similar efforts, including in Denmark, New Zealand, Australia, and Israel.

Reaching "all" is hard, and will likely require changes to how we teach. CS teachers are biased by the Inverse Lake Wobegon Effect. The students we see in computing education tend to have more opportunities, are wealthier, and are better prepared than the average students. Getting to "all" will require us to figure out how to teach students with special needs, with developmental disabilities, with below-average intelligence, and with fewer opportunities.

To really reach everyone with computing education, we are going to need to teach with more diverse methods and at lower cost. Learning to teach computer science on tablets gives us a chance to do both. I propose that computing education researchers, developers, and teachers should learn to teach CS with tablets.

Teach CS with Tablets

My Ph.D. advisor, Elliot Soloway, has been promoting the use of tablets and other low-cost computing devices in classrooms, particularly for STEM learning (see the software they produce). He points out that, for the cost of one high-end laptop, we can give ten or more kids a tablet. I got interested in his vision and started exploring how we can teach CS with tablets.

We have to teach CS differently with tablets. We are not going to ask students to program in Eclipse or BlueJ on a $79.99 tablet. Without a physical keyboard, it doesn't make sense to ask students to write hundreds or even dozens of lines of code. Some programming (e.g., adding features to existing code, finding and fixing code) works, but the real strength of teaching CS on tablets is going beyond just programming.

A diverse range of methods for teaching computing work well on low-end computing devices! I tried a variety of Web-based learning activities, from blocks-based languages to drag-and-drop coding practice to traditional programming in Python and Scheme. I used both a tablet that costs less than $100 and a Chromebook that costs less than $200. (You can see pictures of my experiments here.) I was surprised at how well they work -- Moore's Law means that even inexpensive devices can have a significant amount of computation in them.

CS Education on tablets may be a key to reaching "all." These inexpensive devices are within the reach of budget-conscious classrooms. Certainly, schools should be better funded so that we can give every student a high-end laptop. But they're not, and even if schools had that kind of money, they might reasonably spend it on something higher priority. Many more schools can afford tablets for every student than laptops for every student.

I'm making a kind of inverse argument from the classic "If we give kids iPads, they will learn." I'm saying that if we design for tablets, we will learn to teach everyone better. Teaching CS with tablets means that we teach in new ways, in ways different than our traditional "write another program" pedagogy. Teaching CS with tablets is about teaching CS for all in multiple senses -- for greater economic accessibility and for greater pedagogical diversity. We can teach CS better with tablets and reach more students.

Developing Diverse CS Teaching Methods

In general, we teach computer science by apprenticeship -- we teach programming by asking students to program, and expect understanding to happen by osmosis. That approach doesn't work for everyone. Some students don't succeed in an apprenticeship model, and we have few alternative methods. Our limited range of teaching methods leads many computer science teachers to believe in the "Geek Gene," the notion that some people have innate (or close enough to innate that we can't tell) ability with computing, and others don't. If we had more methods, so that we had more teaching and learning options, we would likely find more of our students succeeding.

Computing education researchers have found ways to teach computing (other than simply "write another program") that lead to the same or improved learning in much less time. For example, Michael Lee found that his game was twice as effective as CodeAcademy, and our group at Georgia Tech is finding that teachers using our ebooks are learning CS and developing confidence in teaching with little traditional programming.

Here's an analogy. I was an American soccer ("football" for the rest of the world) coach when my children played. I was taught, "It's a poor coach that scrimmages all the time." It's inefficient to learn soccer simply by playing it all the time. A good coach notices that you need help passing, so she has you do an activity that emphasizes passing. Coaches assign activities that build up the skill that is most in need of practice, like dribbling or stealing. The psychologist Anders Ericsson called this deliberate practice. "Deliberate practice is a highly structured activity engaged in, with the specific goal of improving performance."

Just coding all the time is like scrimmaging all the time. What if your problem is understanding loops? Or predicting what a piece of code might do? Or understanding the subtle syntax differences between two statements? In those cases, student learning might be enhanced with deliberate practice in the form of a Parsons Problem, or a fill-in-the-blank or multiple choice question that requires a prediction, or a blocks-based language activity that focuses on the loop without the detailed syntax. With tablets, you can't just "scrimmage." But you can do deliberate practice.

Reaching "all" will require us to teach with more diverse methods, so that we meet the needs of a more diverse audience. That's why teaching CS with tablets is so interesting. It's not about just teaching CS more cheaply. It's an impetus to teach using new methods, to really implement deliberate practice when teaching CS. Teaching CS on tablets makes our education more economically accessible and more pedagogically diverse.


No entries found

Read CACM in a mobile app!
ACM Logo
  • ACM CACM apps for iPad, iPhone, and Android
  • ACM Digital Library app for iOS, Android, and Windows
  • Download free and sign in with ACM Web Account
Find the app for your mobile device