Archive for March, 2012
Really interesting piece in the NYTimes on the increasing demand to learn about coding. I especially liked this point — people want to learn something, and they want to learn enough to be literate, but not necessarily to be “a good programmer.”
The challenge for Codecademy and others catering to the hunger for technical knowledge is making sure people actually learn something, rather than dabble in a few basic lessons or walk away in frustration.
“We know that we’re not going to turn the 99 percent of people interested in learning to code into the 1 percent who are really good at it,” said Mr. Sims of Codecademy. “There’s a big difference between being code-literate and being a good programmer.”
But I’m really disappointed in the comments to this piece. Why are programmers so defensive about protecting their turf, insisting that only those who are going to be “real programmers” should learn anything about coding? Such a battle going on! I’m on the side of people like this:
What’s with the elitism in these comments? People don’t casually learn software development to become the next John Carmack; they do so because they want to usefully apply it to their lives. Wanting to know how to configure and admin a CMS, or doing cool things with Google Earth, or use shell scripting to automate tasks, is something you could get via CodeAcademy. Writing effective fabric dynamics isn’t.
Cynthia Bailey Lee has built a Media Computation class for Cognitive Science majors at UCSD in MATLAB. She writes:
I couldn’t be happier about how Media Comp has worked in our MATLAB course, and the interesting and challenging things students are
attempting for their final project. This is a 10-week intro programming in MATLAB course for CogSci majors. There are no
prerequisites (in particular, neither programming or CS0 nor linear algebra prerequisites).
She did the class with Peer Instruction and has offered a set of slides with PI questions to use in such a course:
The course was done with peer instruction. Many of the lectures and most of the assignments had something to do with MediaComp. Attached are sample Peer Instruction slides using MediaComp from throughout the quarter.
She’s shared with me some of her students’ work:
“When Cartoons go through Airport Security” by Jessica Hsi and Virginia Sahagun
Also attached are images from an assignment in the 3rd-4th week of the term. We called it the “MakeWarhol” function–it takes an image,
extracts RGB layers, and tiles it to make something inspired by Andy Warhol’s colorful tiled images. I include it both as an example of
earlier assignments, and because you can see how students often creatively reused that code in their final assignment.
Thanks for sharing news about your exciting course, Cynthia!
AERA changed around their website, so the link I gave previously for reviewers for CS Education will fail. Please do volunteer and use this URL: https://www.aera.net/Membership/MyAERA/Login/tabid/11076/Default.aspx?returnurl=%2fdefault.aspx. Thanks!
Postscript: Brian Danielak created a slide set to explain how to sign up to be a reviewer: http://bit.ly/HnMrD7. Thanks, Brian!
I grew up in Detroit. Kids in Detroit used to be told to finish high school so that they can get a good paying job “on the line” in the factories. Andy Ko points out in an intriguing blog post that machining jobs are now programming jobs. Here’s another kind of argument for teaching programming in high school. First, because that’s going to be one of the skills that someone in manufacturing may need. Second, because manufacturers are having a hard time recruiting people into programming, too, so we need to give people the chance to see the real thing early. People are getting through high school deciding that programming (and computer science) jobs are boring, uninteresting, and asocial.
Recently, there have been arguments against college education today in the media: that there are plenty of good enough jobs for people with specialized skills without four years of College. Here’s an important class of just those kinds of specialized jobs, and those manufacturing jobs need programming.
Today, however, machining is less about operating machines, and more about writing code that operates machines (CNC machines, in particular, standing for computer numerically controlled). To learn the CNC programming language, workers typically take an 18-week course before their ready to operate CNC machines, but then they can make a reasonable manufacturing wage without getting their hands dirty or risking injury. This is a classic example of end-user programming, where someone has to write code as a means to an end (a physical object).
What’s even more fascinating is the economic discussion surrounding this jobs. Apparently, the problem isn’t training the machinists, but finding people who want to be trained. The Manufacturing Institute found in a survey that there are as many 600,000 manufacturing jobs going unfilled, the majority of which are jobs that require these kinds of technical computing skills. This is therefore as much a training problem as it is a recruiting problem.
Barb and I were invited to give a talk at Stanford earlier this month. (The week after SIGCSE, and the week before our NSF site visit — March has been crazy.) Scott Klemmer asked a really good question about Barb’s sustainable, effective, and replicable summer camps. ”So, what inference should we take from your work? That we should do summer camps? That we should use your curriculum to get these camps? Or that there’s a secret sauce for getting these results?” Barb had a cute answer: “Do summer camps! That’s what’s most important. Please offer summer camps!”
Afterward, Barb and I talked about what the secret sauce is. What leads to the results that Barb and Tom are seeing in the camps? I think that we have a good answer, and it’s one that Scott, as an HCI guy, would like:
- First, build on the research. Kids who come to computing summer camps aren’t interested in lectures. They want hands-on, project-based, discovery-driven learning opportunities.
- Second, use formative evaluation and iterative development. What made Barb’s camps work was the rapid feedback loop between Tom’s formative evaluations and Barb’s redesign of workshop content. Sometimes, Tom got her feedback from one week, and Barb changed the summer camp design or curriculum before the next offering of the same camp. Not everything worked. Some camp leaders lectured too much. Others had a dry sense of humor that turned off some students.
Here’s an example of something that wasn’t working. One of the results that we talked about at our NSF poster session was that we found that girls were sometimes coming away with a greater sense that computing was “too hard.” Tom did some observation studies, and found that that was happening in workshops where female leaders were saying, “Yeah, this is hard…but it’s really fun!” while male leaders only emphasized how fun it was! Just that slight emphasis on “Yeah, it’s hard” interplayed with issues of self-efficacy and fixed mindset, and girls became more discouraged. That’s something that’s hard to figure out, but easily fixed with some improved training of workshop leaders.
I’m hoping that Barb and Tom can write up this “secret sauce” when they do the larger, journal version of the SIGCSE paper. It’s an important story of how they got there, because that’s even more of the “secret sauce” than just using Barb’s models and curricula.
One of the highlights of SIGCSE 2012 was meeting Mike Richards and learning about the new introductory computing course at the Open University, My Digital Life. It’s an interesting contrast to the Stanford on-line CS courses.
I met Mike at a BOF (Birds of a Feather) meeting on digital books for CS. There were three major themes that I heard at the BOF: What standards are there going to be for electronic books, what features should there be, and what should authoring look like. The answer to the first question was clearly, “Who knows?” It’s too early. There were book authors in the audience who were pretty upset with the answer, insisting, “I need to know what to write in now, and I don’t want to have to change later!” That’s not going to happen yet. The answer to the second question had a disappointing amount of posturing — lots of “Well, I think…” with no data, no evidence, no arguments. Just claims of having the superior vision. The third one was pretty intriguing, with some really important ideas. Cay Horstmann had an interesting take on the value of XML, in any form. Mike described what their authoring process was like.
Mike said that it cost $3M USD to build “My Digital Life.” It consists of a set of books, some really great videos (including one of Alan Kay that he showed in his session), and a terrific computing platform and a modified form of Scratch. The interesting thing was that the majority of that $3M budget went to “proofreaders, testers, and editors.” They hire people to try the lesson, and then they watch where it doesn’t work. Iterative development with formative evaluation — what a great idea!
On Saturday morning, Mike presented his paper with Marian Petre on the SenseBoard that they use in “My Digital Life.” The course is currently 2/3 through its first offering. They have 4,500 students with no pre-requisites. It’s 1/3 female. 2/3 have no previous background knowledge. They have a wait list of 900 people for the next offering. Historically, the Open U gets very high student satisfaction ratings, and over 50% completion rates.
They decided to emphasize that their students don’t want to just observe computation, they want to make things. They decided to focus on ubiquitous computing, because that’s the future of computing from their students’ perspectives. They created the Senseboard, an Arduino-based device with microphone, IR sensor, push buttons, sliders, servo motor connections, stepper motor connections, and sensors for temperature, motion, and light. The board is included as part of the course (for which students pay around $800 USD), but should become available separately soon for about $80 USD. They have created a version of Scratch for programming the Senseboard. They extended Scratch with primitives for string and file handling, sensor handling, networking, and improved debugging.
I loved the way that they designed the curriculum. One of their design mantras are “No blank screens.” Each project comes with parts that already work, with descriptions and background images. The clear descriptions go step-by-step (checked by testers), and “jump aheads” (“If you already know Booleans, skip to this page”). All projects are provided with full solutions, so nobody ever gets stuck or can’t play with the result because they couldn’t figure it out. What an interesting notion — that the point of the programming assignments is to give students something that they want. Grading is not based on the assignments. Grading is based on seven marked-up assessments with a tutor, and one big final.
The projects looked great: Burglar alarms, a tank game with remote other players, a “tea ready” alarm, a BBC news feed (pull off your favorite articles and stuff them in string boxes), a network seismograph (showing the amount of traffic in your part of the network), live opinion polling, and games that the students found pretty addictive. Mike had a great quote from a student saying that he wanted to learn to make a “ghost detector” by the end of the course.
Mike says that the Stanford and MIT open learning initiatives are forcing the Open U to make some of “My Digital Life” available on their open learning site. But the Open U is worried about that. Stanford and MIT are putting up material that faculty built for free, with no or little testing. The Open U. spent $3M building this course. How do you recoup your investment if you give it away for free? There’s a flip side to that question. The Open U spends the majority of its development cost on guaranteeing quality, in the sense that the assignments are do-able by students (see previous discussion on reasonable effort). What guarantees can you make about free courses? Does course quality matter?
Hal Abelson gave the Friday keynote at SIGCSE, as the 2012 winner of the Outstanding Contributions to CS Education award. He spoke on computational thinking, and how it drives computational values, and should lead us to appropriate actions. His talk slides are available, as is a transcript of his talk. LisaK in her interdisciplinary computing blog and Nick Falkner in his blog have both written nice pieces summarizing his talk. It was a great talk, and one that really got me thinking. But I didn’t agree with the whole chain of reasoning.
One of Hal’s claims in his talk was that “computational thinking” leads to “computational values.” He describes computational values like this:
It’s having the values not only that these are cool ideas but that these ideas should be empowering and that people should be able to exercise these great things in thinking about their world and having an impact on the world.
He gave some intriguing examples about “generative platforms,” systems that let you play with ideas and build new ideas in them. He also gave several examples that he considered contrary to computational values, like closed app stores. He explained that that’s why he did App Inventor — so that students could build things for their own cell phones, outside of these “walled gardens.”
This was the first part of the talk that I had trouble with. Computational thinking doesn’t necessarily lead to computational values, in the sense of free and open access. Despite the beliefs of Steven Levy’s “Hackers,” it is not the case that information wants to be free. Information doesn’t want anything. The people who built the “walled gardens” know a lot about computation — they have computational thinking, but they don’t necessarily share Hal’s values. People like Steve Jobs and Bill Gates led to the creation of wonderful software, but that doesn’t mean that they will or even want to share it or make it open source. There is value to “walled gardens.” Isn’t that how civilization and cities began, by putting up some defenses and setting up rules of behavior? No, it’s no longer as wild and free, but you can be wild and free outside the walled garden. The walled gardens have their purpose.
Hal talked a lot about these values and how they are related to academic freedom. He talked about how important it is that great universities share research work:
We’ve got a policy that says it’s our values, it’s our values as a faculty that we think our work should be disseminated as widely and as openly as possible. The MIT policy says that if you come to MIT, you have granted MIT a nonexclusive license to distribute your works for purposes of open access.
That policy feels like the opposite of academic freedom, to me. If I’m a professor at MIT, my work will be made public for me by my institution? What if my work leads to a book that I’d like to publish? Does this mean that the professor no longer has control and copyright over his own book? What if I want to start a company? Does this mean that MIT takes away from me the ability to control access to my inventions? No, it’s not a company profiting from my work, but it’s the University deciding who gets access and how to my work.
I thought about Rousseau’s Emile, for which I named my dissertation environment. The book Emile, or On Education isn’t really about education — it’s about the tension between the rights of the individual and the rights of the society. I completely buy all of Hal’s examples, about how ridiculous it has become that a few publishers control access to so much important research. But a policy of enforced open access just replaces one bully for another. Does the professor as an individual own any of his or her own work? Can the professor choose any of how its used or who publishes or develops it?
Hal is well-deserving of his award, having done wonderful things for CS education. I greatly admire the work he does for open learning and open access. I found his talk thought-provoking. I just don’t agree with all his answers.
“Georgia Computes!” entered its “one year no-cost extension” stage last September — that means that we can tidy things up, write the last papers, do the last analyses, before all work (and all funding) ends this September. ”Georgia Computes!” has been a statewide alliance, funded by the NSF’s Broadening Participation in Computing program. Our goal was to improve the quality of computing education and broaden participation in computing across the whole state. We started in 2006. Take a look at our external evaluator’s final report on “Georgia Computes!” and you’ll see that we still have lots of stories to tell, many of which haven’t yet made it to this blog, let alone to conference and journal publications.
To tie a bow on “Georgia Computes!” we held a poster session and reverse site visit at NSF in Arlington, Virginia yesterday. We and CAITE (Commonwealth Alliance for IT Education, the other statewide NSF BPC Alliance based in Massachusetts) brought 40 people and 12 posters to put on a show of the great work that has gone in our Alliances. You can see PDF’s of all the posters (watch out — 10Mb PDF), or just look at the list of posters. This poster session was a huge effort. We sent to NSF 40 people, from Massachusetts and Georgia, from Girl Scouts to high school teachers to community college vice presidents and to CS/CIS department chairs. We hauled out robots and music software, laptops and reprints of papers.
The NSF program managers in charge of our projects were happy with the turnout. We had fewer people show up than I had hoped for, but I guess it was more significant who showed up than how many. The poster session was started by Cynthia Dion-Schwarz, the deputy AD for CISE (that is, she’s the second-in-command for all CS-related funding at NSF). The deputy director for all of NSF, Cora Marrett, came down with a reporter and a photographer. We were thrilled when NSF asked if they could keep three of the posters, to show off internally.
The purpose of our visit wasn’t just the poster session, though. Both CAITE and GaComputes are coming to an end. The BPC Alliances program will no longer fund regional alliances. However, all changes to formal education pathways (e.g., public policy, articulation agreements, high school curricula) occur at the regional level. So CAITE and GaComputes are proposing a merger to create a national resource for regional change. We have proposed creation of the Expanding Computing Education Pathways (ECEP) Alliance, which will be a service organization to support states that want to make computing education reforms in their state, with professional development, access to an experts bureau, and funding. I shouldn’t say too much about a proposal currently under review at NSF (we submitted it in January — the largest and most complex proposal I’ve ever been part of), but this much was said publicly at the poster session yesterday. 11 of us were there for what’s called a “Reverse Site Visit.” A review team attended the poster session, listened to us explain our proposal (for some five hours), and is offering (and will offer, in a formal report) comments and critique on the effort, past and proposed.
It was a really long day, and it was the culmination of literally months of work. I am so grateful to all the poster presenters who flew to DC, to those who came to view the posters, to the reviewers and NSF program managers, and to the incredibly hard-working people at Georgia Tech and U. Mass-Amherst who pulled all of this together. We’ll know this summer if we get to take the next steps with ECEP. In any case, it’s been a great run with “Georgia Computes!”
Not directly related to the 2013 Computing Curriculum revision, but another important and relevant standards effort:
The growing maturity of any discipline is marked by many milestones; e.g., university degree programs that teach it, professional societies that nurture it, and scholarly journals that report advances in it. One important milestone is establishing an authoritative guide to a discipline’s body of knowledge. This wiki site is that guide for systems engineering. Version 0.75 of the Guide to the Systems Engineering Body of Knowledge (SEBoK) is a work in progress, intended for early adopters. The aspiration of the sponsors and the several dozen authors who have worked tirelessly since September 2009 is to create an extremely useful, widely accessible, and easily updated authoritative guide to the systems engineering body of knowledge.
This wiki contains information on 120 topics in systems engineering, written by experts from around the world. The process being used is transparent with a third round of community review now underway. Yet, the SEBoK is far from complete. In fact, if the SEBoK effort is successful, it will never be ‘’complete’’ because it will continue to evolve and grow from broad use. A wiki implementation was chosen precisely because it facilitates rapid feedback from the community and easy updates to reflect that feedback and advances in the field.
Disappointing but true.
AP CS does matter to us. The College Board says that the probability is higher for an AP CS student to go on to take more CS, than it is for just about any other AP (e.g., Biology, Statistics) to go on to take more of that subject. In Allison Elliott Tew’s studies of CS1 and CS2 students, she found that AP CS students did better (on average) on her measures of learning than students coming out of GT’s other CS1 courses. Therefore, AP CS students are likely to go to more CS, and they’re likely to be good.
Most STEM fields are likely to remain predominantly male. Boys take more AP physics and computer science exams, while girls now dominate AP biology (59 percent), notes Curriculum Matters, who’s been reading the AP Report to the Nation. While Calculus AB exam-takers are evenly split, 59 percent of those who tackle the more advanced Calculus BC are male.
Males make up 58 percent of AP music theory exam-takers, 74 to 77 percent in physics and 80 to 86 percent in computer science.
I would have written the first one a bit different for a CS Ed audience. There’s a big push in CS Ed to make sure students learn the “right” basic facts so that they don’t have to “unlearn” bad habits later. Absolutely, that’s a real risk. But that doesn’t mean that we can teach the basic facts first. Context comes first — students have to know why they’re learning something in order to get deep learning.
Here are seven of the biggest myths about learning that, unfortunately, guide the way that many schools are organized in this era of standardized test-based public school reform.
Basic Facts Come Before Deep Learning
This one translates roughly as, “Students must do the boring stuff before they can do the interesting stuff.” Or, “Students must memorize before they can be allowed to think.” In truth, students are most likely to achieve long-term mastery of basic facts in the context of engaging, student-directed learning.
An interesting and new (for me) explanation for why women left the computing industry. This is a little more specific than saying, “It’s the culture” — this is making specific claims about advertising and changing the job qualifications. The Anita Borg Institute has just come out with a related recommendation — that at least 1 woman should be interviewed for every technical job opening.
America’s perception of computer scientists has shifted from the 1960s computer girl to the modern IT guy because of a masculinization of the industry and sexist advertising content, said Nathan Ensmenger, assistant professor of information.
Ensmenger spoke on Tuesday about the history of the declining number of women in computer science. He said his research showed that the qualifications of a computer programmer have been skewed to match male characteristics.
Please excuse me for tooting my own horn here, but I figure that it is computing education news: I just got the call from John Walz, 2012 President of the IEEE Computing Society, that I am being awarded the IEEE CS 2012 Computer Science and Engineering Undergraduate Teaching Award. The inscription reads, “For outstanding and sustained excellence in computing education through innovative teaching, mentoring, inventive course development, and knowledge dissemination.” It’s a great list of previous awardees, and I’m proud to be on that list with them! My many thanks to John Impagliazzo of Hoffstra who championed my nomination.
I used Arnold Arons’ work a lot when I did my dissertation, so I particularly liked this quote from a recent Richard Hake post. There are direct implications for us in CS, where just about everything (from FOR loops to linked lists) are abstract ideas. Lectures, even lucid ones on these topics, don’t work for most students.
“I point to the following unwelcome truth: much as we might dislike the implications, research is showing that didactic exposition of abstract ideas and lines of reasoning (however engaging and lucid we might try to make them) to passive listeners yields pathetically thin results in learning and understanding – except in the very small percentage of students who are specially gifted in the field.”
Arnold Arons (1997)
REFERENCES [URL's shortened by <http://bit.ly/> and accessed on 06 March 2012.] Arons, A.B. 1997. “Teaching Introductory
Physics,” p. 362. Wiley, publisher’s information at <http://bit.ly/jBcyBU>. Amazon.com information at <http://amzn.to/bBPfop>, note the searchable ”Look Inside” feature.
Baker Franke writes about their CE21-funded effort to put Exploring Computer Science into the Chicago public schools through Career and Technical Education, as a way of reaching “computer science for all.”
What we saw were teachers in rooms with students and computers in a required course that wasn’t really doing that much for the students or the teachers. Through our advocacy work we were able to convince the director of the CTE program in Chicago to change this required course (common to all the CTE programs) into a “real” computer science course. And that’s how it started. We chose to teach the Exploring Computer Science curriculum because of it’s fantastic professional development model and I would describe the early results as transformative. Most of the teachers love teaching the class and now feel like they’re making a difference in their students’ lives rather than treading water in a classic “applications” course.
Are they “real” computer science teachers? Yes. But they’re different than the computer science teachers that we in the CS community are used to and that’s something we have to get used to but also what’s so great. These teachers are going to be able to reach students of all races, genders, creeds, and socio-economic status for the precise reason that they’re nothing like, well, me. I’m seeing it happen before my eyes and it’s amazing. The potential impact of this project is huge. In a few years time, we will have hundreds of computer science teachers teaching a required CS course in Chicago Public Schools.