Sketching is one of the essential methods for exploring ideas and developing them further by applied visual thinking. Many interactive systems however augment the interaction with physical experiences that can hardly be captured and described by drawings, video prototypes or cardboard mockups. The aim of this class is to provide students with the necessary knowledge, methods and skills to quickly develop, build and evaluate the user experience of an interactive system by creating physical prototypes.
The course will be driven by practical examples and real-world challenges. Students will conduct practical hands-on work using open-source Hardware (e.g. Arduino) and advanced off-the-shelf components. Upon completion of this course, students will have a profound experience in building advanced interactive prototypes, an in-depth knowledge of pragmatic use of electronics, programming microcontrollers and working with advanced sensor systems.
The realization of existing project ideas as part of the practical work during this course is explicitly encouraged.
Course Focus:
This class is focused on providing students with the necessary knowledge to quickly plan, implement and evaluate physical user experiences through the use of their own interactive hardware prototypes. Practical examples will be used as a starting point to develop an in-depth understanding of the required technology and the process of designing, building and programming interactive systems. A basic knowledge of core concepts in object oriented programming and a basic understanding of electronics are required.
Teaching forms and methods:
A weekly lecture followed by a hands-on working session. The lecture will cover technical and theoretical topics that provide the foundations for the practical work. The working session will take place after each lecture and provide hands-on experience of the current topic.
Literature and resources will be made available to provide students with the necessary background knowledge for their work.
Course Content:
We will work with a variety of advanced sensors (light, orientation, acceleration, temperature, color, vibration etc.), actuators (motors, solenoids, LEDs, loudspeakers, etc.) and explore their potential for creating the desired user experiences. Students will work with easily accessible microcontrollers (arduino & similar). Course topics can be related to individual work packages from related projects (Students are strongly encouraged to use this Fachkurs to develop the technical details of an ongoing project work!).
Topics covered:
- Tangible Sketches: What are they? What are they not? What are they good for?
- Communicating , evaluating and adjusting the user experience by Tangible Sketches.
- Realization: selecting components, assembly, programming, debugging in hard- and software
- Working with datasheets and other resources
- Documenting a project & sharing the process
- The open source ecosystem: What is open source hardware?
- Integration with other systems & software (Processing, etc.)
- Networks and communication (i2c, SPI, Serial Protocols, etc.)
- Complex sensors and signals
- Components: Multiplexers, amplifiers, wireless communication, drivers, logic, etc.
- Alternative microcontroller solutions and form factors
(ATiny, Arduino Flavours, TI Launchpad, Raspberri Pi, etc.)
- Beyond the computer: USB-hosts
- Fritzing as a tool for design and documentation
- PCB Design and Manufacturing (Fritzing & Eagle CAD)
- Enclosures and tangible interfaces
Grading policy:
Criteria for successful completion:
Attendance and active participation at the plenum/lectures. (25% of final grade)
Completion of in-semester assignments. (25% of final grade)
Completion of Final Project + short Documentation at the end of the semester. (25% of final grade)
Demonstrated knowledge of the course content, demonstrated problem solving skills. (25% of final grade)
Please note:
The final Documentation has to be handed in before the deadline (t.b.a.) at the end of the course.
For each day of delay 5% will be subtracted from your final grade!
Attendace Policy:
Participation in the weekly plenum is mandatory! Absences or being late must be excused at least one day before the plenum. More than two unexcused absences or repeatedly being-late will result in no grade being given for the class (i.e. fail).
Delivery format for documentation and assignments:
All assignments have to be submitted before their respective deadlines via email and will be subject to an open discussion/critique in the project plenum.
The Documentation has to be handed in ACM extended abstract format (http://chi2012.acm.org/chi2012extendedabstracts.doc) 4 pages with references, minimum one image, no more than three images. Condensed, to the point explanation of your project, the problem it addresses, its value to the user, alternative designs, the design process, the result, future directions, lessons learned.
Other textual/graphical work may be submitted as printable raster graphics in standard file formats (.png/.jpg/.tiff, 300 DPI) or as .pdf (300 DPI), please make sure to include your name in the filename.
Design reflection / Documentation:
The results of the hands-on sessions have to be published (photo + short explanation) on the course blog (login data will be provided). The practical outcome of the project should be accompanied by a short documentation (.pdf) that provides insight into the concept and the technical aspects of your project.
The blog entries and the documentation should contain sketches, pictures and a written reflection of the design process, with a focus on the questions that are addressed by your design.
Recommended prerequisites:
A basic knowledge of electronics, physical computing tools (Arduino, sensors, etc.), fundamental programming skills is recommended. (or Fachkurs: Interaction Foundations 1 and similar). If you’re a motivated, self organized learner and have an idea that waits to be realized, you should be able to participate.
Please contact me in advance if you are unsure or have any questions!
|