Archive for the 'education' Category

IML400 Spring 2015

Sunday, February 15th, 2015

The time has come to teach IML-400 at USC again, and this time around things are a little different. It is the first time I get a batch of students that had to take a prerequisite class, IML300, before they could join my class. This means I can jump ahead and make some assumptions about my students’ general knowledge that will hopefully help us move faster into the fun stuff and really take advantage of the browser as an interactive programming playground.

In addition to this, the class got split in two smaller groups of around twelve students, and I am only teaching one of these groups, while my colleague Raphael Arar is teaching the other one. When talking with Raphael about previous iterations and the future of the class, we decided to design a new Syllabus together based on my previous one, but taking into consideration Raphael’s teaching interests, the more advanced nature of this class, and aspects of the web that are a lot more mature today than they were during my previous iteration of IML400 a year ago. Specifically, I wanted students to put aside the page-based nature of the web we have today, and think about the things they can do using Web Audio and WebGL in emerging contexts like mobile WebVR for example.

I see my class not as design class, but as a creative innovation one. When thinking about new media, user interface, user interaction and user experience design are important things to understand, explore and develop as skills, but we are at a point where some design paradigms —like the page/scroll nature of the web today— have reached a degree of maturity that leaves very little room for the pure, unbiased creative experimentation that will eventually drive the emergence of fresh new media. There is so much more to the web that is coming to us.

Having a partner in crime on this teaching adventure has been the best thing ever happened to me and to this class. We are only a few weeks into the semester and Raphael and I have established a relationship where we exchange impressions about how the class is going every week, and iterate upon our teaching approach together. It’s really great to have someone to talk to at this level 😀

2Q==-4

Z-6

9k=-6

IML400 Spring 2014

Monday, May 12th, 2014

