Author Archive

The Invented History of ‘The Factory Model of Education': Personalized Instruction and Teaching Machines aren’t new

When I was a PhD student taking Education classes, my favorite two-semester sequence was on the history of education.  I realized that there wasn’t much new under the sun when it comes to thinking about education.  Ideas that are key to progressive education movements date back to Plato’s Republic: “No forced study abides in a soul…Therefore, you best of men, don’t use force in training the children in the studies, but rather play. In that way you can also better discern what each is naturally directed toward.”  Here we have learning through games (but not video games in 300BC) and personalized instruction — promoted over 2400 years ago.  I named my dissertation software system Emile after Rousseau’s book with the same name whose influence reached Montessori, Piaget, and Papert decades later.

Audrey Watters takes current education reformers to task in the article linked below.  Today’s reformers don’t realize the history of the education system, that many of the idea that they are promoting have been tried before. Our current education system was designed in part because those ideas have already failed.  In particular, the idea of building “teaching machines” as a response to “handicraft” education was suggested over 80 years ago.  Education problems are far harder to solve than today’s education entrepreneurs realize.

Many education reformers today denounce the “factory model of education” with an appeal to new machinery and new practices that will supposedly modernize the system. That argument is now and has been for a century the rationale for education technology. As Sidney Pressey, one of the inventors of the earliest “teaching machines” wrote in 1932 predicting “The Coming Industrial Revolution in Education,”

Education is the one major activity in this country which is still in a crude handicraft stage. But the economic depression may here work beneficially, in that it may force the consideration of efficiency and the need for laborsaving devices in education. Education is a large-scale industry; it should use quantity production methods. This does not mean, in any unfortunate sense, the mechanization of education. It does mean freeing the teacher from the drudgeries of her work so that she may do more real teaching, giving the pupil more adequate guidance in his learning. There may well be an “industrial revolution” in education. The ultimate results should be highly beneficial. Perhaps only by such means can universal education be made effective.

via The Invented History of ‘The Factory Model of Education’.

The reality is that technology never has and never will dramatically change education (as described in this great piece in The Chronicle).  It will always be a high-touch endeavor because of how humans learn.

Education is fundamentally a human activity and is defined by human attention, motivation, effort, and relationships.  We need teachers because we are motivated to make our greatest efforts for human beings with whom we have relationships and who hold our attention.

In the words of Richard Thaler, there are no Econs (see recommended piece in NYTimes).

May 25, 2015 at 7:30 am 3 comments

Two weeks in Germany: Human-centered software development and STEM Ed PhD students and Risk

I’m leaving May 24 for a two week trip to Germany. Both one week parts are interesting and worth talking about here. I’ve been reflecting on my own thinking on the piece between, and how it relates to computing education themes, too.

I’m attending a seminar at Schloss Dagstuhl on Human-Centric Development of Software Tools (see seminar page here). Two of the seminar leaders are Shriram Krishnamurthi of Bootstrap fame who is a frequent visitor and even a guest blogger here (see post here) and Andy Ko whose seminal work with Michael Lee on Gidget has been mentioned here several times (for example here). I’ve only been to Dagstuhl once before at the live-coding seminar (see description here) which was fantastic and has influenced my thinking literally years later. The seminar next week has me in the relative-outsider role that I was at the live-coding seminar. Most of the researchers coming to this event are programming language and software engineering researchers. Only a handful of us are social scientists or education researchers.

The Dagstuhl seminar ends Thursday after lunch. Saturday night, I’m to meet up with a group in Oldenburg Germany and then head up Sunday to Stadland (near the North Sea) for a workshop where I will be advising STEM Education PhD students. I don’t have a web link to the workshop, but I do have a page about the program I’ll be participating in — see here. My only contact there is Ira Diethelm, whom I’ve met several times and saw most recently at WIPSCE 2014 in Berlin (see trip report here). I really don’t know what to expect. Through the ICER DC and WIPSCE, I’ve been impressed by the Computing Education PhD students I’ve met in Germany, so I look forward to an interesting time. I come back home on Friday June 5 from Bremen.

