CS4302.01 Advanced Computing Projects

Location: Bennington College
Term(s): Spring 2012
Class size: 4

In this course, we will apply computing methods in order to develop solutions to real world problems. We will focus on problems that require computing in order to create, collect, process, or visualize data and that offer opportunities to hone our coding and software development skills. Students are invited to bring their project ideas or existing projects in need of development into the class.

Prerequisite: Permission of Instructor
Credits: 2
Time: F 2:10 – 6:00 pm
(This class meets during the first seven weeks of the term)

CS2106.01 Understanding Alan Turing

Location: Bennington College
Term(s): Spring 2012
Class size: 13

Alan Turing is a central figure in the history and theory of computing. Turing gave the first precise definition of algorithms and computability and a guideline for understanding artificial intelligence: the Turing Test. Turing played a role in the cracking of German military encryption during World War II and in the post-war development of the first digital computers. Turing lost his security clearance and was largely forgotten for the last half of the 20th century because he was homosexual. We will explore the man, his ideas, and his lasting contributions to modern computing.

Prerequisite: None
Credits: 2
Time: T/F 2:10 – 4:00 pm
(This class meets during the second seven weeks of the term)

CS2113.01 The Nature of Information

Location: Bennington College
Term(s): Spring 2012
Class size: 16

What is information? How do you measure it? Is information perishable? Is it scarce? Understanding what information is and how (and whether) it can be created, shared, manipulated, or destroyed is increasingly critical in understanding science, public policy, and civic engagement. This course will explore how our understanding of information has changed over the past 100 years and how that understanding changes how we behave individually and collectively.

Prerequisite: None
Credits: 4
Time: T/Th 10:10 – 12:00 noon

CS4120.01 Contributing to Free & Open Source Software

Location: Bennington College
Term(s): Spring 2012
Class size: 9

Most of us use free/open source software (the Web, Open Office, R, Linux) or services that rely upon FOSS (Yahoo!, Facebook, Google). In this course we will explore how these software projects are managed, the community of developers working to improve these projects, and the tools and languages they use. We will learn how to read, understand, and contribute to these projects.

Prerequisite: Permission of Instructor
Credits: 4
Time: W 2:00 – 6:00 pm

The Law of Unintended Patterns

For any matched pair of non-trivial examples
there exists (n == 1) pattern that the creator of the examples intended to highlight
but there also exist (1 < n <= infinity) unintended patterns that students will find.

It’s difficult to live-code programming examples… the conventions we use by habit often invite students to find the unintended patterns.

As an instructor, how do I get students to see the single pattern in which I’m interested, rather than the possibly infinite patterns that exist? Or, is that even the best goal? Should I, instead, be encouraging students to look beyond the first pattern they detect in order for them to appreciate the inherent complexity of interpretation?

Designing Computing Spaces for Collaboration

Classrooms are, at their best, learning communities. Unfortunately, with the rise of the PERSONAL computer (PC), computing classrooms have evolved to meet the needs of the computer, rather than the learner. In so doing, often both the needs of the computer and the learner go unmet. Consider the all too typical situation of a room that has been retrofitted to provide dozens of electrical outlets and network connections, but with no improvements in the air conditioning. It seems to have escaped the attention of the room’s designers that computers, even at idle, generate many BTUs of heat… as do students! The body heat from 15-20 students in a room is considerable.

I stress the personal aspect of personal computer here not because I think you don’t know what I mean by a PC. Rather, it’s because that individual context, the idea that the computer is meant for individual, personal use is important in a learning environment. PCs are designed with the individual in mind. Even when the idea of having multiple users was adopted in consumer PC operating systems, the idea was still that one user would be logged in at a time, working alone. In the more advanced operating systems, you can switch between the individual user contexts.

What you can’t do easily with a personal computer is collaborate, and that’s a problem for educational uses of computers both in terms of the operating system design and the design of computing classrooms.

Ideally, computing classrooms would include

  • room configurations that support collaboration
    • movable tables to support small groups, seminars, and lectures
    • ready access to power outlets, both on the walls and in the floor
    • wired network access for a portion of the users, since not all devices support wireless
    • sufficient wifi coverage to support a full class, all downloading needed software at the same time, since not all devices support wired connections (e.g., iPhones, iPads, Macbook Air, other ultrabook format computers)
    • a high-resolution projector, so that applications that use significant screen real estate can be projected: Photoshop, Blender, Xcode, other programming integrated development environments.
  • network storage that supports collaboration (where will students and ad-hoc groups share files?)
  • a storage strategy that supports collaboration (how to handle collisions among students saving?)
  • Power outlets that are not sunk into tables, allow transformer bricks (e.g., the Apple iPad or MacBook’s power supply without the extension cable) to be plugged in, and are spaced far enough apart that multiple bricks can be plugged in.
  • Additional power support for direct USB charging of devices.
  • software that supports collaboration
    • MoonEdit,
    • SubEthaEdit,
    • Google Docs,
    • Wikis,
    • GIT,
    • etc.

Cult of Ignorance ~ Isaac Asimov


There is a cult of ignorance in the United States, and there has always been. The strain of anti-intellectualism has been a constant thread winding its way through our political and cultural life, nurtured by the false notion that democracy means that “my ignorance is just as good as your knowledge.”

