Skip to main content


Students are encouraged to create a course sequence that best supports their individual research, dissertation, and teaching plans. See the TSB Handbook for more information on course requirements. Recently offered courses include:

Algorithmic News Media

Instructor: Nick Diakopoulos

The increasing role that algorithms and automation are playing in the production of information is rapidly changing the ways in which the news media is authored, curated, disseminated, and consumed. This graduate seminar provides an overview of the latest developments in algorithmic news media on topics including journalistic data mining, automated content production, news bots, platform dissemination, and algorithmic accountability and transparency. Themes of value-sensitive design, labor, and sustainability will be discussed with respect to how algorithms impact the public sphere.

Artificial Intelligence Programming

Instructor:Chris Riesbeck

Introduction to Lisp and programming knowledge-based systems and interfaces. Strong emphasis on writing maintainable, extensible systems. Topics include: semantic networks, frames, pattern matching, deductive inference rules, case-based reasoning, discrimination trees. Project-driven. Substantial programming assignments.

Communicating Your Research

Instructors: Elizabeth M Gerber and Steven Franconeri

You have an exciting research finding. But to inform and inspire your audience, you need to communicate it in a way that is clear, relatable, engaging, and memorable. Most graduate students spend surprisingly little time learning this critical professional skill. This studio course will introduce you to the fundamentals of communication design, including graphic design, cognitive resonance, data visualization, and storytelling. You will also learn the design process, which emphasizes collaboration and rapid iteration – expressing and testing ideas with an audience in a virtuous cycle. You will develop this understanding through weekly presentations, studio critique, and in-class and out of class assignments. No previous experience is required. This interdisciplinary graduate seminar is targeted to Ph.D. students across domains, with the additional benefit of broadening your intellectual and social networks across programs at Northwestern.

Complex Network Analysis

Instructor:  Ágnes Horvát

Ubiquitous networks have transformed fundamentally the way we experience and interact with the world. Network science aims to capture the essence of this interconnectedness. This graduate seminar is centered on reading articles that represent cutting edge research on social, communication, and economic networks. It covers the following topics: the role of connectedness in success, superstars and influentials, recommendation, crowd wisdom and herding, teams and collaboration, machine learning, and experimentation on networks. Students learn about a selection of techniques for exploratory visualization, statistical modeling, stochastic simulation, text mining, and predictive analytics. The studied methods are useful across a variety of fields in which aggregate human behavior and network effects play a crucial role.

Computational Communication

Instructor: Nick Diakopoulos

This research seminar offers an overview of the emerging field of computational communication including a sampling of methods for computational modeling, content analysis, network analysis, and simulation of communication-oriented data, as well as the application of critical approaches, and the empirical study of computational communication systems mediated by algorithms and AI. Through engagement with the latest scholarship in the field, the emphasis of the course is not on methodological mechanics, but rather on developing conceptual, strategic, and critical thinking to assess opportunities that computational methods and computational advances in society create for communication research. 

Computer Science Education

Instructor: Michael Horn

In this course we will examine the role of computational tools in the design of transformative teaching and learning environments. Grounded in perspectives from the Learning Sciences and Computer Science Education, we will cover topics of equity and inclusion, pedagogy, creative applications of computing, and the integration of computational ideas across multiple disciplines. We have cross-listed the course in Computer Science, Learning Sciences, and Teacher Education in order to foster cross-disciplinary dialogues that consider the affordances of computational ideas for designing learning environments that are asset-based and supportive of multiple routes to understanding various subject-matter. The course will include an optional practicum experience working in a K-12 classroom, informal learning space, or college-level classroom.

Conversational AI

Instructor: Ken Forbus

Principles and practice of creating AI conversational interface systems. This includes knowledge-rich natural language understanding, multimodal interaction (speech and sketching), principles of dialogue drawn from cognitive science, question-answering, and architectures for building conversational systems. Involves substantial programming and project work.

Data Economics

Instructor: Jason Hartline

This is an advanced topics seminar that will consider theoretical topics in the space of data economics. As data science transforms science and society, it is important to develop the economics of data. Collecting data is costly, possessing data gives market power, sharing data has risks and benefits, conclusions from data depend on data quantity and quality. The readings of the course will be drawn from the recent and classic literature pertaining to data economics. Topics include: valuing data, eliciting data, incentivizing data collection and sharing, adaptive data analysis, and game theory with data.

Deep Learning

Instructor: Bryan Pardo

