Posts tagged ‘computing education’
Heading to UMBC for Computing Education Summit
On May 17, I am going to be attending a summit for computing education in Maryland at the University of Maryland, Baltimore County (UMBC). Rick Adrion and I are going to talk about the efforts in Massachusetts and Georgia, and elsewhere through ECEP. I’m looking forward to it (but observant readers will note that I’m traveling to Maryland the day after returning from Denmark!).
On Friday, May 17, 2013, CE21-Maryland will host a Summit for Computing Education at the University of Maryland, Baltimore County (UMBC) campus in Catonsville, Maryland. We invite teachers, administrators, legislators, industry leaders, and others who have an interest in expanding computer science in high school or middle school to attend. Space is limited to 150 people.
At this summit, the attendees will:
-
Learn more about computer science high school education across the state of Maryland.
-
Network with others with an interest in computer science education.
-
Exchange strategies with other education professionals.
-
Plan with others to help expand student interest and to increase the number and diversity of students studying computer science in Maryland.
Learning about learning in a musical: The power of deliberate practice in a whole setting
I am working set crew for a musical for the last two weeks and through this weekend. This is my third year doing it, so I’m not quite the novice I was when I first wrote about the experience. We’re doing “Curtains” which is a show-in-a-show musical — the setting is a theater in Boston where a Western musical is being readied for Broadway, when murders start backstage.
Again, I’m struck by the complexity of musical theater. The actors have been at it since January, and everything they have to learn amazes me. As stage crew, I only owe them three weeks of every evening, but I still have had a lot to learn in a short time. In part of Act Two, I’m setting flats, then racing back to help actors with their quick change (it’s way harder to button someone else’s shirt buttons than your own), then lift a globe into place (turning it sideways to fit through door frames), before racing back to set up a river in the next scene.
What’s particularly striking me this year is how we have not only learned some fairly complex activities, but we have learned them well enough to self-monitor and invent.
- During one performance this last weekend, I was the last crew still on stage when the stage manager whispered to me, “The rope!” The rope that held the globe still had come loose and was dangling. I grabbed it and dove behind a riser — just as the lights came up. I was trapped. (Not seriously, of course. The worst that would happen is that the audience would see a guy in black crawl by at the back of the stage. But the whole point of theater is to maintain an illusion, so you avoid those kinds of incongruities.) The stage manager whispered to me to climb up the ladder behind the globe without being seen, and tie the globe down, which I did. Now, I’m trapped on a ladder behind the scene and thinking, “What do I do next?” In the next scene change, I was to be a real stagehand acting like a stagehand. ”Curtains” is a play about a play, so at a few times in the show, someone yells, “Clear the set” and we stagehands come out (in the lights! in front of the audience!) to clear the set. When Lt. Cioffi yelled, “Let’s bring in the river,” I ran out to bring in the river scene — from behind the globe. Nobody would have noticed or cared where the stagehand came from, so the illusion was maintained.
- During last night’s performance, the trap door that drops the heavy sandbag (an attempted murder) didn’t work. One of the actors on stage invented dialog to get around that flub and keep the story going – that was quick thinking. The trap door failure created a challenge for the set crew. Why didn’t the trap door work? Was it going to get unstuck and drop a weight during the middle of another scene? While one member of the set crew started crawling around to check the trap door, the rest of the stagehands covered his chores.
I could go on and on. A prop is missing, a costume breaks, someone flubs their line or doesn’t get on stage quick enough. Things happen, and people have to think on their feet. Let’s compare this to introductory computer science class, where students famously have difficulty figuring out one way to do something in 10-15 weeks of practice. Or when they do something the one way that they can figure out, it just barely works and the code is frequently awful — ugly and hard to read.
What we see going on in the musical is complex learning, with flexibility. It’s not quantum physics, but it is complex. If you’ve ever learned a dance or martial arts, you know that remembering and recreating a sequence of physical moves can be challenging. Now combine that across multiple scenes, with rapid timing (quick changes have to be completed before the orchestra finishes the song), with lots of people involved, and it’s complicated. I just bought the “Curtains” soundtrack and am impressed. Our actors and singers can hold their own with the original cast recording.
How did everyone involved in the musical learn so much, so well, in such a short amount of time? And why doesn’t that happen so often in formal education? There are lots of things going on. Here are two that I’ve been thinking about:
- I’m currently listening (in my work commutes) to “Quiet: The power of introverts in a world that can’t stop talking,” where she talks about Anders Ericsson’s work on deliberate practice. I’m not suggesting that the actors or stagehands in the musical have put in ten thousand hours or are experts (though I would not be surprised if some of our top actors, who do a lot of theater and commercial work, may cross that threshold). I am suggesting that Ericsson’s conditions for developing expertise are present here: “The most cited condition concerns the subjects’ motivation to attend to the task and exert effort to improve their performance. The subjects should receive immediate informative feedback and knowledge of results of their performance. The subjects should repeatedly perform the same or similar tasks.” We do the musical over-and-over. We are motivated to get it right. The directors critique, and we critique ourselves. ”That didn’t go well,” or “we could do that better.” That doesn’t happen in formal education so much.
- I’m reading David Perkins’ “Making learning whole,” where he talks about how we tend to teach piecemeal in formal education, but in informal education (in his introduction, it’s learning baseball), the learner knows what the end product is supposed to look like. The actors and stagehands in a musical know where we’re going. We have a complete picture of the role of each piece. We know what a good show looks like. We focus on this number here, and this set change there, but there’s no question that everything is supposed to fit together. It’s not like “We’re learning recursion, and I’m not sure why I’d ever want to do this.” Students in formal education often don’t understand the relevance of what they’re learning, of how it all fits together.
P.S. If you’re in Atlanta, there are shows this Friday and Saturday at 8 pm, and Sunday at 4 pm. Come see it!
School for Poetic Computation
I love the idea of this school. It reminds me of Donald Knuth’s Turing Award lecture Computing Programming as an Art and of Guy Steele’s call for an MFA in software practices.
We are interested in craft, and the idea that every writer needs space and time to hone their trade. Our school aims to provide a safe haven – so you could get acquainted with the craft at your own pace, make it your own, find that part between your true creative process and the craft. This takes time, encouragement, the right push at the right time, conversations with colleagues, and more time.
via SFPC – mission.
Computer Science as a great target for Science Careers
Nice interview with Ed Lazowska of U-W in Science about the state of computer science education and research. The below section is getting picked up elsewhere as an argument for CS as a great choice for students interested in a career in science.
I would have to say “about right.” Ph.D. production in computer science is far lower than in fields with far fewer employment opportunities. And Ph.D.s in computer science have a broad range of employment opportunities that take full advantage of their training. In most other STEM [science, technology, engineering, and mathematics] fields, the vast majority of graduates at all levels take jobs unrelated to their field of study. In computer science, the opposite is true: The vast majority of graduates at all levels take jobs that are in their “sweet spot.” Google hires roughly the same number of graduate students as undergraduate students from the University of Washington. Microsoft also hires a large number of our best Ph.D. students, both for Microsoft Research [MSR] and for the development organization.
I do think we need to be cautious. We need to avoid the overproduction—and, honestly, exploitation—that characterizes other fields. Hopefully we’ll be smart enough to learn from their behavior.
The Meme Hustler: Free Software vs Open Source
A difficult but fascinating piece. I found most interesting this contrast between Stallman’s “free software” and O’Reilly’s “open source.” These are important distinctions for computing education, as we think about the culture that we’re inviting students into.
This stood in stark contrast to Stallman’s plan of curtailing—by appeals to ethics and, one day, perhaps, law—the freedom of developers in order to promote the freedom of users. O’Reilly opposed this agenda: “I completely support the right of Richard [Stallman] or any individual author to make his or her work available under the terms of the GPL; I balk when they say that others who do not do so are doing something wrong.” The right thing to do, according to O’Reilly, was to leave developers alone. “I am willing to accept any argument that says that there are advantages and disadvantages to any particular licensing method. . . . My moral position is that people should be free to find out what works for them,” he wrote in 2001. That “what works” for developers might eventually hurt everyone else—which was essentially Stallman’s argument—did not bother O’Reilly. For all his economistic outlook, he was not one to talk externalities.
Coding boot camps promise to launch tech careers – but beyond launch?
This strikes me as a good way to become stuck in the shallow end — learn enough to be employed on the first day, don’t know enough to transfer to tomorrow’s technology. What we know about transfer is that knowing something well is more likely to transfer than knowing several things at a shallow level. It seems contradictory, but it’s true: Knowing today’s technology well serves you better for learning tomorrow’s technology.
Dev Bootcamp, which calls itself an “apprenticeship on steroids,” is one of a new breed of computer-programming school that’s proliferating in San Francisco and other U.S. tech hubs. These “hacker boot camps” promise to teach students how to write code in two or three months and help them get hired as web developers, with starting salaries between $80,000 and $100,000, often within days or weeks of graduation.
“We’re focused on extreme employability,” said Shereef Bishay, who co-founded Dev Bootcamp 15 months ago. “Every single skill you learn here you’ll apply on your first day on the job.”
via Coding boot camps promise to launch tech careers – DailyHerald.com.
Resolved: Academic CS will never meet the needs of the IT Profession
Would love to be in London on 12 June to hear this debate! The blurb describing the debate does a balanced job of laying out the questions.
“This house believes that Academic Education will never meet the skills needs of the IT Profession”
‘Universities are failing to educate graduates with the skills we need’ – this is the oft heard complaint by employers of IT graduates. Does the problem start in school with the dire state of ICT teaching and assessment at GCSE and A Level? Should academia be trying to produce graduates with only ‘employable skills’ that have a shelf life of at best a couple of years? Are employers really expecting universities to produce a mature, rounded professional with 20 years experience straight out of university? Is it reasonable to expect Academia to bridge the skills gap when employers are not prepared to provide a robust career path for IT professionals?
Neil Fraser on CS in Vietnam and (unfortunately) in US
I read with great interest Neil Fraser’s fascinating account of computer science education in Vietnam. The efforts going on in Vietnam are really terrific, and Neil does a good job of describing what he saw there.
Then a colleague sent me a link to the Slashdot discussion about Neil’s blog post. The focus of the discussion was on Neil’s description of the state of computer science education in the United States, which is not nearly as accurate or as well-informed as his descriptions of the state of Vietnamese CS education.
Here’s what Neil says, with my responses interspersed. His original is more detailed than the bits I’m grabbing here.
The state of American computer science education is striking in comparison.
-
School boards fight to keep CS out of schools, since every minute spent on CS is one less minute spent on core subjects like English and math. The students’ test scores in these core subjects determine next year’s funding, so CS is a threat.
I have never heard of a school board fighting to keep CS out of their schools. Describing it like that paints a picture of a poor group of School Board members fighting against the hoards of computer scientists. A more accurate analogy is School Board members riding on the backs of lumbering elephants, and every once in awhile, a pesky computer scientist mosquito tries to annoy the elephant. If there ever was a massive battle for the schools’ curriculum, the CS army would have lost, because it never showed up!
Computer science does not count toward Annual Yearly Progress, but that doesn’t mean that it couldn’t. It’s absolutely true that computer science is not part of the Common Core — that’s the goal of the “Computing in the Core” group. Computer science does count towards high school graduation in nine states now. It could be more, but it hasn’t happened yet. There’s a big effort going on in Washington and in Massachusetts now. I don’t know of any organized effort anywhere to keep CS out of schools. Rather, there’s not enough effort to get CS into schools yet. (There is no school suffering the problem of too many hours and too few things to teach!)
There’s an implicit assumption here that School Boards make the decision on what gets taught and what doesn’t. I keep learning how different each and every state is. Decisions about what gets taught (and what doesn’t get made) at the State level, the district level, and the individual school/teacher level, and what gets decided at what level differs from state to state.
-
Teachers often refuse to teach real CS because more often than not they don’t understand it. Instead, they end up teaching word processing and website construction, while calling it CS.
I have been involved several studies of high school teachers (e.g., DCCE and Lijun Ni’s work and through GaComputes). Teachers want to teach what they know and what their students need and want. Absolutely, they are unlikely to know real CS, but not knowing something isn’t the same as “refusing to teach” it. Professional development to prepare high school teachers in computer science is a huge international problem. Absolutely, applications and keyboarding skills often get misclassified as computer science. I recommend the CSTA report Running on Empty to see where this is happening and about the efforts to explain what is real computer science.
-
Parents often oppose CS classes since the grade has no direct benefit on their child’s academic prospects. This is compounded by a lack of understanding of the difference between their child playing video games and their child writing video games.
Absolutely, I believe this happens. I have heard similar stories. I don’t know how widespread it is. I have not seen any data showing that parents oppose CS classes in enough numbers to influence participation in a significant way. I have never seen any data that parents are confused about the difference between playing video games and writing video games. In general, we know that parents influence students’ educational decision-making processes, but we don’t know that parental recommendations away from computing prevent computing education from growing.
-
Students intentionally tune out of CS class since there are few things worse in American high school than being labelled a nerd.
Studies like the ACM-WGBH image of computing, Stuck in the Shallow End, and Betsy DiSalvo’s work with Glitch all say that students value computing and want computing courses, but rarely get access to it. Agreed that nobody wants to be labelled a “nerd,” and Betsy’s work shows that “face-saving” is an important part of her efforts. But that’s not the main reason why students aren’t taking computer science. The real problem is a lack of access. Remember that there are 2K AP CS teachers for 24K high schools in the United States. If students WANTED to be “labelled a nerd” and take a CS course, they are unlikely to get a chance.
The result in America is a prefect storm of opposition from every level. Effecting meaningful change is virtually impossible. I work for the education department at Google and the stories our external educators return with are as shocking as they are unpublishable. We’ve been spending enormous resources with frankly minimal impact.
I am absolutely sure that Neil is hearing all kinds of awful stories, but that’s not the same as careful studies. Those are anecdotes. Efforts to measure what’s going on paint a somewhat different picture.
At the ACM Education Council meeting last month, we learned that China is spending $25 BILLION per year on computer science education. Those are enormous resources. The United States has barely started.
Congratulations to Eric Roberts on the 2012 ACM Karl V. Karlstrom Outstanding Educator Award!
Eric Roberts has been a truly outstanding educator for decades, starting as the first computer scientist at Wellesley College in 1980. He has personally taught thousands of computer scientists, and reached many more through his textbooks and curriculum development. His textbooks are exemplary; the first, Thinking Recursively, was named in a 1998 CACM survey article as one of the core texts that every computer science educator should know. He built an organization of professional lecturers at Stanford that has become a model for effective teaching of computer science at universities across the country.
Eric has shown exceptional leadership in computing education, made all the more effective because of the obvious priority he placed on being an outstanding educator. He devotes enormous time and energy to drawing attention to and addressing problems in our community, such as underrepresentation of women in computing and the need to devote more resources to computing education during times of enrollment surge. His principles and values have made him a respected voice in the computing education community.
Erics leadership is international in scope. He co-chaired the ACM Education Board for several years, and was one of the founding co-chairs of the ACM Education Council. From 1999 to 2005, he worked to develop a computing curriculum for public high schools in Bermuda. This program was the first national computing curriculum to be certified by an international standard board.
Erics work on Computing Curriculum 2001 exemplifies his leadership. He drew together diverse constituencies and stakeholders in a multi-year process. He was the principal author of the final report. The report is a significant intellectual achievement that has served educators around the world as they consider what every computing student needs to learn.
Trends in CS Enrollments at Small, Liberal Arts Colleges
Great to see some data on what’s going on at smaller schools, not just in the doctoral-granting institutions. On average, as much of an upswing as what’s reported in the Taulbee, but not all schools reporting increases. Interesting analyses of what’s working and what’s not.
What contributes to the program’s success? Faculty involvement, quality teaching, and enthusiasm for undergraduate research. Flexibility with prerequisites and independent studies. Outreach. Interdisciplinary projects. Growing knowledge/visibility about CS and its broad usefulness, including awareness among faculty colleagues. The job market. Multiple introductory courses/sections. Inclusion in general distribution requirements. Becoming a separate department. Stable set of faculty. Students choosing first-semester courses themselves.
Decline? External forces/national trends. Not enough faculty to offer enough spaces in lower level courses. Faculty turnover. Student rumor mill (regarding a potential cut).
via Trends in CS Enrollments at Small, Liberal Arts Colleges (BoF Survey Results) – Google Drive.
EU Commission launches ‘grand coalition’ to tackle IT shortage
We’ve heard about the UK’s concerns about the IT skills shortage. Now, it’s the whole European Union!
The European Commission has launched a “grand coalition” to address the region’s IT skills shortages.
Digital agenda commissioner Neelie Kroes told delegates at CeBIT that the EU’s competitiveness is “under threat” if it cannot fill the expertise gap.
The shortages come at a time of high unemployment across Europe, she added, calling for greater awareness of IT career opportunities.
via BBC News – EU Commission launches ‘grand coalition’ to tackle IT shortage.
Addressing Computer Science Student Misconceptions with Contrasts
I have wanted to figure out how to use in my class the interesting findings about the use of video to address science misconceptions. The idea is that you want to use real student misunderstandings and contrast them with better, more powerful ways of understanding something. The challenge for me has been how to get those misunderstandings in class. I don’t want to call on someone that I know has a misconception and have him lay out his explanation — just to pounce on it to say, “And that’s wrong!”
Then I realized my chance this last week. I was grading the second midterm, and saw all these surprising misconceptions made evident in the students answers. Normally, the class time after a midterm is about going over the midterm answers. I decided instead to make it about the misconceptions.
I built a Powerpoint slide deck filled with these contrasting bits of code (like the contrasting explanations in the science videos) and with alternative code for answering the same problem. I tried to disguise the code so as not to embarrass any particular student. For example, I changed variable names — and since students expect that changing variable names should make plagiarized code impossible to detect, that should be enough, right?
I formed students into pairs, and then put up the slides and asked for them to respond or to answer a question in their pair. For example, I noticed that several students seemed to confuse IF and WHEN. So I put up this slide.
I asked students to punch into their clickers what they thought “A” would print out. And yes, about 20% of the students guessed something other than “1.” I executed “A” as a way of checking the answer. I then had students answer for “B.” I could hear lots of discussion suggesting that students were seeing the difference between IF and WHILE.
I put code up like this:
I had each group discuss what would be the output of this code, then took suggestions of the output from around the room. I wrote them on the board, and then had pairs vote on which answer they most agreed with. By the time we voted, everyone got it right — just generating the options, and hearing the discussion as each option went up, they figured out what the best answer was. I really liked hearing students “discovering” invariants as they talked, e.g., “The loop can never end, because you never change node1a in the loop!”
I have no real evidence of learning here — we’ll see how things go in the class. I do have a sense that this was a more fruitful activity for a most-midterm discussion than just me giving the answers and telling them why the wrong answers were wrong. That recitation of sins usually just results in students coming up to me with, “You only give me 5 points for this, but based on the discussion, I think I deserved 7.” This way, the discussion was punctuated more often with “Ohhhh — now I get it!”
Guided Computer Science Inquiry in Data Structures Class
Inquiry-based learning is the best practice for science education. Education activities focus on a driving question that is personally meaningful for students, like “Why is the sky blue?” or “Why is the stream by our school so acidic (or basic)?” or “What’s involved in building a house powered entirely by solar power?” Answering those questions leads to deeper learning about science. Learning sciences results support the value of this approach.
It’s hard for us to apply this idea from science education and teach an introductory computing course via inquiry, because students may not have many questions that relate to computer science when they first get started. Questions like “How do I make an app to do X?” or “How do I use Snap on my laptop?” are design and task oriented, not inquiry oriented. Answering them may not lead to deeper understanding of computer science. Our everyday experience of computing, through (hopefully) well-designed interfaces, hides away the underlying computing. We only really start to think about computing at moments of breakdown (what Heidigger called “present-at-hand”). ”Why can’t I get to YouTube, even though the cable modem light is on?” and “How does a virus get on my computer, and how can it pop up windows on my screen?” It’s an interesting research project to explore what questions students have about computing when they enter our classes.
I realized this semester that I could prompt students to define questions for inquiry-based learning in a second computer science class, a data structures course. I’m teaching our Media Computation Data Structures course this semester. These students have seen under the covers and know that computing technology is programmed. I can use that to prompt them about how new things work. What I particularly like about this approach is how it gets me out of the “Tour of the Code” lecturing style.
Here’s an example. We had already created music using linked lists of MIDI phrases. I then showed them code for creating a linked list of images, then presented this output.
I asked students, “What do you want to know about how this worked?” This was the gamble for me — would they come up with questions? They did, and they were great questions. ”Why are the images lined up along the bottom?” “Why can we see the background image?”
I formed the students into small groups, and assigned them one of the questions that the students had generated. I gave them 10 minutes to find the answers, and then report back. The discussion around the room was on-topic and had the students exploring the code in depth. We then went through each group to get their answers. Not every answer was great, but I could take the answer and expand upon it to reach the issues that I wanted to make sure that we highlighted. It was great — way better and more interactive than me paging through umpteen Powerpoint slides of code.
Then I showed them this output from another linked list of images.
Again, the questions that the students generated were terrific. ”What data are stored in each instance such that some have positions and some are just stacked up on the bottom?” and “Why are there gaps along the bottom?”
Still later in the course, I showed them an animation, rendered from a scene graph, and I showed them the code that created the scene graph and generated the animation. Now, I asked them about both the animation code and the class hierarchy that the scene graph nodes was drawing upon. Their questions were both about the code, and about the engineering of the code — why was it decomposed in just this way?
(We didn’t finish answering these questions in a single class period, so I took pictures of the questions so that I could display them and we could return to them in the next class.)
I have really enjoyed these class sessions. I’m not lecturing about data structures — they’re learning about data structures. The students are really engaged in trying to figure out, “How does that work like that?” I’m busy in class suggesting where they should look in the code to get their questions answered. We jointly try to make sense of their questions and their answers. Frankly, I hope to never again have to show sequences of Powerpoint slides of code ever again.
True success of ‘robotics revolution’ hinges on training and education
I buy this argument, and it’s more subtle than the recent 60 Minutes piece. Does the influx of robotics lead to more or fewer jobs? 60 Minutes says fewer jobs. In contrast, Henrik Christensen says more jobs. The difference is education. There are fewer lower-education jobs, but more higher-education jobs. So unless you ramp up education, it is fewer jobs.
That’s not to say the transition to this brave new world of robotics will be painless. Short-term upheaval is inevitable. For Exhibit A, look at the jobless recovery we find ourselves in today: Increased productivity has driven economic growth, yet unemployment rates remain stubbornly high. But most insiders seem to agree that if we look past the short term, the medium- and long-term benefits of the robotics revolution appear to be positive, not just in terms of economic growth but for job creation, too.
They also warn that the job creation part will require a keen focus on training and education for those low-skilled workers who get squeezed out of their jobs by robotics. Collectively, we ignore this warning at our own peril.
via True success of ‘robotics revolution’ hinges on training and education | Packaging World.
Washington State House votes to count computer science for math/science credit
So cool! There is a petition on the linked page (below) if you would like to express your support for this bill.
In overwhelming fashion, the Washington State House voted 95-3 to pass a new bill in the Washington State Legislature that may allow computer science classes to count as a math or science requirement toward high school graduation.
The bill now moves onto the Senate.
Currently, Washington high schoolers who take a computer science class don’t receive a math or science credit. HB 1472 would enable this and “provide initiatives to improve and expand access to computer science education.”
via Washington House votes to count computer science for math, science credit – GeekWire.





Recent Comments