― Isaac Asimov, column in Newsweek (21 January 1980)

"Will this be on the test?"

Students reasonably need to understand what is expected of them in a course. Educators need to make clear what is acceptable and unacceptable student engagement with a course. The syllabus is the natural place for this to happen, as long as both students and educators recognize it for what it is.

Students shouldn’t approach the syllabus as the maximum they’ll do… education is about expanding your horizon! The syllabus is the absolute minimum you should expect to do; the engaged and interested student will use it as a lower bound, not an upper bound.

Steven Paul Jobs, 1955-2011


Remembering that I’ll be dead soon is the most important tool I’ve ever encountered to help me make the big choices in life. Because almost everything — all external expectations, all pride, all fear of embarrassment or failure — these things just fall away in the face of death, leaving only what is truly important. Remembering that you are going to die is the best way I know to avoid the trap of thinking you have something to lose. You are already naked. There is no reason not to follow your heart.

— Steven Paul Jobs

“Don’t be ‘a writer’. Be writing.” ― William Faulkner

Education researchers have shown that the most powerful way we learn is by trying to articulate what we know, believe, and feel (Connally, 1989). The creative process of transforming what is inside our heads into a form that can be shared with others is difficult but absolutely necessary for meaningful learning to take place. How many times have you passively listened to someone (ME!) talking about a topic thinking to yourself how boring it was or how obvious or how random, but when you later tried to explain it to someone, you found it nearly impossible to do so?
Continue reading

Dependent Sample Assessment Plots Using granovaGG and R

9/4/2011 Update: granovaGG is now available directly from CRAN.

Just over one year ago, I wrote about creating Dependent Sample Assessment Plots (DSAP) Using granova and R. Since then, Brian Danielak has been developing a new, ggplot2-based version of granova named granovaGG, which is almost ready for release on CRAN. This article updates my earlier granova-based version, but leaves much of the article text unchanged.
Continue reading

“It’s the model that matters!” — Eric Mazur

At the ICER 2011 keynote, Eric Mazur reported that when students see a demonstration and either do or do not engage in a discussion of the demonstration, they adjust their memory to fit their model1. In other words, they retain their prior (possibly non-cononical) mental model and mis-remember the facts of the event to fit that model, rather than updating their mental model to account for the new facts2.

In physics education, given the following modes of instruction

  • No demonstration
  • Demonstration to students
  • Student Prediction without discussion
  • Student-to-student Discussion (similar to peer instruction)

students do equally poorly on a standard instrument intended to assess students’ understanding of Newtonian mechanics.

So, if we assume that we can’t skip demonstration altogether, and if we can’t just demonstrate, and if demonstration followed by discussion all suffer this fate, then what can be done? Engage students directly.

It’s not the act of predicting or discussing a prediction that triggers changes in student mental models, but rather confrontation with confusing experiences: staking ones intellectual ground so that one knows what one believes, then being confronted by a confounding example, and finally needing to substantially defend and explain the new experience.

Confusion seems to be an essential part of the learning process, or at least the ability of students to reflect and express their confusion3. In a physics class where students were asked to report on what they were most confused about each week, those who expressed confusion did much better than students who claimed no confusion. Willingness to express confusion positively correlates with understanding4.

So, in a peer instruction environment, we teach by questioning, not by telling or showing. We facilitate students’ engagement with the material rather than their obedience while in our classroom.

There is work on students’ use of mechanistic reasoning (i.e., trying to articulate the underlying entities, entity properties, activities in which entities engage, and the mechanism by which those activities give rise the the phenomena of interest) in physics and math education by David Hammer (now at Tufts), Rosemary S. Russ5 (now at Northwestern), Andrew Elby, Ayush Gupta, and Brian Danielak that relates to this… how students express their understandings of and reasoning about mechanisms underlying physical phenomena.

In short, if we’re not changing students’ mental models, than any learning that may occur is shallow and fragile. Some modes of instruction have a better chance of engaging students and changing their models, but unfortunately not the most popular modes of instruction, currently.

  1. Mazur, E. (2010) International Computing Education Research Conference (ICER) Keynote. Providence, RI. Slides available from http://mazur.harvard.edu/talks.php
  2. The keynote is also discussed by Mark Guzdial on his blog at http://computinged.wordpress.com/2011/08/17/eric-mazurs-keynote-at-icer-2011-observing-demos-hurts-learning-and-confusion-is-a-sign-of-understanding/
  3. see the Dunning–Kruger effect http://en.wikipedia.org/wiki/Dunning–Kruger_effect
  4. forthcoming from Mazur, E., et al
  5. Russ, R. S. (2005) A Framework for Recognizing Students’ Mechanistic Reasoning. A dissertation available from http://drum.lib.umd.edu/handle/1903/4146

Richard Feynman on Question Formulation

How we frame a question both constrains and frees our creativity1,2. The form of the question itself either encourages or precludes certain types of answers. Some forms of questions encourage shallow, quick answers while others encourage you to dig deeper into a topic.

In this video, Richard Feynman– lecturer and physicist– discusses why questions in an attempt to understand magnetic force.