Posts tagged ‘computational media’
Here’s another take on the “Computing for Everyone” theme that is near and dear to me. I’ve been exploring this idea in my talks and papers, here in the blog, and all starting from our Media Computation work. This theme starts from a different question than CS: Principles, which is asking what should everyone learn about computing. The Mozilla-as-teacher post is suggesting why everyone should learn “coding” (here, including HTML coding, vs. programming): to make the Web better.
It’s a reasonable answer, in the sense that universal literacy makes the world of letters better. But how does it make it better? For me, I’m still attracted to the innovation argument: we use code as a medium to say, share, and test ideas that we can’t in other media. That communication, sharing, and debugging of ideas leads to more and better ideas, which results in innovation — new ideas, new extensions of those ideas, new implementations of those ideas. That’s why it’s important to strive towards near-universal computing literacy, at least with respect to knowledge workers, which is why it’s important to require computing in college.
There are other arguments, too. Another powerful reason for universal computing literacy is that it’s about knowing the world we live in. Why do we teach students the periodic table and the difference between meiosis and mitosis? It’s mostly not because of job skills. It’s because people live in a world where chemistry and biology matter. Today, we all live in a world where computing matters. Knowing about the inherent limitations of digital representations is more important to most people’s daily lives than knowing about meiosis and mitosis.
Now, if you buy all that: How do we get there?
This has been the premise behind much of what we have done with Mozilla Drumbeat: people who make stuff on the internet are better creators and better online citizens if they know at least a little bit about the web’s basic building blocks. Even if they only learn a little HTML, the web gets better.
I am now the Director of our Computational Media undergraduate program. (I had the gig three years ago, and it’s circled back around on me.) One of my jobs is to help answer the questions from the industrial recruiters, “What do your students know?” Below are the questions that I just got from one of bigger, more well-known companies in this space. Reminds me alot of the situative issues raised earlier in this blog. They’re not asking what subjects or concepts, but what tools and in what contexts (e.g., Java for client vs. Java for server).
What experience will the students have with:
• Engineering? C, C++…
• Mobile? Objective C, iOS, Android…
• Server? Java, JBOSS, Jetty, Tomcat…
• Networking? MySQL/SQL/Database, TCP/IP, Unix, Linux, etc…
• Tools? C#…
• Scripting? Python, Ruby, Bash, Perl, etc…
Do come to C5! You can skip my talk, since readers of this blog already know pretty much everything I’d have to say. I’m looking forward to the conference!
The 10th International Conference on Creating,
Connecting and Collaborating through Computing (C5 2012)
18-20 January 2012
Playa Vista, CA USA
Hosted by the USC Institute for Creative Technologies
Computers, networks, and other forms of technology are pervasive in our
information-based society. Unfortunately, most users of this technology use
it for passive consumption of information and entertainment. To evolve into a
true knowledge society it is critical that we transform computer-based human
activities to engage users in the active process of creating, connecting, and
The C5 conference is for anyone interested in the use of computers as tools to
develop and enable user-oriented creation, connection, and collaboration
processes. Researchers, developers, educators and users come together at C5
to present new and ongoing work and to discuss future directions for creative
computing and multimedia environments. We welcome the submission of
theoretical and technical papers, practitioner/experience reports, and papers
that bridge the gap between theory and practice or that encourage inter- and
=== Keynote Speakers ===
“Helping Everyone Create with Computing”
Dr. Mark Guzdial
Georgia Institute of Technology
“C2P3: Creating and Controlling Personalisation
and Privacy in Pervasive Digital Ecosystems”
Dr. Judy Kay
University of Sydney
=== Topics ===
C5 invites submissions of full papers in (but not limited to) the following
- Technology-enhanced human-computer and human-human interaction
– Virtual worlds and immersive environments
– Educational environments for classroom, field work and online/distance
– New technologies for literature, music and the visual arts
– Technologies for collaborative and self-empowered learning
– Multimedia authoring environments
– Gaming/entertainment platforms, virtual characters, and software
– Social networks and social networking
– Novel programming paradigms and languages for implementors
– Scripting or visual paradigms and languages for end-users
– Creating and maintaining online communities
– Tools for creating/managing online services/environments
– Distributed and collaborative working
– Social and cultural implications of new technologies
Papers should be submitted electronically in PDF format via EasyChair at:
Submissions must be written in English (the official language of the
conference) and must not exceed eight (8) pages. They should use the IEEE
10-point two-column format, templates for which are available at:
=== Proceedings ===
A preliminary version of the proceedings will be distributed during the
conference. The formal version of the proceedings will be published by the
Conference Publishing Services (CPS) and sent to authors after the conference.
For each accepted paper, at least one of the authors needs to attend the
conference and deliver the presentation; otherwise the paper will not be
included in the formal proceedings.
=== Dates ===
Submission of papers: October 7, 2011
Author notification: November 18, 2011
Camera-ready copy: December 16, 2011
Conference: January 18-20, 2012
Still trying to dig out from under the grading pile — it’s finals week here at Georgia Tech, and grades are due Monday at noon. My TA for Media Computation data structures had to leave the semester a couple weeks early, so I just finished catching up on all the grading (programming homework, quizzes, and final exam) for that class yesterday. I also have 40 students in a Senior Design class, so I’m deep into reviewing project documentation, design diagrams, and personal reflections on their process.
I’ve had a theme arise from both classes in the last couple days that is worth mentioning here.
Theme: I got a lovely note from one of my MediaComp DS students reflecting on his time in the class. (As a teacher, it’s an enormous boost to get one of these — even when critical, it affirms your job as a teacher: “Someone was listening!”) Against the recommendations of his advisors, he took my class and the follow-up intro to Java course concurrently, which means that he only gets elective credit for my course. But it gave him the opportunity to compare the two courses, which is pretty interesting for me. Besides these two CS courses, he was taking a course in combinatorics. He saw my course as the “glue” which combined the ideas of the three courses.
The concepts you introduced formed essential links with material from my other classes to illustrate the harmony of what I considered three more or less independent studies (for a long time I considered <MediaComp DS class> and <intro-to-Java> very different other than their shared use of Java, with one being the “general programming class” and the other being the “media and simulation programming class”).
What I found most intriguing was that he saw the MediaComp DS course as being the more “theoretical” course. Of course, any data structures course deals with theory issues more than a simple introduction to programming. But because this course included simulation, we also dug into probability distributions and continuous/discrete-event issues which connected to combinatorics and statistics in interesting ways. In a real sense, that made the MediaComp DS course harder than the introduction to Java course.
Recapitulation: One of my Senior Design teams refactored some code for our Physics department. Physics at Georgia Tech uses VPython in several labs. The physicists found that some of the code that the students had to write (to simulate a falling object, to graph data, etc.) was clumsy and had students struggling with parameterization issues.
My Senior Computational Media students, well-versed in HCI as they are, wanted to create a GUI for a Physics simulation. The Physics teachers (to their credit, in my opinion!) insisted on having their students write code. They explicitly wanted their Physics students to deal with “computational thinking” (their term, which may mean something different than others). So, the team created a nice set of objects, rather than the umpteen functions that students had to use previously. The Physics teachers are thrilled — the team did a very good job. But in their reflections, my Seniors are still complaining that they’d prefer to have built GUIs. “It would have been easier on the Physics students.”
I agree, a GUI-based simulation would have been easier on the Physics students. The students also would have learned less. They would have had less flexibility. The Physics teachers wanted the interface to VPython to be usable — to be understandable and to focus on the Physics and on the representational issues (e.g., how do you want to represent a vector to be useful?). While harder than a GUI, the Physics teachers felt that the code helped achieve their learning goals better. It’s not always about make things easier.
The cited blog post is critiquing Apple for having wonderfully creative technology but not well supporting software creation — and what does that mean for the future of computing, as Apple becomes the copied model. Apple’s tools are used often by professionals in the creativity profession, but too often, those professionals aren’t also involved in creating new technology, even if just for themselves, and Apple isn’t really helping them make that move. We saw a form of that in Brian Dorn’s dissertation work, where graphics artists had wonderful tools for creating digital media, but fended for themselves in learning to create software.
The concern voiced in this blog is that so-goes-Apple then so-goes-the-industry. This does seem to be a problem in our industry (is it true for all industries?) that ,when one company pulls ahead into a virtual monopoloy, everyone else adopts the approaches and strengths of the front-runner. How many “next Microsofts” or “next Googles” or “next Facebooks” have you heard about? The strengths and weaknesses of that company’s approach becomes the model that everyone copies.
Apple’s abysmally, disastrously worst ideas will be mindlessly copied along with their best. To some extent this is already happening. And if current trends continue, there will come a time when nothing resembling a programmable personal computer will be within the financial (or perhaps even legal!) reach of ordinary people.
The user-programmer dichotomy will be permanently cemented in place – even now, most computer owners don’t think of the expensive space heater on their desks as something programmable. But in the future it won’t even occur to a curious child that the behavior of his, let’s say, schoolpad can be altered in ways unforeseen by its makers – the essence of the creative act we call programming. We will be stuck with computers – machines which, within certain limits, are capable of literally anything – which have been deliberately – artfully! – crippled into being far less meaningfully-modifiable than our cars and houses.
This is an interesting argument that I hadn’t met previously: Pagination is better for long digital texts because it’s easier for sustained reading. What are the implications for reading source code? Is pagination (and perhaps formatting via something like Knuth’s WEB) better than a scroll bar?
Let’s put it under the umbrella term ‘scrollable’. Scrollable content works very well for two or three screenfuls of content, because it lets you adjust, pixel by pixel or line by line, to your changing context. You can say “I want this thing on the screen, and this nearby thing on the screen at the same time”, which is often useful — particularly if the content has varied elements like buttons and links and images as well as text. That is to say, scrollable content generally works very well for web pages.
But for anything of real length, it is seriously hard work. It’s important to realise what you’re doing when you’re scrolling. You’re gazing at the line you were reading as you draw it up the screen, to near the top. When it gets to the top, you can continue reading. You do this very quickly, so it doesn’t really register as hard work. Except that it changes your behaviour — because a misfire sucks. A misfire occurs when you scroll too far too rapidly, and the line you were reading disappears off the top of the screen. In this case, you have to scroll in the other direction and try to recognise your line — but how well do you remember it? Not necessarily by sight, so immediately you have to start reading again, just to find where you were.
Beyond this, even if you have startling accuracy, still you are doing a lot of work, because your eyes must track your current line as it animates across the screen. For sustained reading, this quickly gets physically tiring.
Pagination works for long text, not because it has a real-world analogy to printed books or whatever, but because it maximises your interface: you read the entire screenful of text, then with a single command, you request an entirely new screenful of text. There’s very little wastage of attention or effort. You can safely blink as you turn.
The fate of Scalar, which has not yet been released to the public, also remains to be seen. Mellon had backed an earlier attempt to build multimedia-authoring software, called Sophie. The first version failed, says Bob Stein, a director of the Institute for the Future of the Book, who left the Sophie project after blowing through more than $2.5-million working on it. A second version is not usable now but may end up being the “holy grail,” he says.
“The easier you try to make an authoring environment, the harder it is to build it,” says Mr. Stein. “It’s easy to build an authoring environment that requires experts to use. It’s very hard to build an authoring environment that somebody can use after reading two pages of instructions.”
I liked this piece in the NYTimes about why online courses aren’t taking off. The author’s point about online courses “lacking the third dimension” (social, face-to-face interactivity) is a good one (and that’s where OpenStudy comes in), but the side point he makes is more interesting to me. The media of online courses just is nowhere near what it needs to be! Powerpoint slides, PDF tests, and no feedback is just abysmal, and we can do so much better!
When colleges and universities finally decide to make full use of the Internet, most professors will lose their jobs.
That includes me. I’m not worried, though, at least for the moment. Amid acute budget crises, state universities like mine can’t afford to take that very big step — adopting the technology that renders human instructors obsolete.
I enjoyed the interviews I heard with Sebastian Ruth, one of this year MacArther Fellow’s, who founded Community MusicWorks. While the story of his work is inspiring, I was also thinking about a possible analogy to computing. Ruth talked about how he wants children to own the music in their lives, to realize that they can create it, and not just consume it. In the below clips, he talks about the energy from the professionals working with the children. The interviewer then talks with one off the students in Community MusicWorks, who talks about the importance of music to him, even if he’s not going to be a professional musician.
We want children to be owners of the technology in their lives, too, and not just consumers. And it doesn’t matter if they’re going to be professional software developers — it’s still worthwhile to create and to feel empowered. Ruth’s story suggests that it’s powerful for the experts, too, working with the children.
JEFFREY BROWN: Why is there that disconnect? You were trained at a high level of musicianship and as you say typically that goes one way and it doesn’t connect to the community in most, especially in most urban areas. Why is that?
SEBASTIAN RUTH: That’s a good question. I think there has traditionally been this divide between performer musicians who become performers at a serious level and musicians who don’t make it as performers and therefore do work with community settings. And so this was a real experiment to say what is this energy that comes about when you bring together performers who are really striving for a very high level performance and a career of concertizing with a community and community life in a city such that working with the kids reinvigorates the performace that we do as professionals, and vice versa, and that we could bring a certain kind of energy to this community as performers and from our rehearsal and concert life.
JEFFREY BROWN: So what did that do for you and your friends?
KIRBY VASQUEZ: Well, going to what Sebastian hoped, is it showed us that we deserved music and that we deserved this, although our parents couldn’t pay for it that doesn’t mean that we didn’t deserve music. And it brought this world into our world and made it one, which is a great gift.
JEFFREY BROWN: And you are in college now. But you are not intending a serious music career, right?
KIRBY VASQUEZ: No, but.
JEFFREY BROWN: But, what?
KIRBY VASQUEZ: That doesn’t mean that music is not important to me and that I haven’t found other ways to make it into my life, whether it’s picking up the guitar or just always being very attentive to music. And I don’t plan on ever stopping to play the cello. It means a lot to me.
Marc Downie is coming to Georgia Tech to give a talk, and his abstract included a reference to the Field programming language, designed for creation of computing-as-art. “Always in collaboration, always in real-time their practice has spawned a parallel series of investigations into the tools and representations used to make digital art. This thought has become embodied in a new open source platform for programming art called Field. What kinds of tools do we need to survive the complex forms that we can create? what kinds of interactions can we have with the code that we write? and what kinds of collaborations and communities of artists might arise around these platforms?” That was intriguing enough that I looked up Field. Wow! Explicitly, they aim to be better at processing than Processing. They interact with a wide variety of code bases, from pure-Python to Java to Max/MSP. The IDE includes a bunch of unusual ideas, like embedding GUIs into the source code.
Since it’s such an important source of interesting libraries, the Processing tradition has received special attention — the ProcessingPlugin bridges Field’s execution model to the world of Processing. Field replaces the Processing Development Environment and its programming language while allowing you to use all of your favorite Processing libraries and renderers from within Field’s integrated Processing “Applet”. Field has no start or stop button — there’s no compile cycle. You can execute, script, sequence and manipulate code as the “Applet” runs — all while building personal practice-oriented interfaces in the canvas. We think that, for many uses, Field is a better Processing than Processing. We note that most if not all of the items on Processing’s proposed “future features” list are already available in Field, or are not needed in Field because it is a live environment, or can be readily made inside Field today.
We got word that both of our undergraduate degrees at Georgia Tech’s College of Computing have been accredited by ABET. This may be of interest beyond Georgia Tech for a couple of reasons.
- The accreditation of our BS in Computer Science is the first since we adopted the Threads model for our curriculum. That was probably the most common question I got when we presented Threads at SIGCSE: “But will ABET accredit that?” The answer is “Yes.”
- ABET now has “Computing” accreditation criteria, as something more general than “Computer Science.” Our BS in Computational Media meets those criteria. It’s a positive move for ABET to open up its criteria to “Computing” more generally, and we’re pleased that our CM degree was recognized as meeting those criteria.
Shimon is the next generation robot drummer, invented by Gil Weinberg, after Haile. While I am so impressed with Gil’s work, I particularly like to use Shimon and Haile as examples for our Computational Media students. Most often, the students who enroll in our Computational Media degree program talk about becoming computer animators or game designers, and that’s great. But that’s only part of what’s powerful about computation for expression. Robot drummers get the students thinking about all kinds of new opportunities that they’d never thought about. Making new kinds of devices that embed computation? Focusing on auditory rather than visual information? What does it take to interpret human expression (by listening or watching) and responding to that expression? What does it mean for a robot to become “social”? This is a great example of research inspiring and creating synergies with teaching.
Shimon, an adaptive, improvisational, percussion-playing robot, is getting smarter – and more famous, with appearances in places like the Stephen Colbert show. Now, humans have been known to get a big head under such circumstances. Shimon’s head has gotten “more social” – gestural intelligence helps the robot relate to fellow players and nod its head in time to the music.
My son is going to Georgia Tech in the Fall, in the Computational Media degree program. Because the CM program is joint between GT’s Colleges of Liberal Arts and Computing, we went to both College’s presentations during Freshman Orientation last week. I found the contrast between the two of them fascinating.
The Ivan Allen College of Liberal Arts starts their orientation with a brief documentary about Ivan Allen, the former mayor of Atlanta for whom the College is named. John Tone, Associate Dean of the College, explains that the College shares Allen’s values and encourages students to model themselves on Allen. The presentation goes on with the theme, “Find Your On Switch.” Explicitly, the point is made that the goal of a liberal arts education at Georgia Tech is for each student to figure out what they are most passionate about, what they want to sink time into in order to develop expertise. International experiences, like study abroad and internships, were explained in terms of the opportunities they provided for seeing more options, other ways to find your “On Switch.” (About 40% of Georgia Tech’s undergraduates have some international experience, with a goal of getting that to 50%.) Overall, this presentation was highly successful with the students, and the parents were excited, too. I saw a mother in front of me write a note to her daughter saying, “This Is So Cool!!”
The College of Computing talked about jobs. Parents were told about the bright prospects for a computing career. The curriculum was explained in terms of how it prepared students for the workforce. International experience (exactly the same programs!) was introduced as a way to prepare students for a globally competitive marketplace, and about how the top companies valued students with an international perspective. Many of the parents seemed engaged by this perspective, and asked pointed questions, such as whether the robotics approach in CS1 was really the right one to prepare students for more general computing tasks and whether the Computational Media degree really prepared students for the jobs that were available today.
I found the contrast fascinating, especially when the two College’s were talking about the exact same thing. I don’t think that either presentation is wrong or even contradictory, though each can be critiqued as being too narrow. The Computing perspective lends itself to seeing GT as a vocational school, and anything not related to tomorrow’s job ad is clearly irrelevant. The Liberal Arts perspective can be read as encouraging students to ignore everything that he or she finds boring or hard — if it doesn’t “Find Your On Switch,” then it’s clearly not important, is it?
As a Computing faculty member, I personally found the Liberal Arts presentation novel and refreshing. I frequently have to defend what I teach to my students on the grounds that, “Yeah, real companies really do this.” (For example, we brought in real developers last year to our Senior Design class, to convince them that Scrum was worth learning.) I love the idea of being able to argue, instead, “Try it, because it’s fascinating and will allow you to think about problem solutions in an entirely new way, maybe in a way that you will find intriguing and engaging!” Hmm, I wonder if that argument actually flies with Liberal Arts majors. I am pretty sure that it wouldn’t with CS majors.