Posts tagged ‘computing for everyone’

It’s not about “fixing women”! How Lucy Sanders tackles gender inequity: Data, research, humor

Lucy Sanders is one of my heroes, so I’m always happy to link to articles about her.  The point she’s making below is particularly interesting, and relates to previous posts about “grit” (see link here), and to the “lean in” phenomenon.

NCWIT isn’t just about getting women into tech jobs. It’s about getting women to share their perspective and knowledge. It’s about making sure women are not avoiding those leadership jobs or shirking from innovation because of something called unconscious bias.”There’s a big conversation going on now with what we call ‘fixing women.’ You hear things like ‘If women were just more confident.’ Or ‘If women were only better risk takers.’ We don’t subscribe to that. And we don’t subscribe to men being the biased, evil ones because research shows that all of us have this bias about who does technology,” Sanders said. “The ultimate goal, of course, is to make sure women and men are innovating equally in technology.”

Source: How Lucy Sanders tackles gender inequity: Data, research, humor – The Denver Post

November 23, 2015 at 8:46 am Leave a comment

A CS Education Research Class Syllabus

I’m teaching a graduate special-topics course on Computer Science Education Research this semester.  Several folks have asked me about what goes into a class like that.  Here’s the syllabus (from our “T-Square” Sakai site).  The references to “Guzdial” below are to my new book, Learner-Centered Design for Computing Education that I just turned in to Morgan & Claypool on Nov. 15. Should be available by the end of the year.

This class would look different if it was in Education, rather than in Computer Science.  For example, there might be less on tools.  The sessions where we consider how CS Ed Research appears at CHI and IDC may no longer be relevant.  Instead, I could imagine work contextualizing CS Education Research in mathematics education or science education.  I would expect to see sessions on equity, on teacher development, and on computing in schools.


CS8803: Computer Science Education Research

College of Computing Building Room 52, 9:35-10:55 T/Th

Teacher: Mark Guzdial,, TSRB 324/329

Office Hours:: By appointment

Course Overview: Introduction to computing education research (CER). History and influential early work. Learning goals for different populations, with particular attention to broadening participation in computing. Connections to research in learning sciences, educational psychology, science education. Design of research studies in CER, including Multi-Institutional Multi-National, laboratory, and classroom studies.