Deep learning is a branch of machine learning based on algorithms that try to model high-level abstract representations of data by using multiple processing layers with complex structures. Some representations make it easier to learn tasks (e.g., face recognition or spoken word recognition) from examples. One of the promises of deep learning is replacing handcrafted features with efficient algorithms for unsupervised or semi-supervised feature learning and hierarchical feature extraction.

In this course students will study deep learning architectures such as autoencoders, , convolutional deep neural networks, and recurrent neural networks. They will read original research papers that describe the algorithms and how they have been applied to fields like computer vision, automatic speech recognition, and audio event recognition.

Design of Problem Solvers

Instructor: Ken Forbus

Principles and practice of organizing and building AI reasoning systems. Topics include pattern-directed rule systems, truth-maintenance systems, and constraint languages.

The Design of Tools and Technologies for Computer Science Education

Instructor: Eleanor O’Rourke

This seminar class will focus on reading research papers about the design of tools and technologies for computer science education and conducting individual research projects in this area. The course will cover computer science education across a variety of contexts, including formal and informal learning spaces at the K-12 level, university level, and adult/professional level. We’ll read papers about the design of different tools and technologies to facilitate learning computational ideas, including IDE design, physical programming and making, crowdsourcing systems, and learning analytics. There will be a final project component, ideally related to each students’ own personal research interests, that will touch on the topics covered in class. By the end of the quarter, students will have a broad understanding of current research in computer science education and how tools and technologies can be designed to support and foster learning in this domain. Students will also have a chance to practice reading and reflecting on research papers, presenting and leading discussions, and conducting their own independent research in this space.

Environment and Climate Issues in MTS

Instructor: James Schwoch

This Ph. D. seminar investigates environmental and climatological issues in relation to the field of Media, Technology, and Society. The seminar is organized into five themes: Land, Sea, Sky, Animals, Humans. In addition to readings, discussions, screenings, and in-class presentations, students will conduct research relevant the themes of the class and their own research trajectories.

Explanation and reproducibility in data-driven science

Instructor: Jessica Hullman

In this seminar course, we will consider what it means to produce reproducible explanations in data-driven science. As the complexity and size of available data increases, intuitive explanations of what has been learned from data are in high demand. However, what does it mean for an explanation to be accurate and reproducible, and how do threats to validity of data-driven inferences differ depending on the underlying goal of statistical modeling? The readings of the course will be drawn from recent and classic literature pertaining to reproducibility, replication, and explanation in data inference published in computer science, statistics, and related fields. The course is structured in three parts. In part one we will examine recent evidence of problems of reproducibility, replicability and robustness in data-driven science. In part two we will examine theories and evidence related to causes of these problems. In part three, we will consider solutions and open questions. Topics include: ML reproducibility, the social science replication crisis, adaptive data analysis, causal inference, generalizability, and uncertainty communication.

Foundational Theories of Media and Communication

Instructor: Thomas J Billard

Communication” as a field does not, per se, exist. As Silvio Waisbord has argued, communication is a “post-discipline,” held together more so by a set of academic institutions, professional societies, and publication venues than by any coherent canon of theories or set of standard methodologies. Yet you are here to receive training in this so-called field, under the presumption that you will become experts in “communication.” This graduate seminar provides an overview of theories that are widely considered foundational to various subdisciplines under the umbrella of communication studies. The goal here is not to exhaust the set of “core” theories, but to provide a starting point for investigation into a few of the most common areas of study. Additionally, the seminar aims to train students in the process of producing social theory regarding media and communication.

Game Design and Development

Instructor: Ian Horswill

Fundamental concepts of software for computer games and other simulation-based media. Topics will include game design (selecting rules, resources, and player objectives), 2D and 3D game programming, representation of space, physics and collision detection, 3D animation engines, and performance engineering issues for real-time rendering.

Generative Deep Models

Instructor: Bryan Pardo

Deep learning is a branch of machine learning based on algorithms that try to model high-level abstract representations of data by using multiple processing layers with complex structures. One of the most exciting areas of research in deep learning is that of generative models. Today’s generative models create text documents, write songs, make paintings and videos, and generate speech. This course is dedicated to understanding the inner workings of the technologies that underlie these advances. Students will learn about key methodologies, including Variational Autoencoders (VAEs), Generative Adversarial Networks (GANs), and Transformer-based language models. This is an advanced course that presumes a good working understanding of traditional supervised neural network technology and techniques (e.g. convolutional networks, LSTMs, loss functions, regularization, gradient descent).

