Jonathan Schaeffer, PhD
Contact
Phased Post Retirement-Faculty, Faculty of Science - Computing Science
- jonathan@ualberta.ca
Overview
About
Education
- B.Sc., Computer Science, University of Toronto, 1979
- M.Math, Computer Science, University of Waterloo, 1980
- Ph.D., Computer Science, University of Waterloo, 1986
Positions
- Dean of Science (2012-2018)
- Vice Provost and Associate Vice President (Information Technology) (2008-2012)
- Chair, Computing Science (2005-2008)
Research
Areas
Artificial Intelligence
Computer Games
Summary
I am interested in anything to do with heuristic search (such as single-agent (A*) and two-player (alpha-beta) search). Single-agent search has important industrial applications including planning problems and optimization problems.
We work on commercial games with our partners Electronic Arts and BioWare. Some of the problems we are looking at are AI scripting, path-finding, earning, and testing. We have applied our work to role-playing games, sports games and real-time strategy games.
I am co-founder of Onlea (Onlea.org), the world's first MOOC (Massive Open Online Course) production company. Our mission is to create "Mindful online learning crafted with scholarship, creativity and quality." We strive to achieve the highest possible engagement, completion and retention rates in all of our products.
Courses
CMPUT 379 - Operating System Concepts
Introduction to the structure, components, and concepts behind modern general-purpose operating systems. Processes: process state transitions; operations on processes; interrupt processing; multiprocessor considerations; resource allocation; synchronization; critical sections and events; semaphores; deadlock: avoidance, detection, and recovery; memory management; virtual memory; paging and segmentation; page replacement strategies; working sets; demand paging; process scheduling; scheduling algorithms; file system functions; file organization; space allocation; virtual machines. Prerequisites: CMPUT 201 and 204, or 275; one of CMPUT 229, E E 380 or ECE 212.