Course Versions

CS 247I: Design for Understanding

In this course, students explore the design of systems, information and interface for human use, modeling the flow of interactions, data, and context.

Autumn  |  Christina Wodtke


CS 247S: Service Design

Students look at experiences that address the needs of multiple stakeholders at different touchpoints - digital, physical, and everything in between.

Winter  |  Julie Stanford


CS 247B: Design for Behavior Change

Students craft systems, information, and interfaces to shape user behavior while reflecting on the ethical implications of such technologies.

Winter  |  Christina Wodtke

Past projects

CS 247G: Design for Play

An intro to theory and practice of game design. Students make digital and paper games, do rapid iteration, and run user research studies covering a variety of genres from narrative to pure strategy.

Spring  |  Christina Wodtke


CS 247A: Design for Artificial Intelligence

Students explore the constraints, opportunities, and specialized processes necessary to create AI systems that work effectively for the humans involved.

Winter  |  Julie Stanford


Curriculum Overview

The goal of the CS 247s is to get students involved with design challenges that are meaningful to them while gaining deliberate practice by using core skills across different contexts. For this reason, different versions of CS 247 can be taken to build skills and portfolio.

CS 247 is 3 hours twice a week. The first 2 hours are devoted to activities, lectures, and exercises. The last hour is used for group work with the teaching team available to coach you as you seek to level up.

All CS 247s will cover the below 6 topics, but each topic will be modified to be relevant to the type of design challenge being explored. For example, in Design for Play the topic of information architecture will be grounded in organization of resources and economies while in Design for Understanding it will about information scent and retrieval.


Interaction Design

Affordances and feedback. Usage scenarios (frequent vs. infrequent, etc). Task Analysis. User flows. Longitudinal studies, personas, scenarios, etc. Rapid Iteration Testing and Evaluation.


Information Architecture

Metadata and why it matters. Human information seeking models & information scent. Message architecture and content strategy. Research for IA, especially card sorting.


Interface and Graphic Design

Gestalt and other visual design principles. Messaging affordances effectively. Color, typography, layout. Usability testing.


Sketching and Modeling

Sketching for observation. Sketching for communication and ideation. Task Analysis. Models for understanding and communication.


Process Capability

Students have been introduced to this topics, we are are now making sure they have a level of competence, if not mastery, in these core areas: Needfinding, Sensemaking, Ideation, Iteration, Evaluation.


Ethics in Content

Respectful ways to collaborate with end users & participatory design. Research ethics. Understanding ethical behavior shaping techniques. Ethical and inclusive interface design. Topical ethics.


Can I take more than one version of CS 247?

Yes! Each version will be different enough in what it covers that taking more than one will build up practice and your portfolio.

Is attendance mandatory?

Yes. In a studio class, students learn from each other, practice effective collaboration and build on each other’s ideas. You can only miss two classes or it will affect your grade.

Are there any prerequisites?

Yes, the prerequisite for all CS 247 courses is CS 147 or equivalent background in design thinking. Check out the CS 147 curriculum on the course website (

What level of proficiency with computer programming is recommended?

Generally, there is no required or recommended level of programming proficiency for CS 247. It is worth mentioning, though, that greater proficiency opens up options when building your design project. Many CS 247 students have found their mobile and web development skills to be useful. Additionally, CS 147 (the prerequisite) includes mobile development in the curriculum.

Is there an application to get into the class?

It depends on the enrollment level, but because these courses are typically popular there is usually an application distributed on the first day of class. Priority is given to upperclassmen who need to graduate and remaining decisions are made on a case-by-case basis.

What are some tools that might be useful for CS 247?

It depends on which version you're interested in taking. We recommend familiarity (or willingness to learn) Figma as a baseline. Other tools that students have used are Unity, Twine, React, React Native, and more.