HCI Methods for Health Research

Instructor: Maia Jacobs

Health technologies are now being used by providers to improve care and by people as they manage their health in everyday life. This course will survey research at the intersection of HCI, CSCW, and mental health. We will review research methods being used to understand healthcare processes, collect health data, and design digital health interventions.

This seminar is intended for doctoral students with ongoing projects related to HCI and health. Through this seminar course, students will get exposure to the theories and sociotechnical principles that help in creating effective interventions, and methods for evaluating their success.

HCI Studio

Instructors: Maia Jacobs and Haoqi Zhang

Human-Computer Interaction (HCI) serves as the bridge between computing and humanity. The effective design of HCI systems requires a keen understanding of how interfaces and computer systems usefully support human endeavors (or not). Why would a particular set of characteristics of a system lead to reaching a desired outcome, while others encounter an obstacle? How might a good argument for a design be instantiated with effective interface and system models? Taking a step back, are our solutions actually addressing the underlying problem that humans face? What is actually the problem?

Through the studio method, we will, as a learning community, learn to ask and answer these questions for ourselves. One focus will be on developing our critical thinking and problem solving skills through team projects and studio critique, with special emphasis on learning more effective structures and representations for thinking about the design of HCI systems. Another focus will be on learning to soften into a deeper understanding of problems that people encounter than we might at first assume – that is, developing our capacities for humility, empathy, and curiosity. Last but not least, we focus on *doing* — agile sprints, rapid prototyping and testing, iterating — learning to face and embrace fears, imperfections, failures that may otherwise hold us back from moving forward. Through this we will learn to become more skillful in how we work on difficult problems.

Human Computer Interaction

Instructor: Matt Kay

Introduction to human-computer interaction and the design of systems that work for people and their organizations. The goal is to understand the manner in which humans interact with, and use, their computers for productive work. The course focus is on the interface as designed artifact. The interface is a design problem without a single “correct” solution but which has many “good” solutions and a plethora of “bad” solutions. Class discussion centers on what makes an interface good and proven techniques for designing interfaces that meet human needs.

Inclusive Making

Instructor: Marcelo Worsley

Excitement for the Maker Movement continues to grow. Part of this growth stems from the idea that Making provides a means for democratization of fabrication and invention. While this is true, in part, the practices and people that are typically included under this brand are limited. In particular, issues of diversity, equity and inclusivity are seldom at the forefront of the design and implementation of Makerspaces, the tools used, or the artifacts created. Hence, the purpose of this course is to bring issues of diversity, equity and inclusivity to the forefront. The goals of this course are to push us to: (1) Challenge our assumptions about the values and practices of making; (2) Reflect on our assumptions around disability and accessibility; and (3) Learn to situate and address the various factors (e.g., technological, social, political, economic, pedagogical, and cultural) that contribute to inaccessible designs, including to develop interfaces and activities that allow a broader population of students to participate in digital fabrication and to design artifacts that positively impact accessibility and inclusivity.

Innovation in Journalism & Technology

Instructor: Kris Hammond

This is a joint projects class with Medill in conjunction with the Knight News Innovation Lab at Northwestern. McCormick students (primarily CS and CE majors) and journalism students will join cross-functional teams to assess and develop, from both an audience/market perspective and a technology perspective, a range of technology projects with the ultimate goal of deployment for impact in media and journalism. Some projects may continue over the summer if students are interested.

Innovation Lab: Building Technologies for the Law

Instructors: Kris Hammond and Daniel Linna

The Innovation Lab is an interdisciplinary course designed to immerse students in the innovation process. This course focuses on the legal, business, technical, teamwork, design, presentation, and other skills involved in that process. Students will work as part of a multidisciplinary team to explore a problem relating to the legal profession, understand the stakeholders’ needs, brainstorm, prototype, and test ideas, and iterate through the develop.

Our process combines user and audience research, design thinking, critical and analytical work, iterative building, storytelling, new technology, and a healthy dose of experimentation–often within the confines of a single, specific problem.

Each quarter, we create multidisciplinary teams of Northwestern students, faculty, and professionals to collaborate on projects we believe are important for the future of media. That could mean everything from making obscure data more available to journalists to solving questions around how to best navigate space in virtual reality. The Lab places students at the center of these important problems for 10 weeks. We work together to identify problems and to find solutions.

Interactive Information Visualization

Instructors: Jessica Hullman and Matt Kay

