Teaching


University of Notre Dame

Human-Computer Interaction(Fall12; Fall 13; Fall 14)

CSE 40424/60424 PSY 40676/60676 (Undergraduate/Graduate course cross listed in Computer Science and Psychology Departments) 
An in-depth exploration of the field of Human-Computer Interaction (HCI) including its history, goals, principles, methodologies, successes, failures, open problems, and emerging areas. Broad topics include theories of interaction and design (e.g., stages of execution, error identification, natural constraints, memory by affordances), design principles (e.g., visual design, multimodal design, emotional design), design methods (e.g., user-centered design, task analysis, prototyping tools), evaluation techniques (e.g., inspection-based evaluations, model-based evaluations) and emerging topics (e.g., affective computing, augmented cognition, social computing, ubiquitous computing).

Artificial Intelligence (Spring 12; Spring 13; Spring 14)

CSE 40171/60171 PSY 40675/60675  (Undergraduate/Graduate course cross listed in Computer Science and Psychology Departments) 
A broad overview of the field of Artificial Intelligence (AI), including its historical and philosophical foundations, classical and contemporary approaches, cognitive systems, and recent trends and applications. Topics include traditional AI techniques (e.g., searching, problem solving, knowledge representation and reasoning, planning, constraint satisfaction, decision making), probabilistic and network based approaches (e.g., Bayesian models, neural networks), computational models of cognition (e.g., models of perception, action, memory, cognitive architectures), and recent developments in natural language processing, speech recognition, robotics, human-computer interaction, machine learning, and computational emotions.

University of Memphis

Cognitive Science Seminar on Emotion, Cognition, and Computing (Spring 11)

COMP 7/8514, PSYC 7/8514, PHIL7/8514 (Cross listed in the Computer Science, Psychology, and Philosophy Departments - Co-taught with Stan Franklin)
Cognitive Science Seminar on Emotion, Cognition, and Computing. 

Data Structures (Summer 2008)

Comp 2150 (Computer Science Department)
Principles of object-oriented programming and software development; problem solving with recursion and abstract data types, including linked lists, stacks, queues, trees, binary search trees; basic sort and search algorithms.

Psychological Statistics (Spring 2008)

Psyc 3001 (Psychology Department)
Introduction to use of statistics in psychology, with emphasis on elementary theory of measurement and computation; measures of central tendency and variability, tests of significance, correlation procedures, and an introduction to multivariate analyses, analysis of variance, and nonparametric procedures.

Seminar in Experimental Psychology (Computer Programming for Psychologists) (Fall 2007)

Psyc 7503/8503 (Psychology Department)
Developed new graduate course to teach fundamental problem solving and computer programming skills to analyze data. These include techniques for deriving problem solutions and use of basic programming concepts such as variables, constants, data types, arrays, loops, and conditionals. Intermediate concepts include reading and writing from files, functions and procedures, string manipulation, and data structures. Advanced topics include an introduction to SciPy (a scientific library in Python), Tkinter (GUI development), and automated SPSS techniques.