Posts tagged ‘computing education’
Turkle and Papert’s paper on epistemological pluralisms is one of my favorite by Seymour (which I talked about here). This is the first paper I’ve read about how to encourage them.
I remember a math teacher I once had. He would ask students to go up to the board and explain how they solved the problem. But he wouldn’t stop there. He would then ask if someone else had a different way of solving the problem and allow the different approaches to be shared with the class. This validated that there were multiple ways a problem can be solved, and that it was not enough to know just one way… It also meant no one remained in doubt about whether their (different) approach was “incorrect” (there was room to clear up misconceptions, for example). It’s not as deep as epistemology, but it’s a start. A start to plurality of the “how”, but we should consider maybe also the plurality of the “what” and “why” (because which questions we choose to pursue for learning and why they matter to us are deep ontological and epistemological questions).
I manage the education column in CACM’s Viewpoints section, and this quarter, Briana Morrison and I wrote the piece. While CS is now officially “in STEM,” it’s not like mathematics and science classes. In the November issue, we look at what has to happen to make CS as available as mathematics or science education. ( BTW, Briana defends her dissertation today!)
Computing education is changing. At this year’s CRA Snowbird Conference, there was a plenary talk and three breakout sessions dedicated to CS education and enrollments. In one of the breakout sessions, Tracy Camp showed that much of the growth in CS classes is coming from non-CS majors, who have different goals and needs for computing education than CS majors.a U.S. President Obama in January 2016 announced the CS for All initiative with a goal of making computing education available to all students.
Last year, the U.S. Congress passed the STEM Education Act of 2015, which officially made computer science part of STEM (science, technology, engineering, and mathematics). The federal government offers incentives to grow participation in STEM, such as scholarships to STEM students and to prepare STEM teachers. Declaring CS part of STEM is an important step toward making computing education as available as mathematics or science education.
The declaration is just a first step. Mathematics and science classes are common in schools today. Growing computing education so it is just as common requires recognition that education in computer science is different in important ways from education in STEM. We have to learn to manage those differences.
Until I heard this recent Freakonomics podcast, I was not aware of this response to innovation and entrepreneurship trends. The quote below speaks directly to engineering education, but is as much about computing education.
The value of engineering is much, much more than just innovation and new things. Focusing on taking care of the world rather than just creating the new nifty thing that’s going to solve all of our problems. If you look at what engineers do, out in the world, like 70-80 percent of them spend most of their time just keeping things going. And so, this comes down to engineering education too, when we’re forcing entrepreneurship and innovation as the message, is that we’re just kind of skewing reality for young people and we’re not giving them a real picture and we’re also not valuing the work that they’re probably going to do in their life. That just seems to me to be kind of a bad idea.
The quote is from Lee Vinsel who was a co-author on a thought-provoking essay, Hail the maintainers, sub-titled: “Capitalism excels at innovation but is failing at maintenance, and for most lives it is maintenance that matters more.”
To take the place of progress, ‘innovation’, a smaller, and morally neutral, concept arose. Innovation provided a way to celebrate the accomplishments of a high-tech age without expecting too much from them in the way of moral and social improvement.
It’s easy to see this emphasis on innovation over maintenance. We talk about disruption and transformation much more than reforming, repairing, or improving. We talk more about creation than understanding.
We increasingly teach computer science to prepare students to be innovators and create new things (e.g., join startups), when the reality is that most computer science graduates are going to spend the majority of their time maintaining existing systems. (See the papers by Beth Simon and Andy Begel tracking new hires at Microsoft.) Few who do enter the startup world will create successful software and successful companies, so it’s unlikely that those students who aim to create startups will have a lifelong career in startups. In terms of impact and importance, keeping large, legacy systems running is a much greater social contribution than creating yet another app or game, when so few of those startup efforts are successful. Aren’t we then as guilty as the engineering educators, described in the first quote?
In terms of what we teach in computing and how, innovation and maintenance is a hard balance to strike. As Alan Kay has noted, “The computing revolution hasn’t happened yet.” We’re still inventing and innovating because what we have isn’t good enough. But, that desire to value what’s new leads us to overvaluing the fad of the moment, rather than exploring, developing, and understanding what we have at-hand. Why do we have to keep changing the introductory programming language, when it’s clear that we don’t understand how students learn (and don’t learn) the programming languages that we currently teach? Why did we give up on Logo when it’s still better than most languages for children today? It’s a tough balance — to strive for better than we have, but valuing, developing, and improving what we currently have.
My Blog@CACM post for this month is about imagining the remedial teaching techniques of a school-based “Computing Lab” in the near future.
It’s becoming obvious that computing is a necessary skill for 21st Century professionals. Expressing ideas in program code, and being able to read others’ program code, is a kind of literacy. Even if not all universities are including programming as part of their general education requirements yet, our burgeoning enrollments suggest that the students see the value of computational literacy.
We also know that some students will struggle with computing classes. We do not yet have evidence of challenges in learning computation akin to dyslexia. Our research evidence so far suggests that all students are capable of learning computing, but differences in background and preparation will lead to different learning challenges.
One day, we may have “Computing Labs” where students will receive extra help on learning critical computational literacy skills. What would happen in a remedial “Computing Lab”? It’s an interesting thought experiment.
I list several techniques in the article, and I’m sure that we can come up with many more. Here’s one more each DO and DON’T for “Computer Lab” for struggling computationalists.
- DO use languages other than industry standard languages. As I’ve mentioned before in this blog, CS educators are far too swayed by industry fads. I’m a big fan of Livecode, a cross-platform modern form of HyperCard. An ICER 2016 paper by Raina Mason, Simon et al. estimated Livecode to have the lowest cognitive load of several IDE’s in use by students. If we want to help students struggling to learn computing, we have to be willing to change our tools.
- DON’T rely on program visualizations. The evidence that I’ve seen suggests that program visualizations can help high-ability students, and well-designed program visualizations can even help average students. I don’t see evidence that program visualizations can help the remedial student. Sketching and gesture are more effective for teaching and learning in STEM than diagrams and visualizations. Sketching and gesture encourage students to develop improved spatial thinking. Diagrams and visualizations are likely to lead remedial students into more misconceptions.
The CS K-12 Framework was released Monday. This has been an 11 month long process — see first blog post about the framework, first blog post on the process, and the post after my last meeting with the writers as an advisor. The whole framework can be found here and a video about the framework can be found here:
A webinar about the Framework will be held on Wednesday, October 19, at 12 PM Pacific / 3 PM Eastern. Visit https://www.youtube.com/watch?v=wmxyZ1DFBwk for more details and to watch the webinar on the 19th.
I believe that this framework is about as good as we can expect right now. Pat Yongpradit did an amazing job engaging a broad range of voices in a short time. The short time frame was forced on the process by the state policymakers who wanted a framework, something on which they could hang their state standards and curricula. The NGSS veterans did warn us what could happen if we got it wrong, if we went too fast. Maybe the framework process didn’t go too fast.
The framework document is impressive — comprehensive, carefully constructed, with a rich set of citations. It’s teacher-centric, which may not be the best for a document to inform state standards, but that’s the constituency with the strongest voice in CS Ed today. There are too few CS Ed informed policymakers or district administrators to push back on things that might not work work. The CS Ed researchers are too few and too uncertain to have a strong voice in the process. Computer scientists (both professional and academic) generally ignored the process. The CS teachers had the greatest political influence.
I predicted in January that this would be a “safe list,” a “subset of CS that most people can agree to.” I was wrong. There’s a lot in there that I don’t see as being about computation. Like “Create team norms, expectations, and equitable workloads to increase efficiency and effectiveness” — that’s a high school computing recommendation? Like “Include the unique perspectives of others and reflect on one’s own perspectives when designing and developing computational products” — you can achieve that in high school?
Those “aspirational” statements (Pat’s word) mean that the writers went beyond defining a consensus document. They tried to push future CS education in the ways that they felt were important. Time will tell if they got it right. The framework fails if schools (especially under-resourced schools) decide that it’s too hard and give up, meaning that underprivileged kids will continue to get no CS education. If teachers and administrators work harder to provide more and better CS education because of this document, then the framework writers win.
This is an important document that will have a large influence. Literally, millions of schoolchildren in several states are going to have their CS education defined by this document.
Typing that statement gives me such a sinking feeling because we just don’t have the research evidence to support what’s in the framework.
When I went to meetings, I too often heard, “Of course, teachers and students can do this, because it works in my program.” So few computing education programs (e.g., packages of curriculum, professional development, assessment, and all the things teachers need like pacing guides and standards crosswalks) have scaled yet in diverse populations. Maybe it works in your program. But will it work when it’s not your program anymore? When it’s a national program? When states and districts take it over and make it their own? Will it still work?
And we want schools and districts to make things their own. That’s at the heart of the American educational system — we’re distributed and diverse, with thousands of experiments going on at once. I worry about how little knowledge about computing and computing education is out there, as guidance when schools and districts make it their own.
So, yeah, I’m one of those uncertain researchers, mumbling in the corner of this process, worrying, “This could go so wrong.” Maybe it won’t. Maybe this will be the first step towards providing a computing education for everyone.
The die is cast. Let’s see what happens.
Losing CS Teachers in Scotland: Latest report on CS teacher numbers from Computing At School Scotland
If you can forgive the bias in the graph (what looks like a 90% drop is actually a 25% drop), you will find this to be an important and interesting report. Scotland has one of the strongest computing at schools efforts in the world (see site here), with an advanced curriculum and a large and well-designed professional development effort (PLAN-C). Why are they losing CS teachers?
When I wrote about this in 2014 (the trend has only continued), I pointed out that part of the problem is teachers refusing to shift from teaching Office applications to computer science. The current report doesn’t give us much more insight into why. The point I found most interesting was that Scottish student numbers dropped 11%, and teacher numbers in the other disciplines are also declining (e.g., mathematics teachers are declining by 6% over the same period), but at a much slower rate than the CS decline of 25%. That makes sense too — if you’re a teacher and things are getting tough, stick with the “core” subjects, not the “new” one. It’s worth asking, “How do we avoid this in the US?” and “Can we avoid it?”
We know too little about what happens to CS teachers in the US after professional development. I know of only one study of CS teacher retention in the US, and the observed attrition rate in that study was far worse than 25%. Do we know what US retention rate is for CS teachers? Maybe Scotland is actually doing better than the US?
Today we launch our latest report into the numbers of Computing Science teacher numbers across Scotland. We have carried out this survey in 2012, 2014 and now 2016 as we are concerned about the decreasing number in Computing teachers in Scottish schools. Nationally we now have 17% of schools with no computing specialist and a quarter of Secondary schools have only one CS teacher.
From Lauren Wilcox:
Betsy DiSalvo, Dick Henneman and I have designed a survey about a topic that is near and dear to us as HCI faculty: topics, learning goals, and learning activities in HCI classrooms!
We hope to do an annual “pulse” of HCI instructors across the globe.
We are hoping that you can take the survey, and also please share with your colleagues who teach HCI-related classes.