When well designed, visual displays of data capitalize on human facilities for processing information and improve comprehension, memory, inference, and decision making. Creating visualizations is getting easier thanks to a proliferation of digital tools for transforming and visualizing data. Yet the best visualizations are still often creating by skilled human designers who have considerable experience with design analysis.

In this course we will consider what it means for a visualization to be effective and what sorts of principles, techniques and algorithms from statistics, graphic design, databases, perceptual psychology, cognitive science and related fields can help us create effective visualizations. Though there are different uses of the term “visualization” in popular media, for the purposes of this class, we will treat information visualization as the use of interactive interfaces to visually represent abstract data. The course is targeted both towards students interested in using visualization in their own work, as well as students interested in building better visualization tools and systems. In addition to participating in class discussions, students will demonstrate their learning through weekly short quizzes and several assignments requiring visualization design, exploratory data analysis, and interactive visualization implementation.

Internet-scale Experimentation

Instructor: Fabián Bustamanten

Internet-scale Experimentation is a graduate-level seminar exploring the challenges of large-scale networked system experimentation and measurements.

Intro to Artificial Intelligence

Instructor: Rotates. In 2023: Larry Birnbaum

Core techniques and applications of artificial intelligence. Representation retrieving and application of knowledge for problem solving, planning, probabilistic inference, and natural language understanding.

Intro to Natural Language Processing

Instructor: Larry Birnbaum

A semantics-oriented introduction to natural language processing, broadly construed. Representation of meaning and knowledge inference in story understanding, script/frame theory, plans and plan recognition, counter-planning, and thematic structures.

Online Markets

Instructor: Jason Hartline

Online markets are causing significant changes to society. Examples include eBay, airBnB, tinder, Uber, stackexchange, and Amazon. This class gives an introduction to the science of online markets combining topics from game theory and economics with topics from machine learning and algorithms. The two main topics of interest are how individuals in these market places optimize their strategies and how the market designer optimizes the rules of the market place so that, when individuals optimize their strategies, desired market outcomes are achieved. Student work will be a mix of problem sets and short projects.

Qualitative Methods for Understanding Technology

Instructor: Duri Long

This course is for graduate students who will conduct qualitative research on the behavioral and social aspects of technology use and technology design. The objective of this course is to give MTS and TSB students practical, hands-on experience with observation, interviewing, and qualitative analysis techniques. The course is run as a working seminar. Students are expected to collect their own qualitative data throughout the term. Students are also responsible for selecting and leading discussion on weekly readings. Assignments throughout the term will allow students to apply the methods discussed in class. In addition to four assignments, students will submit a final course paper in which they are expected to apply the methods learned about in the course.

Qualitative Reasoning Seminar

Instructor: Ken Forbus

How people reason and learn about the continuous world is one of the central problems in cognitive science. It is key to understanding how commonsense reasoning works about the physical and social world. This seminar will explore ideas from qualitative reasoning, which provides representations that support human-like reasoning and learning.

Social Network Analysis

Instructor: Noshir Contractor

Networks play an increasingly important role in our understanding of human behavior. In communication and the organizational sciences, extraordinary developments in computing and telecommunications have engendered new organizational forms based on fluid, dynamic networks. These new network forms of self-organization are constantly evolving in dynamic communities as new network links are created and dysfunctional ones dissolved. While many writers assert that the capability to nurture networks will differentiate dominant 21st century organizations, little is known about how this important organizational form emerges and evolves.

This seminar is intended to review theoretical, conceptual, and analytic issues associated with network perspectives on communicating and organizing. The course will review scholarship on the science of networks in communication, computer science, economics, engineering, organizational science, life sciences, physical sciences, political science, psychology, and sociology in order to take an in-depth look at theories, methods, and tools to examine the structure and dynamics of networks.

Most class time will be spent discussing the assigned readings. Laboratory exercises will provide experience with network analysis, modeling and visualization tools. A term paper is expected advancing some theoretical, methodological, or computational aspect of network science.

Sports, Technology, and Learning

Instructor: Marcelo Worsley

Sports, Technology and Learning examines the apparent alignment and discrepancies among these three areas. It also looks at how sports intersects with race, gender, nationality, disability, and other aspects of one’s identity. Students will read conference and journal papers, watch sports-related movies, critique existing sports-related technologies and prototype their own technologies. The course also includes guest speakers from other universities, industry, sports teams and more.

