Posts tagged ‘computing for everyone’
Great interview with Sebastian Thrun. I particularly found fascinating his candid response to this important question.
That doesn’t sound like democratizing education, if only the affluent can afford the version that works.
I would be careful to say this is not democratizing it. Any alternative path is actually much more expensive. We managed to lower the cost by a factor of ten. Going to the extreme and saying it has to be absolutely free might be a bit premature. I care about making education work. Everything else being equal, I would love to do this at the lowest possible price point. Where we’ve converged is right. You don’t need a college degree anymore. I would be careful with the conclusion that this is the end of democratization. We still have the free model for students. It just doesn’t work as well — it’s just a fact.
The article posted below is a carefully-considered (not a “Rah! Rah! Let’s Code!”) and intriguing consideration of the role of coding in modern notion of literacy. I particularly liked the idea below. Is Annettee Vee right? Does knowing about coding inform your ability to think about things to code? I suspect that’s true, but it’s an empirical question. It’s much nearer transfer, and is not as much of a stretch as looking for evidence of general problem-solving skills from programming (which is very rare) or applying a computational framework for understanding the world (i.e., computational thinking).
The happy truth is, if you get the fundamentals about how computers think, and how humans can talk to them in a language the machines understand, you can imagine a project that a computer could do, and discuss it in a way that will make sense to an actual programmer. Because as programmers will tell you, the building part is often not the hardest part: It’s figuring out what to build. “Unless you can think about the ways computers can solve problems, you can’t even know how to ask the questions that need to be answered,” says Annette Vee, a University of Pittsburgh professor who studies the spread of computer science literacy.
I was at the NSF CS10K Evaluators meeting earlier this summer, and we got to talk about important research questions. Someone suggested the issue of learning progressions. How do students move from Scratch or Alice or Blockly to Java or C++? One of the evaluators, whose background is entirely in education and evaluation, asked, “Professional programmers don’t use Scratch and Alice?” We explained what professional programmers really do. “Then why are we teaching Scratch and Alice, especially if we don’t know how the transfer works?!?”
The tension between what languages are “useful” (read: “we use them today in industry”) and what languages are helpful for learning has always existed in CS Ed. I’ve recommended the blog below to several people this summer, including reading the comments from the developers who push back — “Yeah, stop with Alice and teach real languages!” I agree with the post’s author, but I see that, even in the CS10K project, the notion that we should teach what’s vocationally useful is strong.
At the NSF CS10K Evaluators meeting, I got to wondering about a different question. Most of our evaluators come from science and math education projects, where you teach the way the world is. If you have trouble teaching students that F=ma, you better just find a new way to teach it. I told the evaluators that I hope their results inform the design of future programming languages. Computer science is a science of the artificial, I explained. If you find that mutable variables are hard to understand, we can provide programming languages without them. If the syntax of curly braces on blocks is too subtle for novices to parse (as I predict from past research findings), we can fix that, too. I got confused looks. The idea that the content and the medium could be changed is not something familiar to this audience. We have to figure out how to close that loop from the evaluators to the designers, because it’s too important an opportunity to base our language design for novices on empirical results.
It is a school’s job to churn out students who will be able to walk into a job in industry on day one and work in whatever language/paradigm is flavour du jour.
WRONG! We’re here to teach children the core concepts of Computer Science. Working on that basis to produce someone with employable skills is your job. Do you expect Chemistry students to walk out of school ready to begin work in a lab? Should we stop using Scratch as a teaching language because nobody programs with it in industry? Of course not, so please stop recommending that we should be teaching using Scala/JSON/whatever is currently flavour of the month.
There are lots of claims about the benefits of introducing computing early. This article in the NYTimes (even just the quote below) considers several of them:
- Important for individual students’ future career prospects. That seems unlikely, that elementary school CS would lead to better career prospects.
- Influence countries’ economic competitiveness. There might be a stronger argument here. Elementary school is about general literacy. There is likely an economic cost to computing illiteracy.
- Technology industry’s ability to find qualified workers. By putting computing into elementary school? Does industry want to hire kids who know Scratch and Alice? As Elliot suggested, it’s mostly a video game to young kids.
- “Exposing students to coding from an early age helps to demystify an area that can be intimidating.” I strongly agree with that one. We know that kids have weird ideas about CS, and seeing any real CS has a dramatic impact (especially on under-represented groups).
- “Breaks down stereotypes of computer scientists as boring geeks.” Maybe. Not all exposure to real computing leads to breaking down stereotypes. Sometimes they’re enhanced. I think this can happen, but we have to be careful to make it work.
- “Programming is highly creative.” True.
- “Studying it can help to develop problem-solving abilities.” False.
- “Equip students for a world transformed by technology.” Maybe. Does teaching kids about technology when they’re 8 prepare them for entering the workforce 10 years later? If computing literacy matters, that’s true. But I don’t believe that playing with Blockly in 3rd grade “equips” you with much. Most technology doesn’t look like Blockly.
We do have to make our message clear, and it should be a message that’s supported by research. If the computing education policy-and-PR machine ignores the research, we’re showing more disrespect for the field of computing education research and makes it even harder to establish reforms.
Around the world, students from elementary school to the Ph.D. level are increasingly getting acquainted with the basics of coding, as computer programming is also known. From Singapore to Tallinn, governments, educators and advocates from the tech industry argue that it has become crucial to hold at least a basic understanding of how the devices that play such a large role in modern life actually work.
Such knowledge, the advocates say, is important not only to individual students’ future career prospects, but also for their countries’ economic competitiveness and the technology industry’s ability to find qualified workers.
Exposing students to coding from an early age helps to demystify an area that can be intimidating. It also breaks down stereotypes of computer scientists as boring geeks, supporters argue. Plus, they say, programming is highly creative: Studying it can help to develop problem-solving abilities, as well as equip students for a world transformed by technology.
I don’t believe the main propositions of the article below. Not all STEM education will lead to more women discovering an interest in IT. Putting computing as a mandatory subject in all schools will not necessarily improve motivation and engagement in CS, and it’s a long stretch to say that that will lead to more people in IT jobs.
I addressed the quote below, by Ashley Gavin, in my Blog@CACM post for this month: The Danger of Requiring CS in US K-12 Schools.
“You make it an option, the girl is not going to take it. You have to make it mandatory and start it at a young age,” says Ashley Gavin, curriculum director at Girls Who Code, a nonprofit working to expose more girls to computer science at a young age that has drawn support from leading tech firms such as Google, Microsoft and Intel.
“It’s important to start early because, most of the fields that people go into, they have exposure before they get to college. We all study English before we get to college, we all study history and … social studies before we get to college,” Gavin says. “No one has any idea what computer science is. By the time you get to college, you develop fear of things you don’t know. Therefore early exposure is really important.”
The California state legislature is attempting to affect change to computer science education in California, and for all the right reasons. They’re getting the message that computer science is what drives innovation and economic growth in California, and that the demand for computer science graduates in California far exceeds supply. There are simply not enough students prepared or preparing to join this high tech workforce. They’re also starting to understand that computer science needs to count for something other than an elective course for more schools to offer it and for more students to take it – especially girls and underrepresented students of color. What they may not quite understand yet is that there aren’t enough teachers prepared to teach computer science in K-12, although one assemblyman spoke of the need for a single subject teaching credential in computer science, so maybe someday we’ll get there … baby steps!
So, it was exciting in Sacramento last week as the Assembly and Senate Education Committees passed a handful of CS-related bills with flying colors and broad bi-partisan support! ACCESS (the Alliance for California Computing Education in Students and Schools) was on hand to help provide analysis and information. Many thanks to Josh Paley, a computer science teacher at Gunn High School in Palo Alto and a CSTA advocacy and leadership team member, who provided substantive testimony on two priority bills*. Josh provided compelling stories of students who had graduated and gone on to solve important problems using their CS skills. Amy Hirotaka, State Policy and Advocacy Manager, of Code.org, Andrea Deveau, Executive Director of TechNet, and Barry Brokaw, lobbyist for Microsoft also testified on these bills. It was also exciting to see a wide range of organizations supporting this important discipline.
All of the following CS-related bills passed out of committee, all but one with unanimous approval:
1) AB 1764* (Olsen and Buchanan) would allow school districts to award students credit for one mathematics course if they successfully complete one course in computer science approved by the University of California as a “category c” (math) requirement for admissions. Such credit would only be offered in districts where the school district requires more than two courses in mathematics for graduation, therefore, it does not replace core math requirements.
2) AB 1539* (Hagman) would create computer science standards that provide guidance for teaching computer science in grades 7-12.
3) AB 1540 (Hagman) establishes greater access to concurrent enrollment in community college computer science courses by high school students.
4) AB 1940 (Holden) establishes a pilot grant program to support establishing or expanding AP curriculum in STEM (including computer science) in high schools with such need (passed with two noes).
5) AB 2110 (Ting) requires computer science curriculum content to be incorporated into curriculum frameworks when next revised.
6) SB1200 (Padilla) would require CSU and request UC to establish a uniform set of academic standards for high school computer science courses, to satisfy the “a-g” subject requirements, as defined, for the area of mathematics (“c”) for purposes of recognition for undergraduate admission at their respective institutions.
7) ACR 108 (Wagner) would designate the week of December 8, 2014, as Computer Science Education Week (passed on consent).
AB 1530 (Chau), to be heard by the Assembly Education Committee on April 23, would encourage the Superintendent of Public Instruction to develop or, as needed, revise a model curriculum on computer science, and to submit the model curriculum to the State Board of Education for adoption (specifically focuses on grades 1-6).
Anyone really interested in hearing the bill presentation, testimony and supporters can see it here:
Senate Education Committee: http://calchannel.granicus.com/MediaPlayer.php?view_id=7&clip_id=2012
Assembly Education Committee: http://calchannel.granicus.com/MediaPlayer.php?view_id=7&clip_id=2019
I’ll plan another update once these bills move further.
It’s almost a race to the bottom — which do people care less about, learning programming or learning a modern language?
The teaching of computer coding should be prioritised over modern languages, according to a survey of British adults.
Twice as many thought teaching computer coding in school should be a priority than the number who saw Mandarin Chinese as more important. Coding was the top choice for 52%, against 38% who favoured French lessons, 32% Spanish, 25% German and 24% Mandarin.
The poll was published by code.org, a campaign to introduce children and parents to coding. It has created Hour of Code, a series of free tutorials designed to show students the basics of programming in an hour.
Nice post from Ran Libeskind-Hadas, Chair of Computer Science at Harvey Mudd College, on the importance of computer science for everyone on campus.
College students across all fields are quickly recognizing two important facts: Every well educated citizen should understand something about the computationally-pervasive world in which we live. Second, computing skills are likely to be useful across virtually all disciplines including the arts, humanities, and social sciences.
Many of these students discover computing late in their college lives and/or have other constraints that prevent them from taking more than one or two computing courses. Those students, I believe, are not ideally served by traditional CS 1 and 2 courses which are often designed as the stepping stones of a computer science major. While implementing a queue as a doubly-linked list is probably important for a CS major (although one could reasonably argue that it still doesn’t have to be presented in CS 1), it’s almost certainly not the highest priority for a social scientist or a biologist.
I got to see a build of ScratchJr at the NSF CE21 PI’s meeting in January — it’s really fun. Attractive, responsive, and well thought through, as one would expect with this team.
Coding (or computer programming) is a new type of literacy. Just as writing helps you organize your thinking and express your ideas, the same is true for coding. In the past, coding was seen as too difficult for most people. But we think coding should be for everyone, just like writing.
As young children code with ScratchJr, they learn how to create and express themselves with the computer, not just interact with it. In the process, children develop design and problem-solving skills that are foundational for later academic success, and they use math and language in a meaningful and motivating context, supporting the development of early-childhood numeracy and literacy.
With ScratchJr, children aren’t just learning to code, they are coding to learn.
Wall Street Journal just ran an article (linked below) about people “flocking to coding classes.” The lead for the story (quoted below) is a common story, but concerning. If coding is all extra-curricular, with the (presumably expensive) once-a-week tutor, then how do the average kids get access? How do the middle and lower kids get access? Hadi Partovi and Jane Margolis talked about this on PRI’s Science Friday – CS education can’t be an afterschool activity, or we’ll keep making CS a privileged activity for white boys.
Like many 10-year-olds, Nick Wald takes private lessons. His once-a-week tutor isn’t helping him with piano scales or Spanish conjugations, but teaching him how to code.
“I always liked to get apps from the app store, and I always wanted to figure out how they worked and how I could develop it like that,” Nick says.
As the ability to code, or use programming languages to build sites and apps, becomes more in demand, technical skills are no longer just for IT professionals. Children as young as 7 can take online classes in Scratch programming, while 20-somethings are filling up coding boot camps that promise to make them marketable in the tech sector. Businesses such as American Express Co. AXP -0.57% send senior executives to programs about data and computational design not so they can build websites, but so they can better manage the employees who do.
Hadi Partovi will be delivering the keynote today at SIGCSE 2014. The interview they just had with him last month on ACM’s website has some nice bits:
As a tech industry veteran and visionary, what would you say to young people who may not realize that two-thirds of the jobs in software engineering are outside the technology sector?
I would say that the reason to study software isn’t because you want to get a job in technology. School teaches you how to dissect a frog, or how electricity works, even if you want to become a journalist or a lawyer. In the 21st century, it’s equally important, or more important even, to know how to “dissect an app” or learn how the Internet works, even if you want to become a doctor, a chemist, or the President of the United States. Maybe you’ll fall in love with it and decide to get a job in software, and if you do, you’ll be in one of the most creative, highest-paying careers in the world. Most students who study computer science in high school will go on to careers outside of computing — but they will still benefit from it. This is a fundamental, foundational science for the 21st century.
The article below describes a political furor over appointing someone to lead an effort to support computing education — who doesn’t herself understand much about computing.
But this is a general problem, and is probably a problem for engineering education, too. Most US politicians in Washington DC don’t have STEM backgrounds. Few know anything about engineering. Fewer still know anything about computer science. Even if they really want to support STEM, engineering, and computing education, not knowing what it is themselves makes it more challenging for them to make good choices.
The row over Tory cronies in taxpayer-backed positions look set to intensify after it emerges the boss of the government’s coding education initiative cannot code — or even give a decent explanation of what is involved. Figures behind the scheme include Michael Gove, who is at the centre of the furore over Conservative placemen in Whitehall and the ‘quangocracy’.
Conservative activist Lottie Dexter was ridiculed by IT experts and educationalists for her clueless performance on Newsnight — in which she claimed that teachers could be trained how to educate students in computer programming “in a day”
SIGCSE Preview: Measuring Demographics and Performance in Computer Science Education at a Nationwide Scale Using AP CS Data
Barbara and I are speaking Thursday 3:45-5 (with Neil Brown on his Blackbox work) in Hanover DE on our AP CS analysis paper (also previewed at a GVU Brown Bag). The full paper is available here: http://bit.ly/SIGCSE14-APCS This is a different story than the AP CS 2013 analysis that Barbara has been getting such press for. This is a bit deeper analysis on the 2006-2012 results.
Here are a couple of the figures that I think are interesting. What’s fitting into these histograms are states, and it’s the same number of bins in each histogram, so that one can compare across.
Fitting this story into the six page SIGCSE format was really tough. I wanted to make the figures bigger, and I wanted to tell more stories about the regressions we explored. I focused on the path from state wealth to exam-takers because I hadn’t seen that story in CS Ed previously (though everyone would predict that it was there), but there’s a lot more to tell about these data.
Figure 1: Histograms describing (a) the number of schools passing the audit over the population (measured in 10K), (b) number of exam-takers over the population, and (c) percentage of exam-takers who passed.
Measuring Demographics and Performance in Computer Science Education at a Nationwide Scale Using AP CS Data
Abstract: Before we can reform or improve computing education, we need to know the current state. Data on computing education are difficult to come by, since it’s not tracked in US public education systems. Most of our data are survey-based or interview-based, or are limited to a region. By using a large and nationwide quantitative data source, we can gain new insights into who is participating in computing education, where the greatest need is, and what factors explain variance between states. We used data from the Advanced Placement Computer Science A (AP CS A) exam to get a detailed view of demographics of who is taking the exam across the United States and in each state, and how they are performing on the exam. We use economic and census data to develop a more detailed view of one slice (at the end of secondary school and before university) of computer science education nationwide. We find that minority group involvement is low in AP CS A, but the variance between states in terms of exam-takers is driven by minority group involvement. We find that wealth in a state has a significant impact on exam-taking.
I’ve been excited to see this paper get published since Betsy first told me about the work. The paper described below (by Betsy DiSalvo, Cecili Reid, and Parisa Khanipour Roshan) looks at the terms that families commonly use to find on-line resources to help their children learn about computer science. They didn’t find Alice or Scratch or Blockly — none of the things that would be our first choices for CS education opportunities on-line. Betsy and her students show how we accidentally hide our resources from the uneducated and under-privileged, by presuming that the searchers are well-educated and privileged. They point out that this is one way that open education resources actually actually increase the socioeconomic gap, by not being easily discoverable by those without privilege. I got to see a preview of this talk, and the results are surprising — a video of the preview talk will be available here. Friday March 7, 3:45-5, in Room Hanover DE.
They Can’t Find Us: The Search for Informal CS Education
In this study we found that search terms that would likely be used by parents to find out-of-school computer science (CS) learning opportunities for their children yielded remarkably unproductive results. This is important to the field of CS education because, to date, there is no empirical evidence that demonstrates how a lack of CS vocabulary is a barrier to accessing informal CS learning opportunities. This study focuses on the experience of parents who do not have the privilege of education and technical experience when searching for learning opportunities for their children. The findings presented will demonstrate that issues of access to CS education go beyond technical means, and include ability to conduct suitable searches and identify appropriate computational learning tools. Out-of-school learning is an important factor in who is motivated and prepared to study computer science in college. It is likely that without early access to informal CS learning, fewer students are motivated to explore CS in formal classrooms.
Interesting economic argument being made in the below piece — that we don’t have large numbers of manufacturing jobs, but we have large numbers of jobs that involve creating using digital technologies.
In the start of our Media Computation book, we make the argument that comes after this. Photoshop, Final Cut Pro, and Audacity are wonderful tools that can do a lot — if you know how to use them. Knowing programming gives you the ability to make with digital media, even if you don’t know how to get the tools to do. Knowing programming lets you say things with digital media, even if the tools don’t support it.
“We have moved from the industrial age to the knowledge economy,” said Facebook’s CIO Tim Campos at the HP Discover conference in Barcelona last month. An economy, that is, in which a company’s “core asset” lies not in material infrastructure but rather “the thoughts and ideas that come from our workforce.”