Sketching with Computer Science Students

Last semester, as part of my Design Methods class (more here, if you want any of the materials), I attempted to teach Computer Science students how to sketch. Each student had to practice sketching and submit at least one of their own sketches as part of the project milestone. While initially, this prospect caused some anxiety for the students, most were able to find a style and an approach to creating visual content that worked for them.

We relied heavily on Sketching User Experiences: The Workbook (Saul Greenberg, Sheelagh Carpendale, Nicolai Marquardt, and Bill Buxton), which does a great job explaining the benefits of sketching to the overall design process and providing some strategies for those who are less artistically inclined. Particularly, the books tutorials on storyboarding, simplified figures (e.g., stick figures), and photo tracing were used by the students with great results.

Students successfully used storyboarding, simplified figures, and photo tracing in sketching their design ideas.

Students successfully used storyboarding, simplified figures, and photo tracing in sketching their design ideas.

We added another skill to our sketching repertoire that was not covered in the workbook, namely constructing two-point perspectives. I chose to add this to the curriculum because I’ve found the rule-based approach of this method is generally well-received by engineers and is particularly useful in sketching and considering physical computing prototypes.

Many students were very successful in constructing two-point perspective sketches, even if they were resistant to less structured sketching approaches.

Many students were very successful in constructing two-point perspective sketches, even if they were resistant to less structured sketching approaches.

I found that the process of sketching out ideas helped students think divergently. For the last milestone, the students were asked to develop two prototypes that they found to be most promising, with a special focus on diversity of modalities and ideas in the final prototypes they chose to pursue. I was very impressed with the results!


Some of the physical prototypes students developed from their sketches for the final class milestone.

In final student evaluations of course content, sketching was the component that worried me most. This is so different from a standard Computer Science skill or activity that I had to wonder whether students would find it valuable in retrospect. Indeed, in their final ranking of the thirteen components and skills covered in the class, sketching came in at #4! It was one of the most valued components of the class, despite (or maybe because of?) any initial trepidation students expressed about their drawing skills. I’ll definitely continue including this unit in the course in the future!

(Note: Images are used with permission from each project group, asked and received after the submission of final grades.)

Peer Teaching Presentations in a Curriculum

I haven’t blogged last semester, as I’ve been devoting my energy to teaching my first class (which went great according to the student evals!). The class, titled “Design Methods for Computer Scientists,” was a project-based course covering inspiration methods (e.g., design probes), design process, sketching, and rapid prototyping (e.g., 3D printing, Arduinos). As always, I want to share my materials, so here is the syllabus and the project description. But in this blog post, I want to reflect on one specific component of the class, peer teaching.

The goal of this component was to help students practice independently learning new skills and teaching these skills to their peers. Each student was asked to prepare a 20-minute class session on a topic of their choice that may be useful to others in the class (see, peer teaching description and rubric). Most of the presentations focused on cool APIs, tools, and techniques for rapidly bringing design ideas to life. Topics covered included: Arduino eTextiles, littleBits, Intel IoT kits and Galileo, WebRTC, GreaseMonkey, Processing, PhoneGap, and many more interesting topics. The presentations were spread throughout the semester and graded both by me and by the other students in the class (40% of the grade coming from written peer critiques). In terms of the short-term goals, I was excited to see that the student presentations generally increased in quality as the semester went on, with them getting presentation tips from each others. Additionally, it was great to see that students incorporated techniques covered in peer teaching presentations into their projects, so they definitely learned through the process. The long-term goal of this component is to keep the class material from getting stale by continually updating the parts that are most likely to change quickly (e.g., tools and technology available for prototyping), but efficacy towards this long-term goal is still to be demonstrated.

