Posts tagged ‘computing for everyone’
Ten years ago, professors in computer science departments everywhere wondered how undergraduates from a broad range of fields could be attracted to computer science (CS). We were convinced that this material would be vital for their careers, but we were up against negative stereotypes of programmers, and the prediction that most software jobs were about to be outsourced to the third world.
The tide has turned! The graph below shows annual enrollments over the past decade for the introductory computer science courses at UC Berkeley, Stanford, and the University of Washington. At each of these schools, and at colleges and universities across the nation, the introductory computer science course is now among the most popular courses on campus, and demands for advanced computer science courses are at record-breaking highs. At Stanford, where more than 90% of undergrads take computer science, English majors now take the same rigorous introductory CS course as Computer Science majors.
Dave Patterson and Ed Lazowska have written the above-linked blog post explaining why there has been such a rapid rise in enrollments in Computer Science at Berkeley, Stanford, and U. Washington. We’re seeing the same enormous rise in CS enrollments at Georgia Tech.
Beyond the intro course, we’re seeing a dramatic increase in CS minors. At places where everyone is required to take CS (e.g., Georgia Tech, Rose Hulman, Harvey Mudd), students have the option of going beyond that first course, and because the first course is tailored for them, they’re more likely to succeed at it. At Georgia Tech, we’re seeing students take more than just the required course and pursing a credential in CS, within their major. English majors (and lots of others) are seeing that computing is valuable.
Patterson and Lazowska offer two explanations (the numbering is mine):
1. So what happened? First, today’s students recognize that “computational thinking” — problem analysis and decomposition, algorithmic thinking, algorithmic expression, abstraction, modeling, stepwise fault isolation — is central to an increasingly broad array of fields.
That may be true, but I doubt it. It would be interesting and useful to survey these students, discover what majors they’re going into, and ask why they’re taking CS. (Kind of what we did across the state of Georgia in 2010.) I don’t believe that most people are aware of “computational thinking,” and even less, new students in higher-education. As evidence of this growing awareness, the authors cite a recent quote from Richard Dawkins (in 2013), “Biology nowadays is a branch of computer science.” That’s not a new position for Dawkins. In 2007 (at the depths of declining enrollment), he told Terry Gross on NPR, “Since Watson and Crick in 1953, biology has become a sort of branch of computer science.” This isn’t a sign of a recent awareness of the importance of “computational thinking.”
2. In addition to enhancing prospects within a chosen field, surely some of the reason for interest in computer science as a major or as a minor is to enhance employment opportunities after graduation.
But my gut is a bad judge of these things. We really ought to test these claims, rather than make claims without evidence. Who is taking CS now? And why? And how does it differ between these institutions?
The authors end their piece arguing for more faculty teaching more CS classes:
In higher education, the response has been sluggish at best. Computer Science is usually found in colleges of engineering — as is the case at Berkeley, MIT, Stanford, and Washington — so one indicator of accommodation is the fraction of engineering faculty in the field. Less than a fifth of the engineering faculty at these schools teach computer science courses, a fraction nearly unchanged in the last decade.
I strongly agree with the argument. The critical issue here isn’t about growing Engineering or if CS belongs in Egnineering. The critical issue is that computing is a form of literacy, not just a specialty skill, and we have to think about how to ramp up our offering of computing education so that it’s universally accessible.
I talked about this implication of our successful CS1′s for everyone in the May 2009 Communications of the ACM:
Finally, building successful, high-demand courses for non-computing majors gives us a different perspective on the current enrollment crisis. Students want these courses. Other schools on campus want to collaborate with us to build even more contextualized classes. While we still want more majors, we have an immediate need for more faculty time to develop and teach these courses that bring real computing to all students on campus.
I got a chance to learn more about Bootstrap when Kathi Fisler visited us here at Georgia Tech recently. This article doesn’t do a good job of selling the program. Bootstrap is important for showing how programming can be used to teach something else that we agree is important.
“When you hear, ‘This is so amazing! These apps teach kids to program!’ That’s snake oil. Every minute your students spend on empty engagement while they’re failing algebra, you’re assuring that they’re not going to college. Studies show that the grade kids get in Algebra I is the most significant grade to predict future income.”
Pretty amazing that they got this!
Interesting set of testimonials from people in arts and social science on why they have found it useful to learn to code (thanks to Alfred Thompson for the link). Gas Stations Without Pumps has an interesting post based on one of the testimonials.
Being able to code to express yourself is one of the most powerful tools available to artists today. Artists should look at programming languages as they do any other medium- watercolor, acrylic, clay- they are all tools to allow you to develop and communicate your vision with your audience.
What an interesting paper! (Pun slightly intended.) In this paper from Paul Silvia, he found experimentally that self-efficacy and interest are related on a bell-shaped curve. Too little self-efficacy makes a task seem too daunting and uninteresting. Too much makes the task boring. This is important because we know that self-efficacy is among the most significant factors influencing non-majors success in learning to program. It’s clear that there’s a sweet spot that we’re aiming for.
A new book on LilyPad based projects:
If you’re interested in interactive toys, smart accessories, or light-up fashions, this book is for you! Sew Electric is a set of hands-on LilyPad Arduino tutorials that bring together craft, electronics, and programming. The book walks you through the process of designing and making a series of quirky customizable projects including a sparkling bracelet, a glow in the dark bookmark, a fabric piano, and a monster that sings when you hold its hands. Play with cutting-edge technologies and learn sewing, programming, and circuit design along the way. It’s a book for all ages. Explore the projects with your friends, your parents, your kids, or your students!
I’m not convinced that the purpose of Common Core is to prepare students for four year universities. Shouldn’t the common core be the minimum standard? This issue is coming up for us at ECEP as we work in South Carolina. In fact, we’re addressing it today in our Computing Education in South Carolina summit. Should everyone be required to take serious CS in high school? Or is it that everyone should have access to serious CS (e.g., preparation for undergrad CS courses), and everyone should know more about CS, but the college-going students are the ones who need the serious CS?
One of the three drafters of the Common Core math standards has publicly admitted that Common Core – which moves Algebra I from 8th to 9th grade and includes little trigonometry, no pre-calculus, and no calculus – is designed to prepare students for non-selective community colleges, not four-year universities. In fact, President Bud Peterson of Georgia Tech has stated that a student cannot go to Tech without having had Algebra I in 8th grade and calculus by senior year. In other words, Common Core won’t get kids into Georgia Tech. This is the “quality” that has so impressed the Fordham lobbyists?
What a cool idea! A computational craft lab!
4-year Doctoral Fellowship in Digital Fabrication & Learning
Utah State University
Instructional Technology & Learning Sciences
Utah State University’s Instructional Technology and Learning Sciences (ITLS) department is pleased to announce the availability of a prestigious four-year doctoral fellowship for a new doctoral student interested in digital fabrication, the maker movement, and education. This involves bringing technologies as diverse as 3-D printers, sewable circuitry, low cost microcontrollers, and robotics to education.
The fellowship provides full tuition and a stipend for four years, beginning Fall of 2014. The fellow will work with two leading researchers in the ITLS department, Drs. Victor Lee and Deborah Fields,who have produced innovative work in the areas of creative learning technologies, craft and computation, informal and formal learning environments, online social networking sites, and STEM education. The fellow will have numerous professional development and networking opportunities as well as access to the newly created “Computational Craft Lab” with brand new equipment and materials for digital fabrication. Drs. Lee and Fields have a strong reputation for providing mentorship and time to doctoral students, involving them in all aspects of research and implementation.
This competitive fellowship is available for one student beginning doctoral studies in August 2014. Interested students should contact Victor Lee or Deborah Fields as soon as possible. Please include a resume and letter describing your research background, interests, and how they align with this fellowship.
Great blog post that really captures the most important criticism of MOOCs (thanks to Karen Head for forwarding it). We had Armando Fox of Berkeley’s “MOOC” Center visit (video of his GVU Brown Bag talk), and he said explicitly in his talk, “MOOCs are not about democratization of education. They’re really about the rich getting richer.” I blogged on these themes this month for Blogs@CACM: Results from the first-year course MOOCs: Not there yet
Worst of all, they may become a convenient excuse for giving up on the reforms needed to provide broad access to affordable higher education. The traditional kind, that is, which for all its problems still affords graduates higher chances of employment and long-term economic advantages.
Seen from this perspective, the techno-democratization of education looks like a cover story for its aristocratization. MOOCs aren’t digital keys to great classrooms’ doors. At best, they are infomercials for those classrooms. At worst, they are digital postcards from gated communities.
This is why I am a MOOC dissenter. More than a revolution, so far this movement reminds me of a different kind of disruption: colonialism.
A big win for computational science, and for the argument that computer science is important, even for people who aren’t going to be professional software developers.
When he conceived his prestigious prizes in 1895, Alfred Nobel never imagined the need to honor an unknown field called computer science.
But the next best thing happened on Wednesday: Computing achieved a historic milestone when the Nobel Prize for chemistry went to a trio of researchers — one of them a Stanford University professor — for their groundbreaking work using computers to model the complex chemistry that sustains life.
“Computers in biology have not been sufficiently appreciated. Now they have been,” said ebullient winner Michael Levitt of Stanford’s School of Medicine, the university’s second Nobel winner this week.
This is a big deal that the Supreme Court is facing this week. The NYTimes is in support of striking down the Michigan constitutional amendment. Let me put the below statistic in a bit of CS Ed context. As mentioned previously, UMich just graduated last year the first Black female CS PhD. Barb’s analysis of AP CS stats includes Michigan. Michigan has 9.8 million residents. It is 14.3% Black. In the last six years, only 27 Black students have taken the AP CS exam, never more than 7 in any year.
A decade ago, the University of Michigan waged a successful U.S. Supreme Court fight to save affirmative action. Now Michigan is learning to live without it.
Three years after the court allowed race-based admissions, Michigan voters blocked them at state schools through a ballot initiative. The result is fewer black students crisscrossing the Diag, the wide space that cuts through the heart of the university’s Ann Arbor campus. Black enrollment is down about 30 percent at the undergraduate and law schools.
This December, to celebrate Computer Science Education Week, we’re organizing a massive campaign to encourage 10 million students (and adults) to try an Hour of Code. This will be the largest initiative of its kind, ever.
Please help us recruit your local school, community organizations, or even your company to participate. Learn more.
What’s the Hour of Code?
It’s an introduction to computer science designed to demystify “code” and show that anyone can learn the basics. There will be a variety of hour-long tutorials everyone can do – on a web-browser, tablet, smartphone, or even with no computer at all.
How can you help?
- At your local school: Share this handout with your teacher or the principal.
- At your company: Share this handout with your manager, or the CEO.
- In your community: Use this handout to recruit a local group – boy scouts club, church, university, veterans group, or labor union. Or host an Hour of Code “block party” for your neighborhood.
Calling all students – regardless of age
Computer science is an important foundation for all students, for all careers. Too many people think programming is hard or requires math; the Hour of Code is designed to inspire.
Help your school win a computer lab
Code.org will gift 50 class-sets of laptops to 50 lucky schools, one in every state in the US. Ask your local school to plan an Hour of Code for every grade to qualify.
Let’s make history: Help bring 10,000,000 students to try an Hour of Code
Non-English language support
The Hour of Code materials will be available in several languages. If you want to help us as a volunteer translator, let us know.
Thank you for your support,
An interesting though somewhat sad story from a school-age girl (probably high school level?) about why she’s not interested in Information and Communications Technology. A good part of her story has to do with self-efficacy — how do you get better at this?
Throughout my first two years, my ICT assessment levels have always been much lower than other subjects and this can put you in the frame of mind that you’re bad at ICT, and if there are other subjects you’re better at, surely it’s simpler to take them for GCSE. And of course, IT is not the ideal job for me if I can’t even pass an exam.
Unless computing was made a compulsory subject like a language or maths, I don’t think this will change. To improve your English you can read, and to improve your ICT there are particular websites, but I certainly would not spend time on them and I’m sure my friends wouldn’t either
How young can we teach kids to code? Is it worth teaching really young kids to code? The argument below is missing the whole point of the difference between natural and artificial languages. Programming requires specification of details that do not occur in natural language (as seen in John Pane’s work, and related to the “Communicating with Aliens” problem). Why should our evolved language acquisition systems help with that?
The article linked below is pretty good as these things go, but they’re missing a lot of nuance in what it means “to code.”
- The article argues that students can start learning computer science “before they learn to read and write.” What does it mean to learn computer science then? Can we talk about manipulating symbol systems? About notation? If you pull out literacy, what are you teaching?
- The reports I’ve read about kids learning to program (like Roy Pea’s reports from decades ago, to Yasmin Kafai’s reports on students working in Scratch) suggest that young kids who “program” tend to build sequences of statements, with few conditionals or loops or defining named chunks of code (functions or procedures or whatevers). Is that what most of us think about when we’re suggesting “learn to code”?
- So, let’s say that you successfully teach some 5-6 year old to write some programs that we’d agree looks like “coding.” Do you really expect that to have an impact 20 years later when they reach working age (as is suggested as the potential value in the article below)? Especially if there’s almost no use of programming in formal education over the following 12 years?
I am not convinced that we can fruitfully teach five or six year olds to code — though it’s certainly worth exploring and experimenting with. I would not expect it to have much effect, though. If we had a school system that used code in interesting and powerful ways across the curriculum, then starting to teach kids to program at five or six as steps toward computational literacy would make lots of sense. But if only 12% of US high schools have computer science, and far fewer middle and elementary schools have it, and CS is still just this little class in the corner that doesn’t connect to anything else — then you can’t expect the coding that happens at that age to have much effect.
But that pessimism is at odds not only with the experiences of Gibson and other pioneering teachers but also with the science of language acquisition. Extensive research has shown that because young brains are so adept at picking up languages, it’s best to introduce children to foreign tongues as early as possible. This is why so many ambitious parents are now clamoring for kindergartens that offer intensive Mandarin—they want to give their kids the best possible shot at learning a key language of the Asian century.
What those parents likely don’t realize is that the same neural mechanisms that make kids sponges for Mandarin likely also make them highly receptive to computer languages. Kindergartners cannot become C++ ninjas, but they can certainly start to develop the skills that will eventually cement lifelong fluency in code.
I appreciate “Gas station without pumps” recent blog post on how to design service courses. I strongly agree with the emphasis on giving students skills to do useful things now. The greatest need for computing education is in the courses for non-CS majors.
It is never enough, even in a course for majors, to design the course around “they’ll need this later”. It is far better to make them want to know it now, for things that they can do now. For the Applied Circuits course, I concentrated ton the students doing design and construction in the labs, with just enough theory to do the design. This is a big contrast to the traditional circuits course, which is all theory and math which EE students will use “later”—totally useless if the students then never take another EE course.