In addition to in-class discussions and student reflections, students complete a course project. The course projects can take on many different forms. Some possible project areas include creating a custom wearable device, using data mining to model or predict sports-related behaviors or actions, or designing a curriculum to engage student-athletes in consequential learning experiences. Projects can be completed in groups or individually. Some elements of the course will involve students using different computer programming tools. However, no prior experience with programming is required. Current and former student-athletes are strongly encouraged to enroll.

Statistics and Statistical Programming

Instructor: Aaron Shaw

This course provides a get-your-hands-dirty graduate-level introduction to applied statistics and statistical programming focused on the empirical social sciences and social computing research. Course participants will acquire the conceptual, technical, and practical skills to conduct independent statistical analyses and become more sophisticated consumers of quantitative research in communication, HCI, and adjacent disciplines. The course will probably cover techniques such as: hypothesis testing, t-tests, chi-squared tests, ANOVA, linear regression; and logistic regression using the R programming language for all examples and assignments. We will also consider salient issues in quantitative empirical research such as reproducibility and the statistical crisis in science. We may cover other topics as time and interest allow.

Tangible Interaction Design and Learning

Instructor: Michael Horn

Emerging interactive technologies are rapidly transforming the ways in which we work, play, communicate, and learn. Research on tangible interaction attempts to blur the line between digital technologies and the broader physical, social, and cultural worlds within which computer use is situated. This course will explore the use of tangible interaction to create innovative learning experiences and will review both theoretical and technological foundations of the field. Topics may include distributed cognition, embodied interaction, cultural forms, and tangible interaction frameworks.

Theories & Practice of Human Computer Interaction

Instructor: Darren Gergle

This graduate seminar course provides a broad and comprehensive introduction to human- computer interaction theory and research. The primary objective of the course is to equip students with an understanding of seminal work in the area of Human-Computer Interaction (HCI) through a combination of readings, videos, interactive demos and discussion. The course begins with a history of both applied and theoretical work in the area of human-computer interaction, and then transitions to cover the rapidly changing technological landscape and explore current and future research areas. Topics will include interaction techniques, social computing and the social web, context-aware computing, mobile interfaces, information visualization, among other topics. The course is run as a seminar and students will be responsible for weekly readings, leading weekly discussions, written assignments, and a final exam.

Transformative AI and the Learning Sciences

Instructor: Eleanor O’Rourke

Over the past few years, the advancement of transformer models has revolutionized the field of machine learning and made AI systems such as ChatGPT widely accessible to the public. These developments in AI are rapidly impacting teachers, learners, and learning environments. This interdisciplinary graduate seminar explores the opportunities and risks associated with modern AI systems for learning sciences research and practice. To guide this exploration, we will engage in a variety of activities.

We will trace the arc of recent developments in machine learning models and algorithms with the goal of understanding their present and future impact on learners;

We will explore the impacts that modern AI systems are already having on teachers, learners, and industry by drawing on both academic and non-academic sources;

We will situate these advances within the learning sciences literature, taking a thoughtful and critical perspective that draws on theories of learning;

We will ask students to use ChatGPT as a support tool in this course. By engaging with AI technologies as learners, students will gain a first-hand perspective on the subject matter.

Visualization for Scientific Communication

Instructor: Matt Kay

This course focuses on developing visualizations for communicating in a scientific context: papers, posters, presentations, etc. Through mini-lectures and readings, it will provide a foundation in: (1) visual perception and visual design as they relate to information visualization; (2) the construction of effective data visualizations; (3) the effective use of visualization and text in scientific articles, posters, etc; and (4) careful and correct uncertainty visualization when communicating scientific results. Students are expected to bring some existing research project they are already working on; in a semester-long project they will design/redesign the visual communication of that work with detailed feedback from the instructor. No other background is assumed.

Wireless and Mobile Health (mHealth)

Instructor: Nabil Alshurafa

Wireless and Mobile health (mHealth) aims to improve our health and well-being by utilizing data provided by technologies such as wearables, IoT devices, and mobile phones. This course will cover foundational knowledge and topical work in mHealth. Students will learn the essential steps needed to create a mHealth system from conception to evaluation through assigned reading, group discussions, and some hands-on projects. Since mHeath is an interdisciplinary field, we will cover a range of literature in human-computer interaction, wearable systems, machine learning, and health. Readings, hands-on projects, and in-class activities will prepare students for their final creative assignment that involves writing and presenting a research proposal for a mHealth system or research idea. Although this course will cover some technical aspects of mHealth, we encourage students with different backgrounds to enroll as they will work in interdisciplinary teams.