There’s a couple day gap between the two events, from Thursday noon to Saturday evening. I got a bunch of advice on what to do on holiday. Shriram gave me the excellent advice of taking a boat cruise partway north, stopping at cities along the way, and then finishing up with a train on Saturday. Others suggested that I go to Cologne, Bremen, Luxembourg, or even Brussels.

I’ve decided to take a taxi to Trier from Dagstuhl, tour around there for a couple days, then take a seven hour train ride north on Saturday. Trier looks really interesting (see Tripadvisor page), though probably not as cool as a boat ride.

Why did I take the safer route?

The science writer, Kayt Sukel, was a once student of mine at Georgia Tech — we even have a pub together. I am so pleased to see the attention she’s received for her book Dirty Minds/This is Your Brain on Sex. She has a new book coming out on risk, and that’s had me thinking more about the role of risk in computing education.

In my research group, we often refer to Eccles model of academic achievement and decision making (1983), pictured below. It describes how students’ academic decisions consider issues like gender roles and stereotypes (e.g., do people who are like me do this?), expectation for success (e.g., can I succeed at this?), and the utility function (e.g., will this academic choice be fun? useful? money-making?). It’s a powerful model for thinking about why women and under-represented minorities don’t take computer science.


Eccles’ model doesn’t say much about risk. What happens if I don’t succeed? What do I need to do to reduce risk? How will I manage if I fail?  How much am I willing to suffer/pay for reduced risk?

That’s certainly playing into my thinking about my in-between days in Germany. I don’t speak German. If I get into trouble in those in-between days, I know nobody I could call for help. I still have another week of a workshop with a keynote presentation after my couple days break. I’ve already booked a hotel in Trier. I plan on walking around and taking pictures, and then I will take a train (which I’ve already booked, with Shriram’s help) to Oldenburg on Saturday. A boat ride with hops into cities sounds terrific, but more difficult to plan with many more opportunities for error (e.g., lost luggage, pickpockets). That’s managing risk for me.

I hear issues of risk coming into students’ decision-making processes all the time, combined with the other factors included in Eccles’ model. My daughter is pursuing pre-med studies. She’s thinking like many other pre-med students, “What undergrad degree do I get now that will be useful even if I don’t get into med school?” She tried computer science for one semester, as Jeanette Wing recommended in her famous article on Computational Thinking: “One can major in computer science and go on to a career in medicine, law, business, politics, any type of science or engineering, and even the arts.” CS would clearly be a good fallback undergraduate degree. She was well-prepared for CS — she had passed the AP CS exam in high school, and was top of her engineering CS1 in MATLAB class.  After one semester in CS for CS majors, my daughter hated it, especially the intense focus on enforced software development practices (e.g., losing points on homework for indenting with tabs rather than spaces) and the arrogant undergraduate teaching assistants. (She used more descriptive language.) Her class was particularly unfriendly to women and members of under-represented groups (a story I told here). She now rejects the CS classroom culture, the “defensive climate” (re: Barker and Garvin-Doxas). She never wants to take another CS course. The value of a CS degree in reducing risks on a pre-med path does not outweigh the costs of CS classes for her. She’s now pursuing psychology, which has a different risk/benefit calculation (i.e., a psychology undergraduate degree is not as valuable in the marketplace as a CS undergraduate degree), but has reduced costs compared to CS or biology.

Risk is certainly a factor when students are considering computer science. Students have expectations about potential costs, potential benefits, and about what could go wrong. I read it in my students’ comments after the Media Computation course.  “The course was not what I expected! I was expecting it to be much harder.” “I took a light load this semester so that I’d be ready for this.”  Sometimes, I’m quite sure, the risk calculation comes out against us, and we never see those students.

The blog will keep going while I’m gone — we’re queued up for weeks. I may not be able to respond much to comments in the meantime, though.

May 22, 2015 at 7:48 am Leave a comment

