CS 698H: Human Centered Computing

Course timing: WThF 11-1150

Course Location: KD103

Units: 3-0-0-0 (9)

Pre-requisites: instructor consent, working knowledge of Matlab/Octave/python

About the course

Human-centered computing(HCC) studies computing systems that are designed to support human activity. For example, search engines support information search, e-commerce supports economic consumption; increasingly, computing systems are also taking over managerial and organizational roles in service-sharing ecosystems. At the core of all such systems lie assumptions about the needs and expectations of humans, their eventual design is meant to facilitate these expectations. How specifically should a natural language search query be interpreted, based on a user’s past search history? How diverse should a music playlist recommendation be, based on the current pattern of song choices of the user? The academic discipline of HCC studies such questions in the bigger theoretical structure of a two-way interaction between agent expectations and system design: systematizing various elements of human behavior that can be reliably measured by computing systems; and determining how best to design computing systems that can adaptively interact with such behavioral elements.

This course offers a hands-on introduction to human-centered computing: reviewing a subset of current applications and open problems. The course comprises four modules, each one built, studio-style, around a hands-on mini-project that students will work on, individually or in groups.Theory and empirical methods will be introduced to the extent that they help the students with their projects. The course will begin with addressing topics relevant to currently mature technologies (search), transition to address currently active (recommender systems) and inchoate(affective computing) research areas and finally touch upon the common core of AI research that is the theoretical frontier in human-facing computing (goal-directed agents).

Reference Books

Croft, Metzler, Strohman. Search engines: Information Retrieval in practice. Pearson Education

Pang, B., & Lee, L. (2008).Opinion mining and sentiment analysis.Foundations and trends in information retrieval, 2(1-2), 1-135.

Picard, R. W., & Picard, R. (1997).Affective computing (Vol. 252). Cambridge: MIT press.

Shapira, B., Ricci, F., Kantor, P. B., &Rokach, L. (2011).Recommender Systems Handbook. Springer Press

Sutton, R. S., &Barto, A. G. (1998).Reinforcement learning: An introduction (Vol. 1, No. 1). Cambridge: MIT press.

Course outline


Lesson 1: Intro, logistics, overview

Lesson 2: Introduction to small data

Lesson 3: Different flavors of mathematical/computational models

Lesson 4: Model fitting, evaluation metrics

Lesson 5: Parameter estimation, model selection and non-parametric methods


Module 1: Search

Mini-project (Construct a topic model to generate topical autocomplete suggestions)

Lesson 1: Classical search/information retrieval

Lesson 2: Query completion

Lesson 3: Contextual/topical search foci

Project intro lecture

Lesson 4: Information scent and other foraging models

Lesson 5: Temporal information retrieval

Lesson 6: Serendipity, discovery


Project presentations

Module 2: Preferences

Mini-project (Improve upon a baseline recommender system using Movielens data)

Lesson 1: Recommender systems

Lesson 2: Collaborative filtering

Lesson 3: Feature selection, SVD

Project intro lecture

Lesson 4:Different flavors of recommender systems

Lesson 5:Validation, measurement metrics

Lesson 6: Diversity


Project presentations

Module 3: Emotions

Mini-project (Run a basic sentiment analysis on IMDB/Yelp reviews)

Lesson 1: Theories and schema

Lesson 2: Sentiment analysis

Lesson 3: Affect measurement (computer vision, survey instruments, activity monitoring)

Project intro lecture

Lesson 4: Chatbots to emotebots

Lesson 5: Brain-computer interface

Lesson 6: Boredom/ennui


Project presentations

Module 4: Goals

Project (Simulate a roomba)

Lesson 1:Basic goal-directed agents

Lesson 2:Hebbian/reinforcement learning

Lesson 3: Explore-exploit dilemma

Project intro lecture

Lesson 4: Curiosity, perseverance, intrinsic motivation as goals

Lesson 5: Gamification

Lesson 6: Deep principles – flow,connectedness, homeostasis, etc.


Project presentations