University of Notre Dame


Human-Computer Interaction(Fall 12; Fall 13; Fall 14; Fall 16)

CSE 40424/60424 PSY 40676/60676 (Undergraduate/Graduate course cross listed in Computer Science and Psychology Departments) 

You will engage in 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 (e.g., conceptual models, stages of execution, error analysis, constraints, memory by affordances), design methods (e.g., user-centered design, task analysis, prototyping tools), visual design principles (e.g., visual communication, digital typography, color, motion), evaluation techniques (e.g., heuristic evaluations, model-based evaluations), and emerging topics (e.g., affective computing, natural user interfaces).



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

CSE 40171/60171 PSY 40675/60675  (Undergraduate/Graduate course cross listed in Computer Science and Psychology Departments)  

Artificial Intelligence is a fascinating topic that integrates the basic scientific goal of understanding how minds work with the engineering goal of creating intelligent machines to solve real-world problems. It encompasses a number of fields including computer science, engineering, cognitive psychology, neuroscience, and philosophy. In this course, you will obtain 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. Some (out of the many) things you will learn includes how to design computers to play chess intelligently, to understand human language, to recognize handwriting, to detect plagiarism, to solve complex puzzles, to make difficult decisions with imperfect information, to plan for the future, to store and retrieve memories like humans, and to learn from experience.

 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)

Entitled “Emotion, Cognition, Computation, the Cognitive Science Seminar for Spring 2011 will attempt to integrate relevant perspectives on emotions from the interdisciplinary arena encompassing the affective sciences, cognitive psychology, clinical psychology, computer science, and other related areas. Emotions are notoriously difficult to study. They have been extensively investigated by philosophers, psychologists, neuroscientists, and, most recently by artificial intelligence (AI) researchers. Philosophers study emotion conceptually in the contexts of ethics, values, etc. Psychologists study them scientifically, treating them as bodily and mental processes and experimenting with human subjects. Mostly concerned with underlying neurological processes, cognitive neuroscientists apply imaging techniques, EEG, and single cell recordings. AI researchers often develop software agents and robots with artificial emotions as motivators and facilitators of learning. They also develop agents and robots that can recognize human emotions and respond appropriately. During this semester the Cognitive Science Seminar will be devoted to the study of emotions in the context of cognition, as well as to artificial emotions in software agents.


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.