Congratulations to Bill Wulf, 2014 ACM Karl V. Karlstrom Outstanding Educator Awardee

William Wulf is the 2014 recipient of the ACM Karl V. Karlstrom Outstanding Educator Award

Wulf is recognized for contributions as a teacher, author, and national leader who focused attention and changed the national education agenda and in the process supported the needs of underserved and under-represented students. As Assistant Director of the National Science Foundation’s Directorate for Computer and Information Science & Engineering (CISE), he understood the role NSF played in supporting science and engineering in the US for both basic research and operation of several high performance computing centers and networks. As President of the US National Academy of Engineering, he advocated for advances in engineering education and technical literacy. Wulf is professor emeritus of Computer Science at the University of Virginia. An ACM Fellow, he received the 2011 ACM Distinguished Service Award.

via Karl V. Karlstrom Outstanding Educator Award – ACM Award.

May 20, 2015 at 7:42 am Leave a comment

Using Learning Sciences to Inform Cyber Security Education

I’m giving the keynote talk at the 2015 International Security Education Workshop at Georgia Tech today. I’ve never spoken on cyber security before, so the talk was challenging and fun to put together. I used some of the learning sciences research we’ve done in computing education to draw connections to cyber security education. The lessons I highlight are:

  • Context matters.  People only learn when they understand why the learning is useful.
  • Identity matters.  People who reject computer science (and that’s most people) will likely reject cyber security education, even if they need to know it.  The cyber security learning that they need to know has to meet their identity and expectations. Don’t expect them to change who they are and what they think is important.
  • Structure matters.  Teaching something well, like using subgoal labeling, can dramatically improve learning.


(Click on the image below to get to the Slideshare site)

First slide of talk

May 18, 2015 at 9:30 am 5 comments

JES 5.02 Now Released, and Media Computation 4th Edition Slides Available

JES 5.02 is now released at  I have links to all the main downloads at .

This is a maintenance release.  Thanks to Nina Koch’s student, Henry, we have fixes for colorizing and some other problems.  Henry has also written code to allow for capture of keystrokes and mouse movement in a picture window, so that you could build some simple games.  I’ll save that for JES 5.10.
I don’t do JES releases that often, so in-between, I forget how painful cross-platform development is. JES is all written in Java and Jython, which means we “write once, test everywhere.”  I developed mostly on Mac OS X, but makensis (for Windows Installers) doesn’t work on Mac OS X.  So I ran Ubuntu in VirtualBox to build the Windows installer and test the Linux version.  But I still had to test on Windows (e.g., to make sure that the Sound Explorer was fixed).  It’s all details —  ls here vs. dir/w there, can’t install Oracle Java from Ubuntu installer, remembering sudo apt-get, Lenovo toolkit updater interrupting installations…
From Github:
 Fixes in JES 5.02 (with many thanks to HenryStevens and sportsracer48 for fixes):
  • Fixes a problem if you quit during raw_input that you can’t do another raw_input
  • Makes the Sound explorer fully functional again
  • Fixes colorizing
  • Makes autosave work again
  • Fixes a threading error if you hit return too rapidly in the Command Area
  • Unicode characters in input file get flagged. (Jython can’t execute a line with unicode characters on it.)

In addition,

You can find all the fourth edition Powerpoint slides (including a 68Mb zip of all of them) at I’ve put some of the Peer Instruction question slides into the chapter PPT slide decks, but you can find more at the instructors-only website (see the Media Computation website for more on the teacher website).

Most of the changes are in the early chapters. Chapter 3 on text and language manipulation is all new. The latter chapter PPT slide decks have a few new slides in each deck, including:

  • Creating state-preserving versions of picture manipulation functions in Chapter 16 on Functional Programming
  • Subclassing Picture and Sound to move functions into methods in Chapter 17 on Object-oriented Programming
  • Recursive turtle patterns, which are possible with an improved Turtle class in JES 5 in Chapter 17

May 15, 2015 at 7:59 am Leave a comment

How to Teach Computer Science with Media Computation

