Posts tagged ‘computing for everyone’
ICER 2016 was just held in Melbourne, Australia, so I found the article linked at the bottom (and from which these images come from) particularly relevant and interesting.
Australia is facing a boom in primary school students, which creates additional demand for teachers. As has been mentioned here previously, there is a shortage of teachers. The shortage isn’t distributed across fields. In particular, over 30% of computing teachers in Australia are teaching without qualification (see image below). When considering other shortages (e.g., declining number of computing teachers in Scotland, as described in the last post), it’s clear that the pipeline of CS teachers is going to be an impediment to CS for all.
But an influx of new students isn’t the only problem our school system needs to address.Shortages in specific subject areas mean that many students are being taught by teachers working outside of their qualifications.
When I visited Mumbai for LaTICE 2016, I mentioned meeting Yogendra Pal. I was asked to be a reader for his thesis, which I found fascinating. I’m pleased to report that he has now graduated and his thesis, A Framework for Scaffolding to Teach Vernacular Medium Learners, is available here: https://www.cse.iitb.ac.in/~sri/students/#yogendra.
I learned a lot from Yogendra’s thesis, like what “vernacular medium learners” means. Here’s the problem that he’s facing (and that Yogendra faced as a student). Students go through primary and secondary school learning in one language (Hindi, in Yogendra’s personal case and in his thesis), and then come to University to study Computer Science. Do you teach them (what Yogendra calls “Medium of Instruction” or MoI) in English, or in Hindi? Note that English is pervasive in Computer Science, e.g., almost all our programming languages use English keywords.
Here’s Yogendra’s bottomline finding: “We find that self-paced video-based environment is more suitable for vernacular medium students than a classroom environment if English-only MoI are used.” Yogendra uses a design-based research methodology. He measures the students, tries something based on his current hypothesis, then measures them again. He compares what he thought would happen to what he saw, and revises his hypothesis — and then iterate. Some of the scaffolds he tested may seem obvious (like using a slower pace), but a strength of the thesis is that he develops rationale for each of his changes and tests them. Eventually, he came to this surprising (to me) and interesting result: It’s better to teach with Hindi in the classroom, and in English when students are learning from self-paced videos.
The stories at the beginning of the thesis are insightful and moving. I hadn’t realized what a handicap it is to be learning English in a class that uses English. It’s obvious that the learners would be struggling with the language. What I hadn’t realized was how hard it is to raise your hand and ask questions. Maybe you have a question just because you don’t know the language. Maybe you’ll expose yourself to ridicule because you’ll post the question wrong.
Yogendra describes solutions that the Hindi-speaking students tried, and where the solutions didn’t work. The Hindi-speaking students used English-to-English dictionaries. They didn’t want English-Hindi dictionaries, because they wanted to become fluent in English, but they needed help with the complicated (especially technical) words. They tried using online videos for additional explanations of concepts, but most of those were made by American or British speakers. When you’re still learning English, switching from an Indian accent to another accent is a barrier to understanding.
The middle chapters are a detailed description of Yogendra’s attempts to scaffold student learning. He tried to teach in all-Hindi but some English technical terms like “execute” don’t have a direct translation in Hindi. He selected other Hindi words to represent the technical terms, but the words he selected as the Hindi translation were unusual and not well-known to the students. Perhaps the most compelling insight for me in these chapters was how important it was to both the students and the teachers that the students learn English — even when the Hindi materials were measurably better for learning in some conditions.
In the end, he found that Hindi language screencasts led to better learning (statistically significantly) when the learners (who had received primary and secondary school instruction in Hindi) were in a classroom, but that the English language screencasts led to better learning (again, statistically significantly) when the learners were watching the screencasts self-paced. When the students are self-paced, they can rewind and re-watch things that are confusing, so it’s okay to struggle with the English. In the classroom, the lecture just goes on by. It works best if it’s in Hindi for the students who learned in Hindi in school.
Yogendra tells a convincing story. It’s an interesting question of how these lessons transfer to other contexts. For example, what are the issues for Spanish-speaking students learning CS in the United States? In a general form, can we use the lessons from this thesis to make CS learning accessible to more ESL (English as a Second Language) learners?
When I give talks about teaching computer to everyone, I often start with Alan Perlis and C.P. Snow in 1961. They made the first two public arguments for teaching computer science to everyone in higher education. Alan Perlis’s talk was the most up-beat, talking about all the great things we can think about and do with computer. He offered the carrot. C.P. Snow offered the stick.
C.P. Snow foresaw that algorithms were going to run our world, and people would be creating those algorithms without oversight by the people whose lives would be controlled by them. Those who don’t understand algorithms don’t know how to challenge them, to ask about them, to fight back against them. Quoting from Martin Greenberger’s edited volume, Computers and the World of the Future (MIT Press, 1962), we hear from Snow:
Decisions which are going to affect a great deal of our lives, indeed whether we live at all, will have to be taken or actually are being taken by extremely small numbers of people, who are nominally scientists. The execution of these decisions has to be entrusted to people who do not quite understand what the depth of the argument is. That is one of the consequences of the lapse or gulf in communication between scientists and non-scientists. There it is. A handful of people, having no relation to the will of society, have no communication with the rest of society, will be taking decisions in secret which are going to affect our lives in the deepest sense.
I was reminded of Snow’s quote when I read the article linked below in the NYTimes. Increasingly, AI algorithms are controlling our lives, and they are programmed by data. If all those data are white and male, the algorithms are going to treat everyone else as outliers. And it’s all “decisions in secret.”
This is fundamentally a data problem. Algorithms learn by being fed certain images, often chosen by engineers, and the system builds a model of the world based on those images. If a system is trained on photos of people who are overwhelmingly white, it will have a harder time recognizing nonwhite faces.
A very serious example was revealed in an investigation published last month by ProPublica. It found that widely used software that assessed the risk of recidivism in criminals was twice as likely to mistakenly flag black defendants as being at a higher risk of committing future crimes. It was also twice as likely to incorrectly flag white defendants as low risk.
The reason those predictions are so skewed is still unknown, because the company responsible for these algorithms keeps its formulas secret — it’s proprietary information. Judges do rely on machine-driven risk assessments in different ways — some may even discount them entirely — but there is little they can do to understand the logic behind them.
One of our superstar alumna, Joy Buolamwini, wrote about a similar set of experiences. She’s an African-American woman who works with computer vision, and the standard face-recognition libraries don’t recognize her. She lays the responsibility for fixing these problems on the backs of “those who have the power to code systems.” C.P. Snow would go further — he’d say that it’s all our responsibility, as part of a democratic process. Knowing about algorithms and demanding transparency when they effect people’s lives is one of the responsibilities of citizens in the modern world.
The faces that are chosen for the training set impact what the code recognizes as a face. A lack of diversity in the training set leads to an inability to easily characterize faces that do not fit the normal face derived from the training set.
So what? As a result when I work on projects like the Aspire Mirror (pictured above), I am reminded that the training sets were not tuned for faces like mine. To test out the code I created for the Aspire Mirror and subsequent projects, I wore a white mask so that my face can be detected in a variety of lighting conditions.
The mirror experience brings back memories from 2009. While I was working on my robotics project as an undergraduate, I “borrowed” my roommate’s face so that I could test the code I was writing. I assumed someone would fix the problem, so I completed my research assignment and moved on.
Several years later in 2011, I was in Hong Kong taking a tour of a start-up. I was introduced to a social robot. The robot worked well with everyone on the tour except for me. My face could not be recognized. I asked the creators which libraries they used and soon discovered that they used the code libraries I had used as an undergraduate. I assumed someone would fix the problem, so I completed the tour and moved on.
Seven years since my first encounter with this problem, I realize that I cannot simply move on as the problems with inclusion persist. While I cannot fix coded bias in every system by myself, I can raise awareness, create pathways for more diverse training sets, and challenge us to examine the Coded Gaze — the embedded views that are propagated by those who have the power to code systems.
Yasmin Kafai has been a friend and mentor to me for years — she introduced me to my PhD advisor, Elliot Soloway. Her book with Quinn Burke, Connected Code, updates thinking about the role of computing and programming in schools. They emphasize an idea they call Computational Participation as a contrast with computational thinking. I asked Yasmin to do a CACM Viewpoint on the idea, and it’s published this month. Yasmin has shared the paper on Academia.edu.
In the 1980s many schools featured Basic, Logo, or Pascal programming computer labs. Students typically received weekly introductory programming instruction. These exercises were often of limited complexity, disconnected from classroom work, and lacking in relevance. They did not deliver on promises. By the mid-1990s most schools had turned away from programming. Pre-assembled multimedia packages burned onto glossy CD-ROMs took over. Toiling over syntax typos and debugging problems were no longer classroom activities.
Computer science is making a comeback in schools. We should not repeat earlier mistakes, but leverage what we have learned. Why are students interested in programming? Under what circumstances do they do it, and how? Computational thinking and programming are social, creative practices. They offer a context for making applications of significance for others, communities in which design sharing and collaboration with others are paramount. Computational thinking should be reframed as computational participation.
Last week, I attended the Computing Research Association (CRA) Snowbird conference of deans and chairs of computing. (See agenda here with slides linked.) I presented on a panel on why CS departments should embrace computing education research, and another on what CS departments can do to support the CS for All initiative. I talked in that second session about the leadership role that universities can play in creating state partnerships and influencing state policy (see the handout for my discussion table).
Andy Ko was in both sessions with me, and he’s already written up a blog post about his experiences, which match mine closely (including the feeling of being an imposter). I recommend reading his post.
Here, I’m sharing a key insight I saw and learned at Snowbird. Before the conference even started, our Senior Associate Dean for the College of Computing, Charles Isbell, challenged me to name another field that is overwhelmed with majors AND offers service courses to so many other majors. (Maybe biology because of pre-meds?) Computer Science is increasingly the provider of courses to non-CS majors, and those majors want something different than CS majors.
The morning of the first day was dedicated to the enrollment surge. CRA has been gathering data at many institutions on the surge, and Tracy Camp did a great job presenting some of the results. (Her slides are now available here, so you don’t have to rely on my pictures of her slides.) Here’s the bottomline: Student growth has been enormous (across different types of institutions), without a matching growth in faculty. The workload is increasing.
But here’s the surprise: Much of the growth in course enrollment is not CS majors. A large percentage of the growth is in other majors taking CS classes. The below graph is for “mid-level” CS courses, and there are similar patterns in intro and upper-level courses.
Tracy also presented a survey of students (slides available here), which was really fascinating. Below is a survey of (a lot) of intro students at several institutions. All the differences described are significant at p<0.05 (not 0.5 as it says). The difference in what non-majors want and CS majors was is interesting. Majors want (significantly more than non-majors) to “make a lot of money.” Non-majors more significantly want to “Give back to my community” and “Take time off work to care for family.”
U. Illinois has the most innovative program I have heard of for meeting these new needs. They are creating a range of CS+X degree programs. First, these CS+X programs are significant parts of the “X” departments.
But these stats blew me away: CS+X is now 30% of all of CS at U. Illinois (which is a top-5 CS department), and 50% of all admitted first years this year! And it’s 28% female.
It’s pretty clear to me that the future of computing education is as much about providing service to other departments as it is about our own CS major. We have suspected that the growth is in the non-majors for awhile, but now we have empirical evidence. I’ve been promoting the idea of contextualized-computing education, and the notion that other majors need a different kind of CS than what CS majors need. We need to take serious the education of non-CS majors in Computer Science.
College of Computing Using Google Funding to Close CS Diversity Gap: Barb Ericson’s Project Rise Up 4 CS
Project Rise Up 4 CS and Sisters Rise Up 4 CS are really great ideas (see previous blog posts on the work presented at SIGCSE and at RESPECT) — though I’m obviously biased in my opinion. I’m grateful that Google continues to support Barb’s project, and the College did a nice write up about her efforts.
In fact, according to ongoing data analysis by Barbara Ericson, director of computing outreach for the Institute for Computing Education (ICE) for the Georgia Tech College of Computing, “The disparity here is so great that in 2015 10 U.S. states had fewer than 10 girls take the Advanced Placement (AP) Computer Science (CS) A course exam while 23 states had fewer than 10 black students take the exam.”
In an interview with the New York Times late last year Ericson said working to solve tech industry’s gender and racial diversity gap is important “because we don’t have enough people studying computer science in the United States to fill the projected number of jobs in the field.”
To address this problem and prepare more high school students for computer science careers, the College of Computing established RISE Up 4 CS in 2012.
Leveraging Google RISE Award funding, the RISE Up 4 CS program offers twice-a-week webinars and monthly in person sessions at Georgia Tech to prepare underrepresented students to succeed in taking the APCS A course exam and class. For the webinars, students use a free interactive e-book developed by Ericson to learn about searching and sorting data, and the fundamentals of JAVA.
Japan plans to make programming mandatory at schools as a step to foster creativity: What if it doesn’t work?
Japan is planning to make programming mandatory in all their schools because it will help their children to think logically and creatively. Except, we don’t have evidence that it does. We know a little about how to use programming as a medium for developing thinking skills, but I know of no efforts to make it replicable and scalable. I don’t know of anyone using programming in order to improve creativity. I know of no evidence that learning to program improves creativity.
This is a nation-size gamble. I’m interested in how Japan goes about this — they face the same challenges as NYC does in their initiative, at an even larger scale.
It is essential that computer programming to be taught in schools will lead to improving children’s ability to think logically and creatively.