This course engages the Internet as a medium for performance, exploring the concept of remote presence through personal and group projects. Students collaborate on multimedia performance pieces with partner universities in order to develop their own aesthetic vision of this largely-uncharted territory in a way that challenges established notions of audience participation, staging, human/agent interaction and inter-performer dialogue.
This course allows students to apply cutting edge research in machine learning and artificial intelligence to the performing arts, with particular emphasis on music and sonic arts, dance and movement arts, and performance art. Different paradigms for modeling behaviour will be explored (human perception/cognition, artificial evolution, agent-based systems), as well as critical questions surrounding machine creativity and intentionality.
Builds on the material covered in Introduction to Physical Computing II to explore more advanced topics in physical computing such as circuit board design and manufacturing, embedded computing, communications and protocols, among other topics, with an emphasis on research-creation in the development of novel projects. During the course students will develop a larger work for public presentation.
This course addresses 3D space as a creative computational medium, by weaving theory, practice, software, and code drawn from research in human-computer interaction (HCI), mixed reality (a spectrum of merging real and virtual space, including virtual reality and augmented reality), computer vision, computer graphics, embodied and natural interaction, projection-mapping, ambient intelligence, and responsive environments. Students will develop responsive environments, utilizing technologies such as RGB-D cameras, stereoscopic projections, head-mounted displays, and loudspeaker arrays.
Explores the techniques of generative and parametric 3D modeling through the use of scripting and programming interfaces to professional grade render-time 3D modeling software tools such as Rhinoceros/Grasshopper, Maya, Solid Works, and Blender, and real-time 3D graphics tools and software such as Max, Processing, and software libraries such as OpenFrameworks, and Cinder which incorporate OpenGL and GLSL Shading Languages. These tools represent two domains, where one domain is geared toward the development of fixed content and 3D fabrication; the other is primarily virtual and interactive. A generative and parametric 3D modeling approach facilitates the integration of these two domains, whereby there is a real-time, interactive approach to the development of spatial content. Because the techniques presented in this course have wide implications, concepts and approaches will draw from fields of architecture, industrial design, art making, and other fields where computational methods are use to create 3D objects and forms.
This course addresses computation as a creative medium from a biologically-inspired standpoint to develop artworks, adaptive media and simulations approaching the fascinating complexity of nature. Frameworks explored in the course include complex dynamical systems, fractals, cellular automata, agent-based systems, evolutionary and developmental programming, artificial chemistries, and ecosystems.
This course explores the creation of interactive stage environments for live performance. Students investigate various strategies whereby on-stage 'events' (physical, vocal, physiological, etc.) manipulate audio, video and/or lighting events. Students are introduced to dedicated interactive and show control software, and become adept at programming interactive environments.
Students have the option of taking a Directed Reading course with any faculty member appointed to the Program, provided a suitable graduate course is not available in the current curriculum, and provided the course does not overlap significantly with a course taken previously. In all cases, the course will be directly relevant to the student’s thesis/dissertation project.
This course introduces the basic concepts in Computer Vision. Primarily a survey of current computational methods, we begin by examining methods for measuring visual data (image based operators, edge detection, feature extraction), and low-level processes for feature aggregation (optic flow, segmentation, correspondence). Finally, we consider some issues in "high-level" vision by examining current high-level vision systems.
This course introduces concepts in Robotics. The course begins with a study of the mechanics of manipulators and robot platforms. Trajectory and course planning, environmental layout and sensing are discussed. Finally, high-level concerns are introduced. The need for real-time response and dynamic-scene analysis are covered, and recent development in robotics systems from an Artificial Intelligence viewpoint are discussed.
This course will be an in-depth treatment of one or more specific topics within the field of Artificial Intelligence. Integrated with the undergraduate course Computer Science 4401.03.
Machine learning is the study of algorithms that learn how to perform a task from prior experience. This course introduces the student to machine learning concepts and techniques applied to pattern recognition problem in a diversity of application areas.
This course introduces advanced 3D computer graphics algorithms. Topics may include direct programming of graphics hardware via pixel and vertex shaders, real-time rendering, global illumination algorithms, advanced texture mapping and anti-aliasing, data visualization.
This course introduces the concepts and technology necessary to design, manage and implement interactive software. Students work in small groups and learn how to design user interfaces, how to realize them and how to evaluate the end result. Both design and evaluation are emphasized.
This course teaches the design and implementation of user interfaces for touchscreen phones and tablet computers. Students develop user interfaces that include touch, multi-touch, vibration, device motion, position, and orientation, environment sensing, and video and audio capture. Lab exercises emphasise these topics in a practical manner.
A "robot building course", this course will follow the issues involved in building a robot or robotic system from control to actuators. This includes microcomputer control, actuator design, high-level software models, and sensor inputs. Prerequisites: EECS 5324 3.0 Introduction to Robotics, previous experience in electronics would be an asset.
This course considers the role of human perception in human-computer interaction particularly computer generated graphics/sound and immersive virtual reality. Fundamental findings from sensory physiology and perceptual psychophysics are presented in the context of interface and display design.
Introducing the latest technologies in speech and language processing, including speech and recognition and understanding, key-word spotting, spoken language processing, speaker identification and verification, statistical machine translation, information retrieval, and other interesting topics.
This course examines advanced concepts and technologies for Human-Computer Interaction. Students will learn about advanced input and output devices (e.g. for mobile computing and/or Virtual Reality), about advanced design methods, how to implement effective interfaces, and how to perform rapid, effective iterative user tests.
Many interactive systems strive to afford the same mechanisms to human users that are used in face-to-face conversation. This course examines the formal models and computational techniques that concern the pragmatics of language use that such systems employ.
This course concentrates on raster algorithms for image synthesis. Some of the topics may include visible surface algorithms, modelling, shading, global illumination, anti-aliasing, and texture mapping. Prerequisites: EECS 5331 3.0 Introduction to Computer Graphics.
This course considers how to present to a user a compelling illusion of being in an alternate (virtual) reality. It considers how humans perceive visual, audio, haptic and other perceptual inputs, and how technology can be used to stimulate these senses appropriately to simulate some virtual environment Prerequisite: Computer Science 4471 3.0: “Introduction to Virtual Reality” or equivalent is recommended
The course introduces the ways to interact with computers in a three dimensional (3D) environment, where the environment is either fully virtual or represents a mixture of real and virtual. It covers topics ranging from the hardware necessary to interface with virtual worlds, over techniques for interacting with 3D environments, to design and evaluation of 3D user interfaces.
This course is intended as a follow-on from a first course on Artificial Intelligence. Whereas such first courses focus on the important foundations of AI, such a Knowledge Representation or Reasoning, this course will examine how these separate foundational elements can be integrated into real systems. This will be accomplished by detailing some general overall concepts that form the basis of intelligent systems in the real world, and then presenting a number of in-depth cases studies of a variety of systems from several applications domains. The embodiment of intelligence may be in a physical system (such as a robot) or a software system (such as in game-playing) but in both cases, the goal is to interact with, and solve a problem in, the real world.
This course examines the problem of developing rigorous computational models for visual processing. Computational strategies may draw upon techniques in statistical inference, signal processing, optimization theory, graph theory and distributed computation.
This course introduces fundamental concepts of data mining. It presents various data mining technologies, algorithms and applications. Topics include association rule mining, classification models, sequential pattern mining and clustering.
This hands-on course explores new screen technologies on both practical and theoretical levels within in a lab environment, participating in the evolution of emerging media such as virtual and augmented reality. Students are encouraged to think collectively beyond a century of inherited theory and practice, and imagine the moving images and screens of the future, through discussions interwoven with experimental individual and group projects.