Posts tagged ‘CS for all’

CS Curricula, Standards, and Frameworks will Need to Change: Larry Cuban and Coding as Vocationalism

I just wrote a blog@CACM post (see link) below on a series of essays that Stanford educational historian Larry Cuban has written on “Coding as the New Vocationalism.”  His points are well-taken.  Schools have often been swayed by the needs of industry, and he sees the current “CS for All” effort as mostly being industry-driven.  The questions that he keeps returning to in his posts are, “What are schools for? How does real reform happen?”

It’s the latter set of insights that I think are missing from our current “CS for All” efforts.  I quote Cuban at the bottom of this post with his summary for how reforms succeed. Top-down edicts on what ought to be taught rarely work.  Remember the U. Chicago’s Outlier group research on the landscape of CS education from 2014?  Most professional development is requested by the school or district,  but in CS Ed, professional development mostly sent in by NSF, Google, and Universities (and today, likely,  CS education will have to change to achieve the goal of being driven by district and teacher needs.

The most successful reform efforts are those that achieve the top-down goals in a process of mutual adaptation with teachers, an idea developed at Northwestern by a team of learning scientists led by Brian Reiser.

Whatever our curriculum, frameworks, and standards are today, they will change before we achieve CS for All.

Standards change in response to what teachers know, what we can actually teach them (at scale), and what they will actually teach (a process that has already happened in Georgia). We certainly can’t get the curriculum right yet — we’re decades away from reaching 100% of schools in any US state, with many, many teachers to prepare and to work with in a process of mutual adaptation.  I’m not opposed to defining curriculum, frameworks, and standards.  I’m opposed to thinking that we’re going to get it right — not today, when we have such a long road ahead of us.

The lessons that have to be learned time and again from earlier generations of school reformers are straightforward.

  • Build teacher capabilities in content and skills since both determine to what degree, if any, a policy gets past the classroom door.

  • With or without enhanced capabilities and expertise, teachers will adapt policies aimed at altering how and what they teach to the contours of the classrooms in which they teach. If policymakers hate teacher fingerprints over innovations, if they seek fidelity in putting desired reforms into practice, they wish for the impossible.

  • Ignoring both of the above lessons ends up with incomplete implementation of desired policies and sorely disappointed school reformers.

Source: Coding in Schools as New Vocationalism: Larry Cuban on What Schools are For | blog@CACM | Communications of the ACM

July 24, 2017 at 7:00 am 1 comment

Universities need more Blacks: How do we know if we’re making progress?

The below article is pretty stunning — a sitting justice on the Supreme Court calling out an elite University for a lack of diversity.  This isn’t just about the University of Michigan. This isn’t about computing, but it could be. Sotomayor is speaking about an important social need, where computing is part of the problem.  We see that in the Generation CS report. We are falling further behind in getting African Americans into CS. (An interesting side note here that Georgia Tech alumna, Sarita Yardi (whom I mentioned in this blog post), just won an award at the University of Michigan for her work in promoting diversity.)

Daryl Chubin sent me a workshop report on “Better STEM Outcomes: Developing an Accountability System for Broadening Participation.” How would we know if we’re doing better?  We could measure participation rates in Universities, but that will take time to change.  How do you know if you’re doing the right things now for success later? For example, what would you measure at the high school level that would suggest progress towards broader participation in the future at the undergraduate level?  It’s a good question — we’re far from where we need to be, but we need to take meaningful steps towards the goal of broad participation in computing.

U.S. Supreme Court Justice Sonia Sotomayor on Monday said future diversity on college campuses is a key to diversifying society at large, noting the lack of black students at the University of Michigan is a “real problem.”

Sotomayor, the first Hispanic on the Supreme Court and daughter of Puerto Rican-born parents, was asked by a moderator what a university will need to look like in the years ahead to be inclusive and innovative.

“It’s going to look a lot like Michigan,” she said to applause, “but with even greater diversity.” The percentage of black undergraduate students at the University of Michigan has been pretty steady in recent years at less than 5 percent. Hispanics are 5.5 percent. White undergraduates are 65.4 percent.

Source: Sotomayor says University of Michigan needs more blacks

July 14, 2017 at 7:00 am 1 comment

From Design of Everyday Things to Teaching of Everyday People: Human error? Student error? No, Bad Design

We have to accept human behavior the way it is, not the way we would wish it to be.

Continue Reading June 26, 2017 at 7:00 am 19 comments

We need to separate Computing for All from Software Development: Claims that coding is not “fun,” it’s technically and ethically complex

The problem with the article linked below is that and the author mean two different things by the word “programming.”  Programming can be fun, insightful, sloppy, small, and still useful without demanding “superhuman focus” and “manic attention to detail.”  This is an issue I’ve talked about with respect to the thick line between programmer and user where most people will be in the future. I’m teaching an ethics course this summer — building software for others is technically and ethically complex, as the author states.  But building software as an end-user, as a hobbyist, as a scientist or engineer exploring an idea?  We need a different word.

Programming computers is a piece of cake. Or so the world’s digital-skills gurus would have us believe. From the non-profit’s promise that “Anybody can learn!” to Apple chief executive Tim Cook’s comment that writing code is “fun and interactive,” the art and science of making software is now as accessible as the alphabet.

Unfortunately, this rosy portrait bears no relation to reality. For starters, the profile of a programmer’s mind is pretty uncommon. As well as being highly analytical and creative, software developers need almost superhuman focus to manage the complexity of their tasks. Manic attention to detail is a must; slovenliness is verboten. Attaining this level of concentration requires a state of mind called being “in the flow,” a quasi-symbiotic relationship between human and machine that improves performance and motivation.

Source: Coding is not “fun,” it’s technically and ethically complex — Quartz

June 19, 2017 at 7:00 am 5 comments

Using tablets to broaden access to computing education: Elliot Soloway and truly making CS for All

I recently had the opportunity to visit with my PhD advisor, Elliot Soloway. Elliot has dramatically changed the direction of his research since we worked together. And he’s still very persuasive, because now I keep thinking about his challenge to push educational technology onto the least expensive devices.

When I worked with Elliot in the late 1980’s and early 1990’s, we emphasized having lots of screen real estate. Though the little Macintosh Plus was still popular through much of that time, Elliot was hooking up 21-inch, two page displays for all our development and at the high schools where we worked. The theoretical argument was the value of multiple-linked representations (like in this paper from Bob Kozma). By giving students multiple representations of their program and their design, we would facilitate learning across and between representations. The goal was to get students to see programming as design.

But in the mid 1990’s, Elliot changed his direction to emphasize inexpensive, handheld devices. I remember asking him why at the time, and he pointed out that you could give 10 students access to these low-cost devices for one of the higher-end devices. And access trumps screens.

Now, Elliot has a project, Intergalactic Mobile Learning Center, that produces software for learning that runs on amazingly inexpensive computers. Go to and try out their all-HTML software on any of your devices.

I purchased an Amazon Fire HD 8 tablet last year as a media consumption device (reading, videos, and music). For less than $100, it’s an amazingly useful device that I carry everywhere since it’s light and mostly plastic. Here’s some of IMLC’s software running on my inexpensive tablet.

Teaching Computer Science on a Tablet

I have been arguing in this blog that we need a greater diversity of teaching methods in computer science, to achieve greater diversity and to teach students (and reach students) who fail with our existing methods. Elliot’s argument for inexpensive tablets has me thinking about the value for computing education.

If our only CS teaching method is “write another program,” then a tablet makes no sense. Typing on a tablet is more difficult than on a laptop or desktop computer. I have been arguing that we can actually teach a lot about coding without asking students to program. If we expand our teaching methods to those that go beyond simply writing programs, then a tablet makes a lot of sense.

Could a focus on using tablets to teach computer science drive us to develop new methods? If more CS teachers tried to use tablets, might that lead to greater adoption of a diverse range of CS teaching methods?

Elliot’s argument is about bridging the economic and digital divide. Can we use the low cost of tablets to break down economic barriers to learning computer science? Computing education via tablets may be key to the vision of CS for All. We can outfit a whole classroom with tablets much more cheaply than buying even mid-range laptops for an elementary or middle school classroom.  There are people suggesting that if we buy kids iPads, we’ll improve learning (e.g., Los Angeles schools).  I’m making the inverse argument.  If we as computing curriculum/technology developers and teachers figure out how to teach computing well with tablets, we’ll improve learning for everyone.

I started checking out what I could do with my less than $100 tablet. I was amazed! Moore’s Law means that the low-end today is surprisingly capable.

GP, the new blocks-based programming language that I’ve been working with (see posts here and here), runs really well on my Fire HD 8 tablet. In fact, it runs better (more functionality, more reliable, greater stability) in the browser of my Fire tablet than the browser-based GP does on my iPad Pro (which costs about a magnitude more).  (There is an iOS version of GP which is fast and stable, but doesn’t have all the features of the browser-based version.)

GP running on a Fire HD 8 Tablet — two Media Computation projects (mirroring on left, removing red eye on right)

Our ebooks run well on the Fire HD 8 tablet. I can program Python in our ebook using the tablet. Our approach in the ebooks emphasizes modification to existing programs, not just coding from scratch. Tweaking text works fine on the tablet.

Running Python code on the Fire HD 8 Tablet

A wide range of CS education practice activities, from multiple choice questions to Parsons Problems, work well on the Fire HD 8.

Parsons Problem on Fire HD 8 Tablet

I tried out WeScheme on my Fire HD 8, too.

I bought the cheapest Chromebook I could find for this trip. I wanted a laptop alternative to take to China and for commuting on the Barcelona subway, rather than my heavier and more expensive MacBook Air. All of these browser-based tools (GP, Python programming in the ebook, Parsons Problems) run great on my $170 Acer Chromebook, plus I get a keyboard. Even a Chromebook would require different teaching and learning methods than what we use in many CS courses. I’m not going to run Eclipse or even JES on a Chromebook. (Though Emacs has been ported to the Chromebook, it only runs on certain Chromebooks and not mine). Google is aiming to merge Chromebook and Android development so that apps run on both. I don’t really understand all the differences between tablets and Chromebooks, but I do know that Chromebooks are becoming more common in schools.

A Chromebook costs about twice what a low-end tablet costs. While that is still much less than most laptops, twice is a big markup for a poor student or a budget-strapped school. It’s worth pushing for the lowest end.

CS education researchers, developers, and teachers should explore teaching computing with tablets. Some are doing this already. The next version of Scratch will run on mobile phones, and the current version will already run on some phones and tablets. Creating CS learning opportunities on low-end tablets will make computing education more affordable and thus accessible to a broader range of potential CS students.  My proposal isn’t about offering the poor a cheaper, low-quality alternative. Tablets force us to expand and diversify our teaching methods, which will lead us to create better and more accessible computing education for all.

June 14, 2017 at 7:00 am 9 comments

We can teach women to code, but that just creates another problem: Why Computational Media is so female

I suspect that the problem described in this Guardian article is exactly what’s happening with our Computational Media degree program.  The BS in CM at Georgia Tech is now 47% female, while the BS in CS is only 20% female.  CM may be perceived as front-end and CS as back-end.

But here’s the problem: the technology industry enforces a distinct gender hierarchy between front-end and back-end development. Women are typecast as front-end developers, while men work on the back end – where they generally earn significantly more money than their front-end counterparts. That’s not to say that women only work on the front end, or that men only work on the back end – far from it. But developers tell me that the stereotype is real.

The distinction between back and front wasn’t always so rigid. “In the earliest days, maybe for the first 10 years of the web, every developer had to be full-stack,” says Coraline Ada Ehmke, a Chicago-based developer who has worked on various parts of the technology stack since 1993. “There wasn’t specialization.”

Over time, however, web work professionalized. By the late 2000s, Ehmke says, the profession began to stratify, with developers who had computer science degrees (usually men) occupying the back-end roles, and self-taught coders and designers slotting into the front.

Source: We can teach women to code, but that just creates another problem | Technology | The Guardian

May 19, 2017 at 7:00 am 3 comments

Hidden Figures of “Computer Science for All”

Nice piece by Ruthe on some of the heroes of the effort to make CS education available to everyone.

You might have noticed computer science and “coding” have become the cause du jour. Celebrities and athletes, governors and mayors, tech icons, and media giants have come out in support of reinvigorating K-12 computer science education in US schools. Coding is now a commonly known term and in January 2016, building on the momentum from the community, President Obama announced the Computer Science for All (CSforAll) initiative, a bold national call to make rigorous computer science (CS) education available to all American students and partner initiatives have formed nationwide including CS4TX, CS4RI, CodeVA and many more. CSforAll is here to stay.

Like every social movement in history, this change didn’t materialize overnight – and like the great social movements that have shaped our country – women have been integral to this movement. I am honored to present just a few of the “Hidden Figures” of K-12 computer science education.

Source: Hidden Figures of “Computer Science for All”

May 10, 2017 at 7:00 am Leave a comment

Older Posts

Recent Posts

July 2017
« Jun    


Blog Stats

  • 1,410,054 hits

Enter your email address to follow this blog and receive notifications of new posts by email.

Join 5,107 other followers

CS Teaching Tips