Textbook: We’ll be using readings from the ACM Digital Library (feely available on campus), and Guzdial’s new monograph Learner-Centered Design of Computing Education (draft available here in Resources, and eventually at the Morgan & Claypool site We’ll use other readings that are available on the Web or via the Resources folder on T-Square.


  • 30%: Do 5 Reading Reflections. There are 6 opportunities for reading assignments. Students can skip one. Reading reflections are marked check or minus (something needs to be fixed). All reading reflections should be typed, with font >= 11 pt. No reading reflection should be longer than 3 pages typed and single spaced.
  • 15%: Class participation. Class time will be interactive, with little lecture. It’s a significant part of the learning in the class to participate. (The programming assignment is part of class participation.)
  • 10%: Research Study Re-Design. Redesign a research study from a published paper (referenced in Guzdial or published in ICER, SIGCSE, RESPECT, or ITICSE), to improve on the scope and findings. Due Oct 20.
  • 10% Where would you use this?. Try out any of Scratch, Alice, App Inventor, Snap, StarLogo, NetLogo, Blockly, or Pencil Code. Knowing what you know from class, would you recommend this environment? When? For whom? To learn what? Write a short (2-3 page) paper. Due Nov. 19.
  • 10%: Research Question White Paper. Write a short (3-4 pages) white paper defining a research question that’s worth exploring in CER. Explain why it’s an important, interesting, and answerable question. Identify the research community that you are speaking to with this research question. Think first section of an NSF proposal. Due Nov 12.
  • 25%: Research Study Design. Propose a study to explore the your unique research question. Think NSF proposal. Plan on 6-10 pages. 15% on paper due Nov 24. 10% on 10 minute presentation (5 minute Q&A) during last week of class.


Week 1

Aug 18: Introduction to class

  • Who are you and what is your experience with computing education?
  • Small Group Discussion: What do you want to know about computing education research? What do you think is unknown and worth exploring?

Aug 20: Computing for Everyone. Read Chapter 1 of Guzdial.

  • Come in with a quote that’s “interesting”
  • Pro/Con Debate: “We should teach computing to everyone.”

Week 2

Aug 25: Learning Sciences

Aug 27: The Challenges of Learning Programming. Read Chapter 2 of Guzdial.

  • Come in with a quote that’s “interesting”
  • Small group activity: What’s your hypothesis for why programming is hard? How would you test your hypothesis?
  • Reading Reflection: Using ideas and quotes from Chapter 1 and 2 of “How People Learn” to explain what’s hard about learning to program.

Week 3

Sep 1: Read Multi-institutional, multi-national studies in CSEd Research: some design considerations and trade-offs (ACM DL link)

  • Come in with a quote that’s “interesting”
  • Compare and contrast: Randomized-control trials (see definition) vs. longitudinal studies (see definition) vs. MIMN studies.
    • What are each good for?
    • Why not use more RCT and longitudinal studies in computing education?

Sep 3: Read Computational Thinking and Using Programming to Learn in Guzdial

  • Generate a list: What are examples of computational thinking?
  • Small group activity: Have you ever used programming to help you learn something else? What are the characteristics of when programming helps and when it gets in the way?

Week 4

Sep 8: Read the first Chapter of Changing Minds at this link and Weintrop and Wilensky from ICER 2015 (ACM DL link)

  • Generate a list: What are characteristics of programming environments that support learning?
  • Small group activity: How do characteristics of programming for software development and for learning differ?
  • Reading Reflection: Identify some testable claims about Boxer in diSessa’s chapter. How would you test that claim?

Sep 10: Read Media Computation and Contextualized Computing Education in Guzdial

  • Come in with a quote that’s “interesting”
  • A mini-lecture with peer instruction and prediction using Media Computation.
  • Reading Reflection: When might contextualized computing help, and where might it not?

Week 5

Sep 15: Write a program to create something of interest or answer a question of interest before coming to class.

  1. Either download JES (from Github link) and create a picture or sound that you find interesting.
  2. Or Download Python (recommend using the Enthought install) and use the Computational Freakonomics website and course notes to answer a question of interest.
  3. Or use the CSPrinciples Ebook Data Chapters to answer a question about pollution in states.

Be prepared to show what you made or what you learned in class.

Come to class ready to answer two questions:

  • Did this motivate you to learn more about CS or the context?
    • Where did programming get in the way, and where did it help?

Sep 17: Read Adults as Computing Learners in Guzdial.

  • Come in with a quote that’s “interesting”
  • Small group activity: What’s similar and dissimilar between the teachers and the graphic designers? Identify another class of adults who might need to learn computing. Which group are they more like?

Week 6

Sep 22: Read The state of the art in end-user software engineering (ACM DL link)

  • Come in with a quote that’s “interesting”
  • Build two lists: Features of a programming environment that support end-user programming and those that support learning about computing by end-user programmers.

Sep 24: Read Learner-Centered Computing Education for CS Majors by Guzdial

  • Come in with a quote that’s “interesting”
  • Small group activity: Come up with examples from your own experience of (a) CS education that you see as learner-centered and (b) CS education that was not learner-centered.
  • Reading Reflection: Contrast the adults in Chapter 5 and the non-majors in Chapter 6 with the CS majors in Chapter 7. What’s similar and what’s different about their learning and the support that they need?

Week 7

Sep 29: Read one of:

  • Spatial Skills Training in Introductory Computing (see ACM DL link)
  • Subgoals, Context, and Worked Examples in Learning Computing Problem Solving (see ACM DL link)
  • Boys’ Needlework: Understanding Gendered and Indigenous Perspectives on Computing and Crafting with Electronic Textiles (see ACM DL link)

Come to class ready (a) to summarize your paper and (b) to support/refute these three hypotheses:

  • We ought to add spatial skills training in all introductory CS courses.
  • We ought to use subgoal-labeled worked examples in all introductory CS courses.
  • We have to consider gender and cultural relevance in designing all introductory CS courses.
  • Reading Reflection: You are the Director of Georgia Tech’s Division of Computing Instruction. You may implement one change across all of your introductory courses, and you have very little budget. What will you change?

Oct 1: Read Towards Computing for All in Guzdial.

  • Come in with a quote that’s “interesting”
  • BIG list: What do we most need to know to advance computing for all? Where are the research gaps?
  • Everyone leave with a personal list of the top three research gaps that you find most interesting.
  • Reading Reflection: Pick any paper referenced in Guzdial that we did not read separately in this class. Read it and summarize it for me.

Week 8

Oct 6: Read Margulieux and Madden’s “Educational Research Primer” (in class Resources)

  • Small group activity: For your favorite research gaps, what research methods would you use to fill some of that gap?
  • Group activity list: What are the research methods that we need to learn more about?

Oct 8: RESEARCH METHODS: Based on the Oct 6 discussion, we’ll pick a paper or two to read here to inform our knowledge of research methods.

Newer Research

Week 9

Oct 13: No class! Fall Break.

Oct 15: RESEARCH METHODS: Based on the Oct 6 discussion, we’ll pick a paper or two to read here to inform our knowledge of research methods.

  • Discussion of Research Project: You don’t have to do it. You do have to design it.
    • First step: Define your question (due Nov 10), and make it answerable.
    • Second step: Tell us how you’d answer it.

Older Research

Week 10

Oct 20: Research Re-Design Due Here By 5 pm.

Oct 22: Read CE21 and IUSE proposals in Resources. (Note: They both weren’t funded in this form.)

  • Group Dissection:
    • What are the research questions?
    • What are the hypotheses?
    • What are the research methods?
  • Small group: Is this do-able? Would you give it a thumbs-up or a thumbs-down?

Week 11

Oct 27: What’s involved in reaching and studying populations at large-scale? Large scale: Read 37 Million Compilations: Investigating Novice Programming Mistakes in Large-Scale Student Data (ACM DL link) and Programming in the wild: trends in youth computational participation in the online scratch community (ACM DL link)

  • Come in with a quote that’s “interesting”
  • Two lists: What can we know from looking at these kinds of data, and what can’t we know?

Oct 29: What’s involved in reaching and studying populations at small-scale? Small scale interviews/phenomenography: Read Graduating students’ designs: through a phenomenographic lens (ACM DL link)

  • Come in with a quote that’s “interesting”
  • Small group discussion: What can we answer with a phenomengraphic approach that we can’t learn (easily) in other ways?

Week 12

Nov 3: What’s involved in reaching and studying populations in high school? In the High School: Read A Crafts-Oriented Approach to Computing in High School: Introducing Computational Concepts, Practices, and Perspectives with Electronic Textiles (ACM DL link)

  • Come in with a quote that’s “interesting”
  • Storytime: Sharing stories about getting into K-12 schools.

Nov 5: CS Education Research in CHI. Read Learning on the job: characterizing the programming knowledge and learning strategies of web designers (ACM DL link) and Programming in the pond: a tabletop computer programming exhibit (ACM DL link)

  • Come in with a quote that’s “interesting”
  • Group list: What makes a CHI paper different from an ICER paper?

Week 13

Nov 10: CS Education Research in IDC. Read Strawbies: explorations in tangible programming (ACM DL link) and “Let’s dive into it!”: Learning electricity with multiple representations (ACM DL link)

  • Come in with a quote that’s “interesting”
  • Group list: What makes an IDC paper different?

Nov 12: Research White Paper Due Here

CS Ed Research at Georgia Tech. Read one of Betsy DiSalvo’s papers — your choice.

  • Come in with a quote that’s “interesting”
  • Small group: Contrast Betsy’s research questions and methods with those of Mark’s and his students.

Week 14

Nov 17: CS Ed Research at Georgia Tech. Read Engaging underrepresented groups in high school introductory computing through computational remixing with EarSketch (ACM DL link) and EarSketch: A Web-based Environment for Teaching Introductory Computer Science Through Music Remixing (ACM DL link)

  • Group list:
    • What are the research questions for EarSketch?
    • What are the research hypotheses?
    • What are the research methods?

Nov 19: Try it out! Hand in your Where would you use this? papers before class. Come to class prepared to demo the environment you picked.

  • Debate: For a set of audiences and learning goals that we define in class, argue for your environment to meet that need.

Week 15

Nov 24: Research Design Paper Due Here.

Nov 26: No Class! Eat Turkey.

Week 16

Dec 1: Present Research Designs

Dec 3: Present Research Designs

November 18, 2015 at 8:22 am 1 comment

Barbara Ericson’s 2015 AP CS demographics analysis: Still No African-Americans Taking the AP CS Exam in 9 States


Normally, this is the time of the year when Barb writes her guest post about the AP CS exam-taker demographics.  She did the analysis, and you can get the overview at this web page and the demographics details at this web page.

But before we got a chance to put together a blog post, Liana Heitin of EdWeek called her for an interview.  They did a nice job summarizing the results (including interactive graphs) at the article linked below.

Some of the more interesting points (from Liana’s article):

No girls took the exam in Mississippi, Montana, or Wyoming. (Though Montana had no test-takers at all, male included, this year. Wyoming, which previously had no students take the test, had three boys take the exam in 2015).

Hawaii had the largest percentage of female test-takers, with 33 percent.

The overall female pass rate went up 3 percentage points, to 61 percent, from the year before.

Twenty-four girls took the test in Iowa, and 100 percent of them passed.”You don’t usually see 100 percent passing with numbers that big,” said Ericson. “Maybe five out of five pass. But 24 out of 24 is pretty cool.”

No African-American students took the exam in nine states: Idaho, Mississippi, Montana, New Hampshire, New Mexico, North Dakota, South Dakota, Utah, and Wyoming. That’s better than last year, though, when 13 states had no African-American test-takers.

Notably, Mississippi has the highest population of African-Americans—about half of the state’s high school graduates last year were black, according to the Western Interstate Commission for Higher Education. Yet of the five AP computer science test-takers, all were white or Asian and male.

Source: Still No African-Americans Taking the AP Computer Science Exam in Nine States – Curriculum Matters – Education Week

November 9, 2015 at 7:28 am 6 comments

Are there some students who can’t learn how to code? Teachers must always answer “No!”

The below-linked article does a good job of considering the argument about whether everyone can learn to program, and comes to the same conclusion that I do — a CS teacher must always believe that everyone can learn to program.

Indeed, one can find a good number of opinionators weighing in on the subject. In “Separating Programming Sheep from Non-Programming Goats,” Stack Exchange co-founder Jeff Atwood cites Bornat’s initial paper and concludes, “the act of programming seems literally unteachable to a sizable subset of incoming computer science students.” Linux creator Linus Torvalds has been quoted as saying, “I actually don’t believe that everybody should necessarily try to learn to code” — although, he does propose that people be exposed to it to see if they have “the aptitude.” Clayton Lewis of the University of Colorado at Boulder conducted a survey in which 77% of responding computer science faculty strongly disagreed with the statement “Nearly everyone is capable of succeeding in the computer science curriculum if they work at it.” As a “bright-eyed beginner” (with a scant 15 years of introductory programming teaching under my belt), it’s hard for me to accept the assertion that there are “some who can’t.” Such reasoning smacks of elitism and prejudice, even if such attitudes aren’t expressed consciously.

Of course, I’ll be the first to admit that my own opinion rests heavily on my own preconceptions: I’ve always had that “Montessori feeling” — every interested student should be given a chance to try, and sometimes fail, in a supportive environment.So, rather than give up on some, shouldn’t educators themselves keep trying? The inverse to the question “are there some students who can’t learn?” is this question, “are there some students whom our (current) teaching methods can’t reach?” The first question by itself implies a “yes,” and thus closes a door on some students. The second question opens up a world of inquiry: if basic coding concepts are truly so simple (as they truly are once the abstraction is understood), what do we need to do to bring the hard cases home?

Source: Are there some students who can’t learn how to code? – O’Reilly Radar

November 2, 2015 at 8:03 am 14 comments

Jeff Atwood says “Learning to code is overrated” but means “We need good CS teachers”

I’ve written responses to comments like Atwood’s before.  His perspective on “coding” is too limited, and he isn’t realizing that being a user and being a programmer is where most people will be (see the “fat line” blog post here).  That “provide them plenty of structured opportunities to play with hardware and software” is a pretty good definition of one kind of “teaching kids ‘computer science.'”  We need that.  But the kids who only need opportunities to “play” in order to learn tend to be highly privileged (see the “rich boys” blog post here).  Nobody wants kids to just “type in pedantic command words in a programming environment.” That’s a good definition of poor computing teaching.  We need good teachers who know how to support a range of students with different kinds of scaffolding.

So what Atwood is really saying that we need good CS teaching.  Yup, you need a lot of that in NYC — I agree.

If you want your kids to have a solid computer science education, encourage them to go build something cool. Not by typing in pedantic command words in a programming environment, but by learning just enough about how that peculiar little blocky world inside their computer works to discover what they and their friends can make with it together. We shouldn’t be teaching kids “computer science.” Instead, we should provide them plenty of structured opportunities to play with hardware and software. There’s a whole world waiting to be unlocked.

Source: Jeff Atwood: Learning to code is overrated – NY Daily News

October 26, 2015 at 7:55 am 9 comments

Requirements for a Computing-Literate Society: VL/HCC 2105 Keynote

I gave a keynote talk at VL/HCC 2015 (see the program here) on Tuesday morning.  Here is the abstract, the short form outline, and a link to the slides on

Abstract: We share a vision of a society that is able to express problems and ideas computationally. Andrea diSessa called that computational literacy, and he invented the Boxer Programming Environment to explore the media of computational literacy. Education has the job of making citizens literate. Education systems around the world are exploring the question of what should all citizens know about computing and how do we provide that knowledge. The questions being asked are about public policy, but also about what does it mean to be expressive with computation and what should computing users know. The answers to these questions have implications for the future of human-centric computing.


I. Our Job: The first computer scientists set the goal to achieve a Computing-Literate Society.

II. Challenges to Achieving a Computing-Literate Society
Access and Diversity
Inverse Lake Wobegon Effect
Unanswered research questions of policymakers

III. Inventing New Kinds of Computing Education
Story #1: Contextualized Computing Education.
Story #2: Understanding the Needs of High School CS Teachers.


October 21, 2015 at 8:13 am 2 comments

Harvard student newspaper calls for University to curtail CS50

At first blush, the Harvard Crimson‘s call seems a stark contrast to the Berkeley student’s call for more access to CS (see previous post here).  I hear both student articles asking for the same thing — computing as a literacy to which everyone gets access.

CS50 is a phenomenon.  Set aside the “CS50 paraphernalia” described below.  CS50 has pizza parties and all night hackathons, sponsored by Facebook.  Events are held at the Microsoft New England Research and Development Center.  It’s probably the richest and most privileged CS class in the world.  If you got into Harvard, and were excited to learn to code, CS50 is absolutely the class you want to be in — and you’re going to get an experience that matches your expectations.

Check out the syllabus for CS50 (linked here). This is a hard-core, intense computer science class for computer science students.  It runs on the CS50 appliance in Ubuntu Linux.  The course covers C, PHP, and SQL.

When I visited Harvard’s Graduate School of Education last year, I met students who really wanted to learn computer science.  They wanted to learn CS in order to teach it.  They wanted to learn about Scratch and Blockly, Greenfoot and BlueJ, Media Computation and CS Principles.  That’s not the goal of CS50, but the CS50 size and culture sucks all the air out of the room.  There’s not going to be another introductory CS course taught when Harvard has CS50 on its hands and in its checkbook.

The Harvard Crimson is saying that they want classes, liberal arts style classes, not phenomena. If it was just a normal class, maybe you could offer more than one of them?  Maybe some aimed at other kinds of introductory CS needs?

Outside of the classroom, however, CS50 is anything but the liberal arts course its creators proclaim. Its unprecedented corporate sponsorship ensures that the course has an unmatched visibility on campus.No other course gives away and sells merchandise en masse to its students and fan base. T-shirts, umbrellas, aprons, stress balls, M&Ms, and other CS50 paraphernalia are ubiquitous on Harvard’s campus. No other course makes the first five weeks—that is, the add-drop period—significantly easier than the proceeding eight weeks of the semester, luring less confident students until it’s too late to turn back. In no other course on Harvard’s campus are students allowed to simultaneously register for conflicting courses, even if they too are filmed. No other course has disciplinary procedures that bypass the Ad Board. No other course has seen reports that TFs are instructed to decline to give comment on the course to The Crimson before conferring first with the professor.

Source: Harvard Should Curtail CS50 | Opinion | The Harvard Crimson

October 7, 2015 at 7:35 am 2 comments

Older Posts

Recent Posts

November 2015
« Oct    


Blog Stats

  • 1,155,655 hits

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

Join 3,668 other followers

CS Teaching Tips


Get every new post delivered to your Inbox.

Join 3,668 other followers