Beyond “Learning to Program” – Education Open-Source Culture and Structured Collaboration in Language

Two things I care about: Education and Science

  • I’ll be talking about education, because we only really have time for that.
  • NumFocus provides sponsorship to smaller open source projects that wouldn’t be able to survive on their own.


  • “People act through language” and I’m interested in exploring that with respect to education.
  • Obama administration announced “Computer Science For All”. Half of all STEM jobs will be related to Computer Science in 2 years.
  • Used to be “CP4E”: “Computer Programming for Everybody” worked on by Guido back in the mid-90s.
  • The origins of the Python Software Foundation come from this program.
  • 1999, “…what would the world look like if users could program their own computer?” DARPA funded CP4E proposal.
  • Highlighted
    • a new programming curriculum
    • A user-friendly programming environment
    • build community (Python is a demonstration of the success of this community)
  • Community -> culture -> language
    • Allows us to coordinate with each other to create value
    • More than just volunteer work
    • This culture makes it possible for people to create high-complexity projects together
    • ergo, the language and community plays a big role in education
  • “… we compare mass ability to write and modify software with mass literacy…” –CP4E proposal, 1999
  • 2006 Jeannette M Wing, Computational Thinking, Comm of the ACM. “It represents a universally applicable attitude and skill set everyone, not just computer scientists…
  • Computational Thinking was mentioned in the book “Mindstorms” 1980.
    • This was written by Seymour Papert who designed the “turtle” which was actually a physical robot before it was the robot on the screen that we all used.
  • “People act through language”
  • Winograd & Flores, 1986. Language/Action perspective
  • I learned about this when I was an undergrad in Valparaiso, Chile in a workshop with Fernando Flores
  • Learned about “conversations for action”
    • Came to the realization that when we’re having conversations, we’re actually working
    • The converse is true: when we work, we have to be having conversations

Fernando Flores

  • Fernando Flores
    • Famous invention was “Project CyberSyn, 1971”.
    • Implemented a system to manage the national economy over TELEX
    • See “Cybernetic Revolutions” book
    • See “Network World” 1994 article, Network Innovators
    • Was a political prisoner from 1973-1976 during the military coup
    • Came to the US and became a PhD student at UC Berkely in the late 70s
    • Worked with Terry Winograd, a CS professor at Stanford
      • Created “The Coordinator”
      • Sold half million copies
      • Communications of the ACM in May 2006 called the book a “groundbreaking textbook on system design”
      • Premise was that communication is for action, promises, requests, invitations, work, etc.

Conversations for Action

  • Converstaions for Action
    • Published recently in 2013
    • Edited essays from the 1980s
    • Should design conversations around the network of commitments that we make to each other
    • We make explicit promises to each other
    • Promises changes the future
    • When we fail to communicate, trust diminishes
  • Structure of a conversation for action
    • A makes a request or offer
    • B makes a promise or accepts
    • B declares to have delivered
    • A declares to be satisfies
    • Sometimes we forget about the final 2 steps
    • Of course, you also have to work and actually do things outside of this conversation
  • Full analysis has more outcomes
    • After A makes the request, there are 5 more outcomes
    • B accepts
    • B rejects
    • B negotiates
    • A can withdraw the request
    • A can modify the terms

Open Source Collaboration

  • Open source collaboration
    • In a pull request
      • contributor A wants project owner B to perform some action: pull new changes into their repo (review and merge)
      • B can decline; END
      • B can accept, and B will merge the PR -> the agreement is implicit
      • B can review, work will happen outside the conversation
      • B can counter, and a pull request discussion ensues
    • Commitment-based culture of collaboration
      • Commiter agrees to review the PR
      • GitHub Issues, project contribution policy: “Log an issue for any question or problem”
        • Implicit in that is a promise that issues will be reviewed
      • The genius of GitHub is that it has encapsulated an action based conversation in one button
      • Tool-of-the-trade in open-source world that supports the workflow and promises
  • Ed FOO
    • Tim O’Reilly’s session
      • Access to knowledge-on-demand is changing work for humans
      • With facts available at your fingertips, what do we need to teach?
      • “Critical thinking”… what does it actually mean?
      • What are the foundational skills of the modern age?
      • “How about the work of Terry Winograd?”
      • Expert behaviour comes from knowing what commitments to make and how to deliver on them
      • I think that this framework has permeated the Open Source culture
  • Back to CP4E
    • Develop a new curriculum
    • Better tools
    • Build a user community
    • Actively participate in the user mailing list to foster community
    • “…we design our organizations around the networks of commitments being made…” ~F. Flores
    • When people coordinate through commitments, trust grows, we strengthen community
    • “Building community” == “Building commitment”


  • Last year’s keynote by Gabriella Colman
    • Published “The ‘Con’”
    • The lasting effect of a conference are that any doubts about the individuals commitments are dispelled and the commitment is solidified
  • In education: Maker -> Hacker
  • Speech acts–Language rituals that build trust
    • also include offers, declarations, etc.
  • Language/Action Perspective
  • Online learning
    • can we have a platform as effective as GitHub for online learning?
    • Language/action perspective can help us do this
  • Core values for open source
    • Culture
    • Community
    • Commitment
    • Trust/Belonging
    • Language
  • If you’re an educator, move beyond the narrative of “Learning to code”. It’s more than just about coding. It’s about the language ritual that create the culture of commitment.

blog comments powered by Disqus


30 May 2016