Skip to main content

Hands-On Computing for Cognitive Science 

Department: Cognitive Science                                 

Instructors: Eric Leonardis 
Instructors' Emails:
Prerequisites: None

Schedule: Zoom; Monday-Friday 1:00pm-4:00pm PST

Course Description

To explore Cognitive Science and gain hands-on practical skills in programming, students will learn how to simulate agents/robots to complete goal oriented tasks as well as a variety of natural systems from physics and biology. No previous programming experience required, this course is intended to help students build foundational computational skills. We will be using Processing programming language. Processing is an open-source graphical library and integrated development environment built for the electronic arts, new media art, and visual design communities with the purpose of teaching non-programmers the fundamentals of computer programming in a visual context.

Along the way, we will learn about the history of cybernetics, chaos theory, feedback loops, and circular causality. This class is designed to develop hands-on skills for fundamentals in computer programming and computational modeling of cognition. We will create computational models of weather patterns, predator/prey models, dancing, maze navigation, and students will create a final project of their own.

Course Goals / Learning Objectives

  • Students will learn how to use Processing programming language from the ground up. Students will go from little to no programming experience to having a whole new toolkit for future research.
  • Students will gain an understanding of dynamical systems theory and its relation to cognitive science.
  • Students will learn to implement computational models of complex systems

Tentative List of Topics

  • Introduction to Chaos Theory and Dynamical Systems
  • Introduction to Processing
  • Variables and Mouse Events
  • Functional and Object-Oriented Programming
  • Flow Control
    • Conditional Statements (if / then)
    • Logical Statements (AND/OR/NOT)
    • Loops: for and while
  • Forces and Vectors
  • Images, Shapes, and Motion
  • Virtual Dance Competition
  • Weather Systems (Lorenz attractor)
  • Predator/Prey Models
  • Game of Life / Reaction-Diffusion
  • Virtual Maze Navigation


*Courses vary by experience and exposure to content. Instructors have the ability to change content and pace to serve the needs of students. Courses have been modified for online teaching.