In the Preface to the new 4th ed book, I wrote a bit about what we know about how to teach computer science using Media Computation.  These are probably useful in most CS classes, even without Media Computation:

Over the last 10 years, we have learned some of the approaches that work best for teaching Media Computation.

  • Let the students be creative. The most successful Media Computation classes use open-ended assignments that let the students choose what media they use. For example, a collage assignment might specify the use of particular filters and com- positions, but allow for the student to choose exactly what pictures are used. These assignments often lead to the students putting in a lot more time to get just the look that they wanted, and that extra time can lead to improved learning.
  • Let the students share what they produce. Students can produce some beautiful pictures, sounds, and movies using Media Computation. Those products are more motivating for the students when they get to share them with others. Some schools provide online spaces where students can post and share their products. Other schools have even printed student work and held an art gallery.
  • Code live in front of the class. The best part of the teacher actually typing in code in front of the class is that nobody can code for long in front of an audience and not make a mistake. When the teacher makes a mistake and fixes it, the students see (a) that errors are expected and (b) there is a process for fixing them. Coding live when you are producing images and sounds is fun, and can lead to unexpected results and the opportunity to explore, “How did that happen?”
  • Pair programming leads to better learning and retention. The research results on pair programming are tremendous. Classes that use pair programming have better retention results, and the students learn more.
  • Peer instruction is great. Not only does peer instruction lead to better learning and retention outcomes, but it also gives the teacher better feedback on what the students are learning and what they are struggling with. We strongly encourage the use of peer instruction in computing classes.
  • Worked examples help with learning creativity. Most computer science classes do not provide anywhere near enough worked-out examples for students to learn from. Students like to learn from examples. One of the benefits of Media Computation is that we provide a lot of examples (we’ve never tried to count the number of for and if statements in the book!), and it’s easy to produce more of them. In class, we do an activity where we hand out example programs, then show a particular effect. We ask pairs or groups of students to figure out which program generated that effect. The students talk about code, and study a bunch of examples.

May 13, 2015 at 8:09 am 2 comments

Important paper at SIGCSE 2015: Transferring Skills at Solving Word Problems from Computing to Algebra Through Bootstrap

I was surprised that this paper didn’t get more attention at SIGCSE 2015.  The Bootstrap folks are seeing evidence of transfer from the computing and programming activities into mathematics performance.  There are caveats on the result, so these are only suggestive results at this time.

What I’d like to see in follow-up studies is more analysis of the students.  The paper cited below describes the design of Bootstrap and why they predict impact on mathematics learning, and describes the pre-test/post-test evidence of impact on mathematics.  When Sharon Carver showed impact of programming on problem-solving performance (mentioned here), she looked at what the students did — she showed that her predictions were met.  Lauren Margulieux did think-aloud protocols to show that students were really saying subgoal labels to themselves when transferring knowledge (see subgoal labeling post).  When Pea & Kurland looked for transfer, they found that students didn’t really learn CS well enough to expect anything to transfer — so we need to demonstrate that they learned the CS, too.

Most significant bit: Really cool that we have new work showing potential transfer from CS learning into other disciplines.

Many educators have tried to leverage computing or programming to help improve students’ achievement in mathematics. However, several hopes of performance gains—particularly in algebra—have come up short. In part, these efforts fail to align the computing and mathematical concepts at the level of detail typically required to achieve transfer of learning. This paper describes Bootstrap, an early-programming curriculum that is designed to teach key algebra topics as students build their own videogames. We discuss the curriculum, explain how it aligns with algebra, and present initial data showing student performance gains on standard algebra problems after completing Bootstrap.

via Transferring Skills at Solving Word Problems from Computing to Algebra Through Bootstrap.

May 11, 2015 at 7:44 am 6 comments

Older Posts

Recent Posts

May 2015
« Apr    


Blog Stats

  • 1,066,642 hits

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

Join 3,603 other followers

CS Teaching Tips


Get every new post delivered to your Inbox.

Join 3,603 other followers