http://bit.ly/2rmGIa5 May 15, 2017
I recently published and presented a paper at CHI 2017 (the annual ACM Conference on Human Factors in Computing Systems, https://chi2017.acm.org) called "Older Adults Learning Computer Programming: Motivations, Frustrations, and Design Opportunities" (http://bit.ly/2snS4LN). This paper won an Honorable Mention award at the conference. Here's a summary of the project.
There is now tremendous momentum behind initiatives to teach computer programming to a broad audience, yet many of these efforts (for example, Code.org, Scratch, ScratchJr, and Alice) target the youngest members of society: K–12 and college students. In contrast, I wanted to study the other end of the age spectrum: how older adults aged 60 and over are now learning to code.
Why study older adults in particular? Because this population is already significant and also quickly growing as we all (hopefully!) continue to live longer in the coming decades. The United Nations estimates that by 2030, 25% of North Americans and Europeans will be over 60 years old, and 16% of the worldwide population will be over 60. There has been extensive research on how older adults consume technology, and some studies of how they curate and produce digital content such as blogs and personal photo collections. But so far nobody has yet studied how older adults learn to produce new technologies via computer programming.
Thus, to discover older adults' motivations and frustrations when learning to code, I designed a 10-question online survey that asked about their employment status (such as working, semi-retired, retired), occupation, why they are learning, what resources they use to learn, and what has been the most frustrating part of their learning experience thus far.
The first challenge was finding a large-enough group of older adult learners to fill out my survey. Fortunately, I created a popular learn-to-code website called Python Tutor (pythontutor.com), which has gotten over 3.5 million total visitors from over 180 countries throughout the past decade. Approximately 16% of its user base self-report as aged 55 and older, so there are plenty of older adults learning to code on there.
I deployed my survey to the Python Tutor website from March 2015 to August 2016 and collected 504 responses. Respondents were, on average, 66.5 years old, and came from 52 different countries. Unsurprisingly, most were highly educated professionals in STEM (science, technology, engineering, mathematics) fields, since they are amongst the most tech-savvy of their generation. Specifically, 18% of respondents were (either current or retired) scientists and engineers, 18% were K–12 and college teachers, 12% were software developers hoping to learn new technologies, and 8% were business executives and managers.
Why were our respondents learning programming? The most common age-related motivations were:
Here's a great anecdote about learning to make up for missed opportunities during youth. A 67-year-old retired chief information officer wrote in his survey response:
"I did a little programming when I was in school, and when I first started working. However, I got "kicked upstairs" [into management] quite quickly, and was never able to program professionally. [...] I always wanted to be able to create programs but between work and family, never took the time. Now that I am retired, I am trying to fulfill the dream and learn."
Older adults do not want to be patronized, to be talked down to, or made to play with "kids' toys."
Relatedly, a 64-year-old retired networking engineer wrote about his desire to keep his brain sharp and to create technologies that benefit peers in his generation:
"First, by endlessly learning new things, I hope to delay or reduce the effects of senility on my brain. [...] Second, to take advantage of data produced by the many health-related, sensor-based monitors, I want to help myself and other senior citizens maintain an independent living lifestyle that is affordable by the masses."
What got our respondents frustrated as they were learning to code? The three most commonly reported age-related frustrations were:
A 71-year-old retired IT technician humorously wrote about his own perceived cognitive impairments:
"Given that I was a VERY early adopter of microprocessor/microcontroller technology, I have NO fear of the equipment or the concepts. But things that were "automatic" a few years back seem to take a lot more time and effort to digest and store than they used to. Early onset Alzheimer's? Probably not. ACS? (Advanced curmudgeon syndrome)—Probably some of that."
Inspired by the findings from this study, I applied the Learner-Centered Design framework developed by Mark Guzdial in his book Learner-Centered Design of Computing Education: Research on Computing for Everyone (http://bit.ly/2seYahY) to propose design ideas for improving the learning experience for this older adult population. Three main themes emerged from my design process:
The tech world is notoriously youth-centered: popular conceptions of who learns and does programming are filled with images of young people, often under 30 years old. Also, age discrimination (see https://bloom.bg/2qCdIv6) is an all-too-common reality in the technology sector. To counteract these prevailing trends as people keep living longer in the coming decades, it is vital for older adults to have equal access to high-quality computing and programming education throughout their lives.
We have already made great strides in broadening participation of computing to traditionally under-represented groups ... but there is still much, much more work to be done. Efforts to spread the power and joy of computing for all should also include people of all ages.
That's it for now! You can read my paper for more details: Older Adults Learning Computer Programming: Motivations, Frustrations, and Design Opportunities, at http://bit.ly/2snS4LN.
©2017 ACM 0001-0782/17/08
Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and full citation on the first page. Copyright for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or fee. Request permission to publish from firstname.lastname@example.org or fax (212) 869-0481.
The Digital Library is published by the Association for Computing Machinery. Copyright © 2017 ACM, Inc.
No entries found