I just finished teaching IML400 in USC for the third time. Over the winter break I had a chance to review my Syllabus and improve it, based on a few new insights I developed at the time. The course title itself is “Creative Coding for the Web”. When I was invited to teach it I was given freedom to propose my own curriculum, so I started by deconstructing its name. The result couldn’t hit closer to home. To me, creativity, programming, and the web are three of the most important things a human of our time should care about, comic books and ice-cream being the other two. They connect rational thinking with human imagination and communication in ways that have changed our world beyond our wildest dreams. My core goals have remained the same (to encourage a design-first culture supported by programming as a new kind of literacy, and the web as the mother of all media), but my approach to introduce them as a source of inspiration to students has become more focused. Here is some of what I’ve learned:

  • Design is a lens with variable focal length. Learn design first, and you will learn to see.
  • When it comes to programming, sink or swim is the way to go.
  • When it comes to sink or swim, don’t forget to make it fun.
  • Fun is good short-term, but it burns-out fast. Long term requires a deeper kind of value.
  • Let yourself sink if you want to go deep.
  • Too much freedom is confusing. Too much direction is frustrating.
  • To be creative you need to create something. Ideas are nothing without a good execution.
  • The web is your key to the world. Own it. It will never stop changing, so you should never stop learning.
  • Propagación de Ficciones

    Sunday, October 20th, 2013

    colombia

    Maria Paula Lorgia y AnaDK me invitaron a participar con una plática en el Seminario Transmedia y Narrativas Audiovisuales 2013 en Bogotá, Colombia. Después de mucho deliberar, AnaDK y yo decidimos expresarnos en forma conjunta, y combinar nuestros pontos de vista con el objeto de discutir los populares conceptos de Transmedia y World Building:

    Los términos importados World Building, originado en la ciencia ficción estadounidense para describir la construcción de escenarios capaces de albergar mitologías y épicas completas, y Narrativa Transmedia, originado en discusiones académicas recientes de teoría crítica para describir métodos de propagación de historias o superhistorias a través de plataformas múltiples, describen en si mismos técnicas de construcción narrativa que aprovechan al máximo los recursos de comunicación característicos del medio digital.

    Esta charla busca despejar el aura esotérica que rodea ambos términos al examinar conceptos paralelos y ejemplos que aprovechan técnicas similares para crear sistemas narrativos abiertos, y establecer, de una u otra manera, un espacio de agencia creativa y participación para el público que los consume.

    La charla completa se encuentra disponible en YouTube para quienes puedan estar interesados:

    En el ámbito del evento tuve el privilegio de conocer y convivir con fascinantes personajes en la impresionante ciudad de Bogotá. Entre ellos cabe mencionar a nuestro viejo amigo vVvA y su paisano/tocayo Andrés Burbano, que hablaron de Modos y Logicas Transmedia, y Arqueología de la Ficcion, respectivamente (y fueron condensados en el mismo video, a pesar de hablar por separado), y el artista metamático digital Pablo Colapinto, quien nos habló de los laberintos en su cabeza.

    La ciudad de Bogotá respira profundidad, color e historia. Una vez más, estar de visita en América Latina me hizo revivir lo familiar, todas las cosas que me han hecho falta durante mi exilio Norteamericano, incluso viviendo en una ciudad invadida por mexicanos como es Los Ángeles. Aquí hay unas imágenes que jalé del Instagram:

    colombia instagramcolombia instagramcolombia instagramcolombia instagram

    IML400 Spring 2013: Done

    Tuesday, May 14th, 2013

    Today I finished the second iteration of IML400 at USC. It was a delight to sit through the final project presentations and witness my students walk us through the culmination of their semester work. Most of them tried programming for the first time in my class, and managed to express themselves using javascript in the web by the end of the semester. I guess I must be doing something right.

    You can check out their projects in the IML400 website for now. I have heard the Storm server gets wiped every once in a while like other academic servers (something similar happened to us at the Media Lab PLW), but I am hoping the class work will be online for a while and you will be able to check it out.

    I am proud of most of my students’ achievements, but I’m going to point a spotlight on Alexander Swenson’s project: the SOOTHSLAYER ELECTRIC TAROT, a playful interpretation of a fortune-telling experience through the reading of a Tarot-like card deck. In his own words, he didn’t want to deliver a useful product like everyone else, where a practical approach dominated the scene. Most of the students chose to develop projects that could have some degree of professional value. Online portfolios, company websites, product websites, etc.

    Instead, Swenson focused on play, and used his newly acquired interaction design skills to craft a user interface where mystery and chance are experienced one Tarot card at a time. The website becomes the cards, the shuffle and the fortune teller. The reason for this? To make something cool.

    On the technical side, he combined RaphaelJS with jQuery in an interesting way, where interactions with his SVG based animation trigger a series of events that request and load the right card from the deck into sliding iframes, very smooth!

    Next is a sequence of snapshots from the final project defense session.

    swenson-2

    curtis

    ivy

    TELL

    tiara

    josh

    IML400 Spring 2013 Edition

    Thursday, January 24th, 2013

    I’m teaching IML400 at USC again this Spring. So fun. I am extremely grateful that my employers at Wemo Media are letting me do this. I am sure they are aware that letting me keep a teaching front will only benefit my involvement in the company.

    The semester kicked off in an interesting way with an event featuring the recent work of two thirds of my thesis advisors from the Media Lab. Reas and NickM presented their book 10 PRINT [babble] GOTO 10 and sustained a long and interesting discussion with a bunch of other digital humanists about the digital text and other [digital] things.

    Going back to the subject of my class, I have to say I was very happy with the results I got from the Fall 2012 edition. In this page you can find links to the class websites and their final projects. Some of them are fairly interesting in terms of concept and execution —like this one and this one— and over all I believe we reached my goal of helping them learn how to learn. I feel they got to a point where we could have continued with a next semester of serious design and interactive storytelling work. Perhaps in the future I will be able to teach a season two of creative web production, but I am actually not sure I am ready to push the boat into deeper waters yet, so I will remain teaching at an intro level for a while.

    I am excited to have a cool teacher assistant this semester —Adam— a USC PhD candidate who develops awesome games and recommended me a great intro to javascript book [eloquent javascript] that will help us a lot later in the semester.

    ScriptKit by BuzaMoto

    Friday, November 23rd, 2012

    We are generally familiar with the idea of programming as writing code, but there are many other ways to program, like making circuit boards for example.Using examples like this as metaphors and having alternative ways to represent and visualize the structure of a computer program can be of great help to understand how it works. This alone has been a good reason to inspire developers and educators in a number of efforts to develop computer programming interfaces that provide a visual aid to writing code. Some examples are MaxMSP, Quartz Composer, vvvv, Morphic, Scratch, and the more recent Light Table of Kickstarter fame.

    The programmer’s interaction with the program, however, has remained limited to the traditional inputs available to a computer: the mouse and the keyboard. The keyboard might be one day replaced by voice recognition as the best available input device for writing, and the mouse offers a very limited single point input to the graphical user interface. This limitation is likely to have greatly influenced the design of the visual programming systems I mentioned before, and it is interesting to think in which ways new systems might take advantage of new input interfaces. Since it’s inception, the computer input/output loop remained immutable until very recently. Today the emerging trends of miniaturization, mobility and multiple touch screens have completely rewritten the role computers play in society. In the near future, we can definitely expect computers to exhibit a large variety of form factors and input/output solutions.

    scriptkit-logo

    With ScriptKit, Buza explores this problem in the realm of the touch interface as represented by Apple’s iPad. In his own words:

    ScriptKit is a touchable programming environment for building simple mobile prototypes on iPad using native iOS UI components and social media APIs, available via an intuitive drag and drop interface.

    This means ScriptKit not just proposes a new way to design programing interfaces in multiple touch devices. It also incorporates native support for experimentation with available web services through their APIS, making this environment stand out as a practical tool to prototype and test viable networked/mobile touch based software designs.

    And by the way, the nice logo with the building blocks was conceived and designed in Los Angeles by me ^_^

    scriptkit

    Coda: Here are two interesting readings on the design of programming environments (courtesy of DribNet): Learnable Programming and Visual Programming, does it suck?