Automatons and Entertainers

As the leaves begin to change in the Hudson Valley each year, Bard’s Hannah Arendt Center puts on a fantastic, colorful and current conference, and this year was no exception. The title of this year’s two-day event was Failing Fast: The Educated Citizen in Crisis. I was not able to see all of the talks, but the sessions I attended failed to disappoint. From Stanford computer scientist and Coursera founder, Andrew Ng speaking about the potential of the MOOC’s to John Seery from Pomona College speaking about the virtues of a liberal arts education, a large range of views were put forward. Check out the conference schedule for the other speakers.

The organizers of this conference go out of their way to invite intellectuals from across the spectrum to share their views: scientists and writers, conservatives and liberals, entrepreneurs and academics. All were invited to share their views about the future of education. But like past meetings with such impressively mixed audiences, many of the messages get lost, attenuated or misconstrued as they travel between the vast intellectual space between the participants.

Continue reading Automatons and Entertainers

(De-)Coding the Drone: A New Course

Drones: Literacy && Autonomy && Privacy

Drones have captured the public attention and discourse in a surprising way. And although the current left-right political coalition against drones in the U.S. is rare, this is not what surprises me the most. The most surprising aspect to me is the mismatch between the public’s technological perceptions and expectations of drones compared with their technological reality. Computing, Algorithms, and AI are to blame for lots of things: putting chess masters out of business, crashing satellites, overdosing cancer patients, electronic trading trouble, reading our email, judging our credit. But targeted assassination? Are the algorithms really to blame here?
Continue reading (De-)Coding the Drone: A New Course

Making Robots Accessible with Calico

Making robotics accessible has been a career-long goal of mine. For many of the themes of this blog: all citizens should be empowered to use robotics (and computing) technology in their own work, and the fields of robotics and computing need to be informed by a diverse set of contributors. My class on Drones this Fall will continue this track of teaching and research.

Starting with some of my earliest work on using open-source software with robotics and then later with my work with IPRE on using robots in CS-1, I have been on a mission to make robotics more open, transparent and adaptable. My latest effort in this vein is embodied by the Calico Project. Calico is a learning environment for computing particularly suited for robotics.

Calico is about choice: choice of operating system, choice of programming language, and choice of programming context. The particular operating system (e.g., Windows, Mac OS X, and Linux) or programming language (e.g., Java, C#, Scheme, Python, Ruby) should not limit your pedagogical mission. Although Calico started as a way to easily program the IPRE Scribbler robot in Python on all three platforms it has evolved into a system that allows students to explore a variety of computing contexts (e.g. Processing-inspired graphics) with a variety of languages (e.g. scheme). We have extended Calico to work with other robot platforms like the Lego NXT and the Finch. Our next step, in the spirit of Pyro, is to use Calico as a front-end to the Robot Operating System (ROS).

Last week, we had a Calico summer research meet-up at Sarah Lawrence College. Part of this meeting was devoted to understanding how we could use ROS with Calico. A prototype system was presented that is able to control both the simple ROS turtle simulation, but also the Stage robot simulation, the iRobot Create, and the Parrot AR Drone. We are in the process of flushing out this interface and writing a proposal, stay tuned!

Continue reading Making Robots Accessible with Calico

sp5repl: A Read-Eval-Processing Loop with Scala

I teach two introductory computing classes at Bard: one using Python (using IPRE’s Calico and robots) and the other with Processing. Both programming environments could be better by borrowing ideas from the other. And by better, I mean a lower floor, making it easier for newcomers to programming; and a higher ceiling, making the tool useful after CS1. Rather than concentrating exclusively on one tool, I am continuing to attack the problem on both fronts.

This post is focused on making Processing better for introductory courses; Calico is next.

My first attempt is a simple tool called sp5repl, a small layer around Scala and Processing that allows you to write Processing sketches dynamically using an interactive read-eval-loop. The code entered into the Scala REPL is actually compiled, thus it runs at full speed; we get most of the flexibility of Jython and Clojure/Quil with the speed and error checking of Scala. A small example that generates the image below:

sp5repl>size(250, 250)
sp5repl>background(24)
sp5repl>smooth()
sp5repl>fill(196, 128, 64)
sp5repl>ellipse(width/2, height/2, 150, 150)
sp5repl>fill(64, 128, 196)
sp5repl>for (i <- width to 0 by -1) ellipse(random(i), i, i/20, i/20)

screen4
Continue reading sp5repl: A Read-Eval-Processing Loop with Scala

Doubling Down on Experimental Public Education

If we were creating Sesame Street from scratch in 2012 would it use Scratch? A Scratch-based Facebook? A Pre-school-MOOC? If we wanted to create a large publicly-funded 21st century education equalizer — what would that look like?


At Bard we like to experiment, particularly with education. Bard runs various public high school early colleges throughout the country and is involved in higher education throughout the world. Later this week, Bard’s Center for Curatorial Studies (the program that gets the CS acronym on campus, computer science is shortened to CMSC) is hosting a conference on experimental education. Maria Sachiko Cecire, who will write a follow-up to this post, will speak at this conference about Bard’s new Experimental Humanities concentration she directs, and if distilled to a single quote:

“…provides students with the historical context, theoretical background, and analytical and technical skills needed to engage productively with new forms of humanistic inquiry in our digital age”

The concentration emphasizes the need to think critically in many modes at once, e.g. text, film, and digital media. As my first blog post indicates, my participation stems from an interest in promoting digital literacy and reforming our “read-only” digital culture, as Larry Lessig might put it. Ultimately, we hope literacy in experimental media can push the boundary in terms of thinking and education.

Continue reading Doubling Down on Experimental Public Education