At the end of the class, I asked student to rate the personal utility of each class component. Out of 13 class components, peer teaching came in right at about the middle of the pack as the 5th most useful. Through discussion with students, we considered how this can be improved and came up with some directions for the future. Next time I run the class, I’ll be asking for peer-teaching presentation to submitted as 20-minute tutorial videos and asking each student to watch 10 and critique videos that are most relevant to them. There are several advantages as I see to this approach:

  • The presentations were great, with the most helpful parts generally being the hands-on demos and walkthroughs. Even though presenters shared their slides, the demo portion of their presentations was ephemeral and students could not refer back to it.
  • Collecting peer teaching tutorials as video would help us build up a library of resources across years.
  • All the presentations can be due on the same day (making this more fair) and all of them can be available in time for the prototyping milestone. As is, about a quarter of the talks occurred after they could be usefully integrated into the students’ projects.
  • It would free up significant time in class, which would be best used for project workgroups. I underestimated the difficulty that student groups have in meeting up outside of class, adding in-class time that the all have to be there would really help. Next time I teach, I’d like to keep Mondays as project days.
  • Students who do a great job can share this tutorial widely and add it to their portfolio as an example of their work.

Has anybody tried something like this in their classroom? I would love to hear how that went! Stay tuned for more reflections from teaching, including some examples of cool projects that came out of the classes.

Better HCI Research in One Hour a Day: A Winter Break Guide for C.S. Students

Like many other schools, University of Minnesota has a fairly long winter break (more than a month!). The break from classes provides an excellent opportunity to catch up with friends and family, sleep, and (most importantly, of course) focus on research. If you are a Computer Science student starting or thinking about a research program in Human-Computer Interaction, consider if you can dedicate an hour a day to becoming a better researcher. If you’re interested, here’s a short (and I think, fun!) program to fill some gaps between an undergraduate Computer Science program and a graduate program in HCI.

Build a Psychology Foundation (10-25 minutes per day): Computer Science students who come into HCI frequently have the “Computer” part of HCI down, but have less exposure to formal studies of human behavior. One of the best ways to catch up is to take a crash course in Psychology. For this, I recommend the CrashCourse Psychology YouTube series. There are 39 episodes which (I think) get more relevant to HCI and Social Computing as the show goes on. Watching one or two episodes a day will give you a good start and set up a solid foundation if you want to explore any of the topics discussed in more detail. Here’s one of my favorite episodes from the show:

Start a Design Collection (10 minutes per day): Design plays an important role in HCI, but good design is difficult to teach. A big part of becoming a good designer is developing a practice of being open to inspiration, learning from examples of others, and sharing/critiquing ideas. One action you can take today to build this practice is to start a collection of inspirations. Whether this is a physical sketchbook or a digital collection in Evernote or Pinterest, the important thing is that you add to it regularly, share it and discuss it with others, and browse through it when you need ideas. If you have a specific research area already, start collecting images, articles, videos, and examples that are relevant to it. If you don’t have a specific area yet, collect examples of particularly good design and anything else that inspires you. As you build your collection, share it with friends and family — soon you’ll get people sending you ideas and inspirations and it’s a great way to reflect. If you want more information about design and collections in HCI, I suggest you take a look at Sketching User Experiences: The Workbook and the slides associated with the collections chapter.

Immerse Yourself in Good Research (25 minutes per day): Lastly, being a good designer or builder is not enough to be a good HCI researcher. One way of starting to develop good research intuitions is to read examples of strong research. The best paper awards at your target conference are an easy place to start (e.g., Best of CHI 2014). Pick one paper and spend 20 minutes reading it (it’s important to learn to read quickly, which may mean skimming some sections). As you read, note how the authors designed, framed, and described their work. Add the paper to your bibliography manager and jot down some of those insights for later inspiration.

By spending just one hour a day during this winter break, you’ll return to school in a much better position to do strong HCI research. Research is about building a practice. Consistent effort will look very much like genius after some time.


Late-Breaking Addition: If you have another 30 minutes a day, Shaun Kane suggests brushing up on your statistics by taking Jacob Wobbrock’s Practical Statistics for HCI self-guided course. It’s a 10-unit course, so doing two units a week will get you just about done with it by the end of the break.