This course covers widely-used machine learning methods for language understanding—with a special focus on machine learning methods based on artificial neural networks—and culminates in a substantial final project in which students write an original research paper in AI or computational linguistics. If you take this class, you’ll be exposed only to a fraction of the many approaches that researchers have used to teach language to computers. However, you’ll get training and practice with all the research skills that you’ll need to explore the field further on your own. This includes not only the skills to design and build computational models, but also to design experiments to test those models, to write and present your results, and to read and evaluate results from the scientific literature.
While our relationships between ourselves, our environment, and other people are inherently political, computer technologies and technology companies consistently claim to remain “neutral”. This course will assume the opposite – software is political – and focus on how software applications share commonalities with political systems, how they affect their users as political actors and how we can build alternatives to those systems. This course is aimed at deconstructing the design and implementation of software as a political medium, such as Facebook’s timeline algorithm, city officials’ use of computer simulations to orchestrate urban life, blockchain-backed proof of ownership and algorithmic criminal assessment. Along with an introduction to political theory and media studies, coupled with an exploration of the underlying political impacts of those systems, students will work on several hands-on projects to offer functioning alternatives to those systems. To that end, this course will include several workshops in JavaScript and Python.
This course will introduce students to the design and development of Virtual Reality experiences. We will examine these increasingly popular means of delivering content and social interactions and identify their unique affordances over existing platforms. Students will be challenged to harness the specific advantages of VR from conception through functional prototype. The class will also cover case studies of effective use of VR in information delivery, as well as social and artistic experiences.
Data is at the heart of the increasing role technology has in our lives. Data collection and algorithmic processing are not only central to recent technical breakthroughs such as in AI and automation but have created new economic paradigms where data equals value and shape political approaches to power and control. Decisions based on algorithms affect society at large whether it’s changing the way we transport and distribute goods, or influencing the things we buy, the news we read or even the people we date. The world that algorithms see is data. For the average person, however, data is seldom more than an abstract idea. So what exactly is data? How is value extracted from it? And why should we care? How can we ethically balance the positive uses of data-driven systems with the threats they pose to discriminate and infringe basic human rights? This class seeks to untangle some of these issues practically and theoretically. Prerequisite: Creative Coding Lab or equivalent programming experience. Fulfillment: CORE AT; IMA/IMB elective.
Application Lab is an intensive project-driven course where students explore current challenges and opportunities at the intersections of emerging media and innovation through the lenses of design, prototyping and innovation. The course seeks to help students understand how these high-level concepts intersect with skills to form the basis for new applications of technology and human industrial art. At the end of this course, students will be able to think critically and holistically about not only what makes innovations possible but will also how to utilize emerging media technologies and ideas to bring innovations into the world that respect and acknowledge the values of design, iteration and innovation. Prerequisite: None. Fulfillment: IMA Major Other Foundation/Electives; IMB Major Emerging Media Foundation/ Interactive Media Elective.
Exhibition: Next class is an exploration and observation of the fields of exhibition design and museum studies. This class will explore how emerging and interactive technologies can be applied to museum and exhibition design to enhance visitors’ experiences. What is an exhibition in a museum of today and how should it be experienced? What is the role of a museum in contemporary society? How does it engage the audiences of tomorrow? The class discusses curatorial practices, various exhibition concepts and forms, museum visitor experience, and exhibitions’ social values. Students will visit and immerse themselves in many museums and exhibitions as a professional observer who will be asked to write reflections of their observations as an essay for each museum visit. Students will choose a research topic at the beginning of the class and they will start collecting materials, building objects, designing experiences, and writing a statement for their final exhibition based on this topic. Students’ design work will be frequently reviewed and given feedback by the instructor, classmates, and guest speakers/critics. After the midterm, the instructor will initiate a collaboration with a local museum or art space. Based on the specific circumstances, students will face a design challenge to propose an exhibition proposal or provide a creative solution to the partner organization. By the end of the course, students will install and present their work as a group art show in the student art gallery. Prerequisites: Interaction Lab or Creative Coding Lab Fulfillment: IMA Major Electives; IMB Major Interactive Media Elective.
User experience design (UXD, UED, or XD) is the process of enhancing user satisfaction with a product by improving its usability, accessibility, and desirability provided throughout the user’s interaction with a product. The class is designed for those who are passionate about creating user-centered experiences with interactive media. Students are encouraged to empathize with users, engaging them to make informed design choices from prototype right through to project completion. Prerequisites: None Fulfillment: IMA/IMB elective.
In this foundation course students will explore the possibilities of emerging media by successively producing projects that make use of digital images, graphics, audio, and video. The course is designed to provide students with a framework to effectively communicate and tell stories through digital means. Students learn through hands-on experimentation in a laboratory context and the principles of interpersonal communication, media theory, and human factors will be introduced in readings and investigated through discussion. Adobe Creative Cloud and other relevant software applications will be examined to establish a diverse digital toolkit. Both traditional and experimental outputs will be explored. Weekly assignments, group and independent projects, as well as documentation of projects will be assigned in each of the core areas of study. Prerequisite: None. Fulfillment: IMA Major Other Foundation; IMB Major Emerging Media Foundation.
Music and Gameplay is an intensive course concerned with digital games in which the gameplay is fundamentally influenced by, or oriented around a musical system. In this course, students will engage with music games in a variety of ways: through critical play, design practice, and hands-on development. This multifaceted approach will foster an understanding of how interactive game mechanics can be linked to music expression. Throughout the course, we’ll be drawing inspiration from a variety of music games across 3 major categories:
Intro to Game Animation builds a foundation for animating in interactive media. From a basic overview to a deep dive into the animation process, this course will teach students how to craft a performance to create unique characters and tell a story. Students will be taught to look through the eyes of an animator, investigating how successful games utilize animation principles, and how these principles and techniques functionally serve overall game design. This class encourages students learn through practical experience, teaching familiarity with the animation principles in a 3D environment. This class is beneficial for an artist seeking to be an animator. This class will also benefit developers and designers by providing them a better understanding of the importance of animation and how it fits into the game development pipeline, providing a comprehensive understanding of the game industry as a whole.
Roleplaying games represent one of the most important design spaces in modern gaming. Beginning in the early 70s, these games quickly took root and influenced games far beyond their own sphere. Mechanisms like levels, classes and hit points have been adopted in a far-reaching swath of board, card, digital and mobile games. But despite their influence, the design of RPGs is largely unexamined. This class will walk students through the design process from concept, to testing, to writing and production. At the same time, students will engage in meaningful play with historically significant games. From week to week the students will experiment with and design systems for roleplaying games with the ultimate goal of designing a complete game as part of a team.
Intermediate Programming for Games is an undergraduate level course aimed at taking students further with their knowledge of creative coding. This builds upon existing skills developed during Introduction to Programming for Games. Students’ skills within the Unity3D Game Engine with C# will be furthered, as well as their general procedural problem-solving skills and abstract programming knowledge. Throughout the semester, students be assigned weekly homework, as well as in-class practical work, or ‘game jams’. While students will be creating small games in class weekly, there will also be two larger game creation assignments – one midterm, as well as one final game. Most importantly, this course takes the approach that building up a student’s repertoire of advanced techniques in computer programming will expand their ability to express their artistic vision within their games. In addition, those students with a particular aptitude and interest for programming may also use this class to stepping stone towards a double major with computer science/game engineering. This class has Introduction to Programming for Games as a pre-requisite, and Introduction to Game Development as a pre-requisite or co-requisite.
The traditional deck of cards is a device of unparalleled convenience, accessibility, and flexibility. As pocketable as a harmonica yet possessing the spectrum of a piano, this humblest of gaming platforms supports an amazing variety of games: historical classics, 20th century classics, and games by modern game designers, ranging from children’s games to the most intense mental contests, along with everything in between. Every game designer should be conversant with the basic history of playing cards, possessed of a wide selection of games that can be played with a standard deck, and comfortable with using it as a design tool that often cuts straight to the heart of a game mechanic.
Game and Players gives students an overview of player-focused approaches to understanding game play, from a variety of methodological and theoretical frameworks. The class combines readings and analysis with exercises that give students hands-on experience with the methods discussed.
“Procedural generation” describes the broad category of techniques by which elements of digital games that have traditionally been designed by hand (e.g. levels, characters, puzzles, and narrative) can be designed by automated processes. In recent years, these techniques have been a major topic of interest for computer science research as well as a core design component of many commercially successful games. The course will teach students to understand and implement these techniques, and explore how to best combine procedural generation techniques with good design practice to produce interesting and novel experiences (rather than just using procedural generation techniques for technical curiosity). Emphasis is also placed on how procedural generation can uniquely harness the affordances of computers for designing games. The course is fundamentally practical. While students will study existing games and techniques, they will also produce games of their own across the three assignments.
Intermediate Game Design builds on the foundation of Introduction to Game Design to help build students’ understanding of how game design works in a practical context. While Introduction to Game Design acquaints students with basic foundational concepts and ideas, Intermediate Game Design puts those ideas into action across four very different kinds of projects. These projects emphasize the professional context of digital game design.
Identity and representation are two of the most pressing and complex issues for contemporary video games, that without recognizing them an artist or critic would be missing a large part of how games are important in culture. With growing art and activist communities, video games are diversifying and grappling with a wide range of topics rarely seen before in the genre, and with it a greater need for informed perspectives on the topic of how marginalized people are depicted in media. This course discusses foundational theories of identity and encourages students to contribute their own ideas towards the design and interpretation of representation in games.