Whiteboard

All Courses

This is a comprehensive list of courses offered by the Computer Science Deparment since approximatly 2011.

Courses & Curriculum Related Resources

CSD Current Courses |  Full Schedule of Classes | Undergraduate Curriculum Requirements

Bachelor's — additional information is available in the Undergraduate Catalog

Graduate Curriculum Information MSCS Handbook | Fifth Year Master's Handbook | Ph.D. Handbook

Back to Academics | Student Resources

15657
Constructive Logic
9

This multidisciplinary junior-level course is designed to provide a thorough introduction to modern constructive logic, its roots in philosophy, its numerous applications in computer science, and its mathematical properties. Some of the topics to be covered are intuitionistic logic, inductive definitions, functional programming, type theory, realizability, connections between classical and constructive logic, decidable classes. This course counts as a Fundamentals course in the Computer Science major.

Instructor(s)

Karl Crary

Click to read more...

15657
Constructive Logic
9

This multidisciplinary junior-level course is designed to provide a thorough introduction to modern constructive logic, its roots in philosophy, its numerous applications in computer science, and its mathematical properties. Some of the topics to be covered are intuitionistic logic, inductive definitions, functional programming, type theory, realizability, connections between classical and constructive logic, decidable classes. This course counts as a Fundamentals course in the Computer Science major.

Instructor(s)

Karl Crary

Click to read more...

15659
Probability and Computing
9

Probability theory has become indispensable in computer science. In areas such as artificial intelligence and computer science theory, probabilistic methods and ideas based on randomization are central. In other areas such as networks and systems, probability is becoming an increasingly useful framework for handling uncertainty and modeling the patterns of data that occur in complex systems. This course gives an introduction to probability as it is used in computer science theory and practice, drawing on applications and current research developments as motivation and context. Topics include combinatorial probability and random graphs, heavy tail distributions, concentration inequalities, various randomized algorithms, sampling random variables and computer simulation, and Markov chains and their many applications, from Web search engines to models of network protocols. The course will assume familiarity with 3-D calculus and linear algebra.

Instructor(s)

Mor Harchol-Balter
Weina Wang

Click to read more...

15659
Probability & Computing: Randomized Algs and Markov Chains
12

Probability theory has become indispensable in computer science. In areas such as artificial intelligence and computer science theory, probabilistic methods and ideas based on randomization are central. In other areas such as networks and systems, probability is becoming an increasingly useful framework for handling uncertainty and modeling the patterns of data that occur in complex systems. This course is a follow-up course to 15-259, Probability and Computing. It will cover Chapters 18-27 of the same textbook, "Introduction to Probability for Computing", by Prof. Harchol-Balter. Topics include concentration inequalities, various randomized algorithms including number theoretic routines, Markov chains and their many applications, and queueing theory. The course will assume familiarity with multivariate calculus and linear algebra.

Click to read more...

15659
Probability & Computing: Randomized Algs and Markov Chains
12

Probability theory has become indispensable in computer science. In areas such as artificial intelligence and computer science theory, probabilistic methods and ideas based on randomization are central. In other areas such as networks and systems, probability is becoming an increasingly useful framework for handling uncertainty and modeling the patterns of data that occur in complex systems. This course is a follow-up course to 15-259, Probability and Computing. It will cover Chapters 18-27 of the same textbook, "Introduction to Probability for Computing", by Prof. Harchol-Balter. Topics include concentration inequalities, various randomized algorithms including number theoretic routines, Markov chains and their many applications, and queueing theory. The course will assume familiarity with multivariate calculus and linear algebra.

Instructor(s)

Weina Wang
Richard Peng

Click to read more...

15659
Probability & Computing: Randomized Algs and Markov Chains
12

Probability theory has become indispensable in computer science. In areas such as artificial intelligence and computer science theory, probabilistic methods and ideas based on randomization are central. In other areas such as networks and systems, probability is becoming an increasingly useful framework for handling uncertainty and modeling the patterns of data that occur in complex systems. This course is a follow-up course to 15-259, Probability and Computing. It will cover Chapters 18-27 of the same textbook, "Introduction to Probability for Computing", by Prof. Harchol-Balter. Topics include concentration inequalities, various randomized algorithms including number theoretic routines, Markov chains and their many applications, and queueing theory. The course will assume familiarity with multivariate calculus and linear algebra.

Instructor(s)

Weina Wang

Click to read more...

15661
Interaction and Expression using the Pausch Bridge Lighting
4

Working in cross-disciplinary teams, students will explore light as art, interactive design and programming using a Pharos lighting control system. Students will explore the use of light and interaction using the actual controls within the Randy Pausch Memorial Bridge. Student teams will develop final projects that will be exhibited on the actual Randy Pausch Memorial Bridge.

Instructor(s)

Garth Zeglin

Click to read more...

15661
Interaction and Expression using the Pausch Bridge Lighting
4

Working in cross-disciplinary teams, students will explore light as art, interactive design and programming using a Pharos lighting control system. Students will explore the use of light and interaction using the actual controls within the Randy Pausch Memorial Bridge. Student teams will develop final projects that will be exhibited on the actual Randy Pausch Memorial Bridge.

Instructor(s)

Garth Zeglin
Mary Ellen Stebbins

Click to read more...

15661
Interaction and Expression using the Pausch Bridge Lighting
4

Working in cross-disciplinary teams, students will explore light as art, interactive design and programming using a Pharos lighting control system. Students will explore the use of light and interaction using the actual controls within the Randy Pausch Memorial Bridge. Student teams will develop final projects that will be exhibited on the actual Randy Pausch Memorial Bridge.

Instructor(s)

Mary Ellen Stebbins
Garth Zeglin

Click to read more...

15662
Computer Graphics
12

This course provides a comprehensive introduction to computer graphics. It focuses on fundamental concepts and techniques, and their cross-cutting relationship to multiple problem domains in graphics (rendering, animation, geometry, imaging). Topics include: sampling, aliasing, interpolation, rasterization, geometric transformations, parameterization, visibility, compositing, filtering, convolution, curves & surfaces, geometric data structures, subdivision, meshing, spatial hierarchies, ray tracing, radiometry, reflectance, light fields, geometric optics, Monte Carlo rendering, importance sampling, camera models, high-performance ray tracing, differential equations, time integration, numerical differentiation, physically-based animation, optimization, numerical linear algebra, inverse kinematics, Fourier methods, data fitting, example-based synthesis. Students will learn through lectures, exercises, and through hands-on programming experience as they build a 3D modeling, rasterization, path-tracing, and animation utility, Scotty3D, in C++.

Instructor(s)

Nancy Pollard

Click to read more...

15662
Computer Graphics
12

This course provides a comprehensive introduction to computer graphics. It focuses on fundamental concepts and techniques, and their cross-cutting relationship to multiple problem domains in graphics (rendering, animation, geometry, imaging). Topics include: sampling, aliasing, interpolation, rasterization, geometric transformations, parameterization, visibility, compositing, filtering, convolution, curves & surfaces, geometric data structures, subdivision, meshing, spatial hierarchies, ray tracing, radiometry, reflectance, light fields, geometric optics, Monte Carlo rendering, importance sampling, camera models, high-performance ray tracing, differential equations, time integration, numerical differentiation, physically-based animation, optimization, numerical linear algebra, inverse kinematics, Fourier methods, data fitting, example-based synthesis. Students will learn through lectures, exercises, and through hands-on programming experience as they build a 3D modeling, rasterization, path-tracing, and animation utility, Scotty3D, in C++.

Instructor(s)

Nancy Pollard

Click to read more...

15662
Computer Graphics
12

This course provides a comprehensive introduction to computer graphics modeling, animation, and rendering. Topics covered include basic image processing, geometric transformations, geometric modeling of curves and surfaces, animation, 3-D viewing, visibility algorithms, shading, and ray tracing.

Instructor(s)


Click to read more...

15662
Computer Graphics
12

This course provides a comprehensive introduction to computer graphics modeling, animation, and rendering. Topics covered include basic image processing, geometric transformations, geometric modeling of curves and surfaces, animation, 3-D viewing, visibility algorithms, shading, and ray tracing.

Instructor(s)

Minchen Li

Click to read more...

15662
Computer Graphics
12

This course provides a comprehensive introduction to computer graphics modeling, animation, and rendering. Topics covered include basic image processing, geometric transformations, geometric modeling of curves and surfaces, animation, 3-D viewing, visibility algorithms, shading, and ray tracing.

Instructor(s)

Oscar Dadfar

Click to read more...

15662
Computer Graphics
12

This course provides a comprehensive introduction to computer graphics. It focuses on fundamental concepts and techniques, and their cross-cutting relationship to multiple problem domains in graphics (rendering, animation, geometry, imaging). Topics include: sampling, aliasing, interpolation, rasterization, geometric transformations, parameterization, visibility, compositing, filtering, convolution, curves & surfaces, geometric data structures, subdivision, meshing, spatial hierarchies, ray tracing, radiometry, reflectance, light fields, geometric optics, Monte Carlo rendering, importance sampling, camera models, high-performance ray tracing, differential equations, time integration, numerical differentiation, physically-based animation, optimization, numerical linear algebra, inverse kinematics, Fourier methods, data fitting, example-based synthesis. Students will learn through lectures, exercises, and through hands-on programming experience as they build a 3D modeling, rasterization, path-tracing, and animation utility, Scotty3D, in C++.

Instructor(s)

Nancy Pollard

Click to read more...

15663
Computational Photography
12

Computational photography is the convergence of computer graphics, computer vision and imaging. Its role is to overcome the limitations of the traditional camera, by combining imaging and computation to enable new and enhanced ways of capturing, representing, and interacting with the physical world. This advanced undergraduate course provides a comprehensive overview of the state of the art in computational photography. At the start of the course, we will study modern image processing pipelines, including those encountered on mobile phone and DSLR cameras, and advanced image and video editing algorithms. Then we will proceed to learn about the physical and computational aspects of tasks such as 3D scanning, coded photography, lightfield imaging, time-of-flight imaging, VR/AR displays, and computational light transport. Near the end of the course, we will discuss active research topics, such as creating cameras that capture video at the speed of light, cameras that look around walls, or cameras that can see through tissue. The course has a strong hands-on component, in the form of seven homework assignments and a final project. In the homework assignments, students will have the opportunity to implement many of the techniques covered in the class, by both acquiring their own images of indoor and outdoor scenes and developing the computational tools needed to extract information from them. For their final projects, students will have the choice to use modern sensors provided by the instructors (lightfield cameras, time-of-flight cameras, depth sensors, structured light systems, etc.).

Instructor(s)

Ioannis Gkioulekas

Click to read more...

15663
Computational Photography
12

Computational photography is the convergence of computer graphics, computer vision and imaging. Its role is to overcome the limitations of the traditional camera, by combining imaging and computation to enable new and enhanced ways of capturing, representing, and interacting with the physical world. This advanced undergraduate course provides a comprehensive overview of the state of the art in computational photography. At the start of the course, we will study modern image processing pipelines, including those encountered on mobile phone and DSLR cameras, and advanced image and video editing algorithms. Then we will proceed to learn about the physical and computational aspects of tasks such as 3D scanning, coded photography, lightfield imaging, time-of-flight imaging, VR/AR displays, and computational light transport. Near the end of the course, we will discuss active research topics, such as creating cameras that capture video at the speed of light, cameras that look around walls, or cameras that can see through tissue. The course has a strong hands-on component, in the form of seven homework assignments and a final project. In the homework assignments, students will have the opportunity to implement many of the techniques covered in the class, by both acquiring their own images of indoor and outdoor scenes and developing the computational tools needed to extract information from them. For their final projects, students will have the choice to use modern sensors provided by the instructors (lightfield cameras, time-of-flight cameras, depth sensors, structured light systems, etc.).

Instructor(s)

Ioannis Gkioulekas

Click to read more...

15663
Computational Photography
12

Computational photography is the convergence of computer graphics, computer vision and imaging. Its role is to overcome the limitations of the traditional camera, by combining imaging and computation to enable new and enhanced ways of capturing, representing, and interacting with the physical world. This advanced undergraduate course provides a comprehensive overview of the state of the art in computational photography. At the start of the course, we will study modern image processing pipelines, including those encountered on mobile phone and DSLR cameras, and advanced image and video editing algorithms. Then we will proceed to learn about the physical and computational aspects of tasks such as 3D scanning, coded photography, lightfield imaging, time-of-flight imaging, VR/AR displays, and computational light transport. Near the end of the course, we will discuss active research topics, such as creating cameras that capture video at the speed of light, cameras that look around walls, or cameras that can see through tissue. The course has a strong hands-on component, in the form of seven homework assignments and a final project. In the homework assignments, students will have the opportunity to implement many of the techniques covered in the class, by both acquiring their own images of indoor and outdoor scenes and developing the computational tools needed to extract information from them. For their final projects, students will have the choice to use modern sensors provided by the instructors (lightfield cameras, time-of-flight cameras, depth sensors, structured light systems, etc.).

Instructor(s)

Ioannis Gkioulekas

Click to read more...

15666
Computer Game Programming
12

The goal of this course is to acquaint students with the code required to turn ideas into games. This includes both runtime systems -- e.g., AI, sound, physics, rendering, and networking -- and the asset pipelines and creative tools that make it possible to author content that uses these systems. In the first part of the course, students will implement small games that focus on specific runtime systems, along with appropriate asset editors or exporters. In the second part, students will work in groups to build a larger, polished, open-ended game project. Students who have completed the course will have the skills required to extend -- or build from scratch -- a modern computer game. Students wishing to take this class should be familiar with the C++ language and have a basic understanding of the OpenGL API. If you meet these requirements but have not taken Computer Graphics (the formal prerequisite), please contact the instructor.

Instructor(s)

James McCann

Click to read more...

15666
Computer Game Programming
12

The goal of this course is to acquaint students with the code required to turn ideas into games. This includes both runtime systems -- e.g., AI, sound, physics, rendering, and networking -- and the asset pipelines and creative tools that make it possible to author content that uses these systems. In the first part of the course, students will implement small games that focus on specific runtime systems, along with appropriate asset editors or exporters. In the second part, students will work in groups to build a larger, polished, open-ended game project. Students who have completed the course will have the skills required to extend -- or build from scratch -- a modern computer game. Students wishing to take this class should be familiar with the C++ language and have a basic understanding of the OpenGL API. If you meet these requirements but have not taken Computer Graphics (the formal prerequisite), please contact the instructor.

Instructor(s)

James McCann

Click to read more...

15666
Computer Game Programming
12

The goal of this course is to acquaint students with the code required to turn ideas into games. This includes both runtime systems -- e.g., AI, sound, physics, rendering, and networking -- and the asset pipelines and creative tools that make it possible to author content that uses these systems. In the first part of the course, students will implement small games that focus on specific runtime systems, along with appropriate asset editors or exporters. In the second part, students will work in groups to build a larger, polished, open-ended game project. Students who have completed the course will have the skills required to extend -- or build from scratch -- a modern computer game. Students wishing to take this class should be familiar with the C++ language and have a basic understanding of the OpenGL API. If you meet these requirements but have not taken Computer Graphics (the formal prerequisite), please contact the instructor.

Instructor(s)

James McCann

Click to read more...

15668
Physics-Based Rendering
12

This course is an introduction to physics-based rendering at the advanced undergraduate and introductory graduate level. During the course, we will cover fundamentals of light transport, including topics such as the rendering and radiative transfer equation, light transport operators, path integral formulations, and approximations such as diffusion and single scattering. Additionally, we will discuss state-of-the-art models for illumination, surface and volumetric scattering, and sensors. Finally, we will use these theoretical foundations to develop Monte Carlo algorithms and sampling techniques for efficiently simulating physically-accurate images. Towards the end of the course, we will look at advanced topics such as rendering wave optics, neural rendering, and differentiable rendering.

Instructor(s)

Ioannis Gkioulekas

Click to read more...

15668
Physics-Based Rendering
12

This course is an introduction to physics-based rendering at the advanced undergraduate and introductory graduate level. During the course, we will cover fundamentals of light transport, including topics such as the rendering and radiative transfer equation, light transport operators, path integral formulations, and approximations such as diffusion and single scattering. Additionally, we will discuss state-of-the-art models for illumination, surface and volumetric scattering, and sensors. Finally, we will use these theoretical foundations to develop Monte Carlo algorithms and sampling techniques for efficiently simulating physically-accurate images. Towards the end of the course, we will look at advanced topics such as rendering wave optics, neural rendering, and differentiable rendering.

Instructor(s)

Ioannis Gkioulekas

Click to read more...

15668
Physics-Based Rendering
12

This course is an introduction to physics-based rendering at the advanced undergraduate and introductory graduate level. During the course, we will cover fundamentals of light transport, including topics such as the rendering and radiative transfer equation, light transport operators, path integral formulations, and approximations such as diffusion and single scattering. Additionally, we will discuss state-of-the-art models for illumination, surface and volumetric scattering, and sensors. Finally, we will use these theoretical foundations to develop Monte Carlo algorithms and sampling techniques for efficiently simulating physically-accurate images. Towards the end of the course, we will look at advanced topics such as rendering wave optics, neural rendering, and differentiable rendering.

Instructor(s)

Ioannis Gkioulekas

Click to read more...

15669
Special Topics Numerical Computing
12

Many problems in science, engineering, and computer graphics cannot be solved exactly. Numerical computing provides methods to approximate these solutions using computational techniques. It combines mathematics and programming to solve real-world problems such as simulations, optimization, and data analysis. The course begins with a review of key mathematical concepts like vector spaces, matrices, and calculus. We then explore how numbers are represented on computers, the types of errors that can occur, and strategies to handle them. Core topics include solving linear and nonlinear systems, eigenvalue problems, optimization, and techniques such as LU decomposition, QR factorization, and singular value decomposition (SVD). We will also cover iterative methods for large systems, interpolation, numerical differentiation, integration, and both ordinary and partial differential equations. Students will gain hands-on experience implementing algorithms and learn to balance accuracy, stability, and efficiency in computational solutions.

Instructor(s)

Minchen Li

Click to read more...

15672
Real-Time Graphics
12

Real-time computer graphics is about building systems that leverage modern CPUs and GPUs to produce detailed, interactive, immersive, and high-frame-rate imagery. Students will build a state-of-the-art renderer using C++ and the Vulkan API. Topics explored will include efficient data handling strategies; culling and scene traversal; multi-threaded rendering; post-processing, depth of field, screen-space reflections; volumetric rendering; sample distribution, spatial and temporal sharing, and anti-aliasing; stereo view synthesis; physical simulation and collision detection; dynamic lights and shadows; global illumination, accelerated raytracing; dynamic resolution, "AI" upsampling; compute shaders; parallax occlusion mapping; tessellation, displacement; skinning, transform feedback; debugging, profiling, and accelerating graphics algorithms.

Instructor(s)

James McCann

Click to read more...

15672
Real-Time Graphics
12

Real-time computer graphics is about building systems that leverage modern CPUs and GPUs to produce detailed, interactive, immersive, and high-frame-rate imagery. Students will build a state-of-the-art renderer using C++ and the Vulkan API. Topics explored will include efficient data handling strategies; culling and scene traversal; multi-threaded rendering; post-processing, depth of field, screen-space reflections; volumetric rendering; sample distribution, spatial and temporal sharing, and anti-aliasing; stereo view synthesis; physical simulation and collision detection; dynamic lights and shadows; global illumination, accelerated raytracing; dynamic resolution, "AI" upsampling; compute shaders; parallax occlusion mapping; tessellation, displacement; skinning, transform feedback; debugging, profiling, and accelerating graphics algorithms.

Instructor(s)

James McCann

Click to read more...

15672
Real-Time Graphics
12

Real-time computer graphics is about building systems that leverage modern CPUs and GPUs to produce detailed, interactive, immersive, and high-frame-rate imagery. Students will build a state-of-the-art renderer using C++ and the Vulkan API. Topics explored will include efficient data handling strategies; culling and scene traversal; multi-threaded rendering; post-processing, depth of field, screen-space reflections; volumetric rendering; sample distribution, spatial and temporal sharing, and anti-aliasing; stereo view synthesis; physical simulation and collision detection; dynamic lights and shadows; global illumination, accelerated raytracing; dynamic resolution, "AI" upsampling; compute shaders; parallax occlusion mapping; tessellation, displacement; skinning, transform feedback; debugging, profiling, and accelerating graphics algorithms.

Instructor(s)

James McCann

Click to read more...

15673
Visual Computing Systems
12

Visual computing tasks such as computational imaging, image/video understanding, and real-time graphics are key responsibilities of modern computer systems ranging from sensor-rich smart phones to large datacenters. These workloads demand exceptional system efficiency and this course examines the key ideas, techniques, and challenges associated with the design of parallel, heterogeneous systems that accelerate visual computing applications. This course is intended for graduate and advanced undergraduate-level students interested in architecting efficient graphics, image processing, and computer vision platforms.

Instructor(s)


Click to read more...

15673
Visual Computing Systems
12

Visual computing tasks such as computational imaging, image/video understanding, and real-time graphics are key responsibilities of modern computer systems ranging from sensor-rich smart phones to large datacenters. These workloads demand exceptional system efficiency and this course examines the key ideas, techniques, and challenges associated with the design of parallel, heterogeneous systems that accelerate visual computing applications. This course is intended for graduate and advanced undergraduate-level students interested in architecting efficient graphics, image processing, and computer vision platforms.

Instructor(s)


Click to read more...

15674
Neural Graphics
9

This course explores the rapidly evolving intersection of machine learning and computer graphics, offering a modern perspective on topics traditionally covered in 15- 362. Students will learn how neural methods are transforming the way we represent, render, and animate visual content. Through a combination of lectures, seminar-style discussions, and research-based projects, the course examines how machine learning techniques can accelerate and enhance traditional graphics pipelines. Topics include Neural Texture Compression, Computer Shaders, Neural Shading, Neural Denoising, Gaussian Splatting, Neural Radiance Fields, Inverse Rendering, AI Players, Animation Cycles, Neural Frame Interpolation, & Stylized Animation.

Instructor(s)

Oscar Dadfar

Click to read more...

15686
Neural Computation
12

Computational neuroscience is an interdisciplinary science that seeks to understand how the brain computes to achieve natural intelligence. It seeks to understand the computational principles and mechanisms of intelligent behaviors and mental abilities -- such as perception, language, motor control, and learning -- by building artificial systems and computational models with the same capabilities. This course explores how neurons encode and process information, adapt and learn, communicate, cooperate, compete and compute at the individual level as well as at the levels of networks and systems. It will introduce basic concepts in computational modeling, information theory, signal processing, system analysis, statistical and probabilistic inference. Concrete examples will be drawn from the visual system and the motor systems, and studied from computational, psychological and biological perspectives. Students will learn to perform computational experiments using Matlab and quantitative studies of neurons and neuronal networks.

Instructor(s)

Tai-Sing Lee

Click to read more...

15686
Neural Computation
12

Computational neuroscience is an interdisciplinary science that seeks to understand how the brain computes to achieve natural intelligence. It seeks to understand the computational principles and mechanisms of intelligent behaviors and mental abilities -- such as perception, language, motor control, and learning -- by building artificial systems and computational models with the same capabilities. This course explores how neurons encode and process information, adapt and learn, communicate, cooperate, compete and compute at the individual level as well as at the levels of networks and systems. It will introduce basic concepts in computational modeling, information theory, signal processing, system analysis, statistical and probabilistic inference. Concrete examples will be drawn from the visual system and the motor systems, and studied from computational, psychological and biological perspectives. Students will learn to perform computational experiments using Matlab and quantitative studies of neurons and neuronal networks.

Instructor(s)

Tai-Sing Lee

Click to read more...

15686
Neural Computation
12

Computational neuroscience is an interdisciplinary science that seeks to understand how the brain computes to achieve natural intelligence. It seeks to understand the computational principles and mechanisms of intelligent behaviors and mental abilities -- such as perception, language, motor control, and learning -- by building artificial systems and computational models with the same capabilities. This course explores how neurons encode and process information, adapt and learn, communicate, cooperate, compete and compute at the individual level as well as at the levels of networks and systems. It will introduce basic concepts in computational modeling, information theory, signal processing, system analysis, statistical and probabilistic inference. Concrete examples will be drawn from the visual system and the motor systems, and studied from computational, psychological and biological perspectives. Students will learn to perform computational experiments using Matlab and quantitative studies of neurons and neuronal networks.

Instructor(s)

Tai-Sing Lee

Click to read more...

15689
Independent Study in the Computer Sciences
varies

This course is for Computer Science master's students carrying out research supervised by a faculty member. Students will be automatically wait-listed pending program approval of an independent-study prospectus (contact your academic advisor for details).

Instructor(s)

Dave Eckhardt
David O'Hallaron

Click to read more...

15689
Independent Study in the Computer Sciences
varies

This course is for Computer Science master's students carrying out research supervised by a faculty member. Students will be automatically wait-listed pending program approval of an independent-study prospectus (contact your academic advisor for details).

Instructor(s)

Dave Eckhardt
Ruben Martins

Click to read more...

15689
Independent Study in the Computer Sciences
varies

This course is for Computer Science master's students carrying out research supervised by a faculty member. Students will be automatically wait-listed pending program approval of an independent-study prospectus (contact your academic advisor for details).

Instructor(s)

Dave Eckhardt
Ruben Martins

Click to read more...

15689
Independent Study in the Computer Sciences
varies

This course is for Computer Science master's students carrying out research supervised by a faculty member. Students will be automatically wait-listed pending program approval of an independent-study prospectus (contact your academic advisor for details).

Instructor(s)

Ruben Martins
Dave Eckhardt

Click to read more...

15689
Independent Study in the Computer Sciences
varies

This course is for Computer Science master's students carrying out research supervised by a faculty member. Students will be automatically wait-listed pending program approval of an independent-study prospectus (contact your academic advisor for details).

Instructor(s)

David O'Hallaron
Dave Eckhardt
Ruben Martins

Click to read more...

15689
Independent Study in the Computer Sciences
varies

This course is for Computer Science master's students carrying out research supervised by a faculty member. Students will be automatically wait-listed pending program approval of an independent-study prospectus (contact your academic advisor for details).

Instructor(s)

Ruben Martins
Dave Eckhardt

Click to read more...

15689
Independent Study in the Computer Sciences
varies

This course is for Computer Science master's students carrying out research supervised by a faculty member. Students will be automatically wait-listed pending program approval of an independent-study prospectus (contact your academic advisor for details).

Instructor(s)

Ruben Martins
Dave Eckhardt

Click to read more...

15689
Independent Study in the Computer Sciences
varies

This course is for Computer Science master's students carrying out research supervised by a faculty member. Students will be automatically wait-listed pending program approval of an independent-study prospectus (contact your academic advisor for details).

Instructor(s)

Dave Eckhardt

Click to read more...

15689
Independent Study in the Computer Sciences
varies

This course is for Computer Science master's students carrying out research supervised by a faculty member. Students will be automatically wait-listed pending program approval of an independent-study prospectus (contact your academic advisor for details).

Click to read more...

15690
MSCS Career Planning
3

This class is for students enrolled in the Applied Study variant of the MSCS program. The class will support students in clarifying their objectives for their applied-study experience in consultation with their advisor and Career Center staff. Throughout the semester students will seek, develop, and select among applied-study experiences.

Instructor(s)

Dave Eckhardt
David O'Hallaron

Click to read more...

15690
MSCS Career Planning
3

This class is for students enrolled in the Applied Study variant of the MSCS program. The class will support students in clarifying their objectives for their applied-study experience in consultation with their advisor and Career Center staff. Throughout the semester students will seek, develop, and select among applied-study experiences.

Instructor(s)

Dave Eckhardt
Ruben Martins

Click to read more...

15690
MSCS Career Planning
3

This class is for students enrolled in the Applied Study variant of the MSCS program. The class will support students in clarifying their objectives for their applied-study experience in consultation with their advisor and Career Center staff. Throughout the semester students will seek, develop, and select among applied-study experiences.

Instructor(s)

Dave Eckhardt
Ruben Martins

Click to read more...

15691
Practicum
varies

To be determined

Click to read more...

15691
Practicum
varies

To be determined

Instructor(s)

Ruben Martins
Dave Eckhardt

Click to read more...

15691
Practicum
varies

To be determined

Instructor(s)

Dave Eckhardt
Ruben Martins

Click to read more...

15694
Cognitive Robotics
12

This course will explore the future of robot toys by analyzing and programming Anki Cozmo, a new robot with built-in artificial intelligence algorithms. Como is distinguished from earlier consumer robots by its reliance on vision as the primary sensing mode and its sophisticated use of A.I. Its capabilities include face and object recognition, map building, path planning, and object pushing and stacking. Although marketed as a pre-programmed children's toy, Cozmo's open source Python SDK allows anyone to develop new software for it, which means it can also be used for robotics education and research. The course will cover robot software architecture, human-robot interaction, perception, and planning algorithms for navigation and manipulation. Prior robotics experience is not required, just strong programming skills.

Instructor(s)

David Touretzky

Click to read more...

15694
Cognitive Robotics: The Future of Robot Toys
12

This course explores the future of robot toys by analyzing and programming the VEX AIM robot, a new mobile robot with built-in AI algorithms that we will supplement with Python code and OpenAI API calls. The course's novel approach to robot intelligence combines state machine programming and Python coding with GPT prompt engineering. The lectures cover robot software architecture, human-robot interaction, robot perception, and planning algorithms for navigation and manipulation. Prior robotics experience is not required, just strong Python skills. In the final project, students implement a robot application of their own design that builds on what they have learned.

Instructor(s)

David Touretzky

Click to read more...

15694
Cognitive Robotics
12

This course will explore the future of robot toys by analyzing and programming Anki Cozmo, a new robot with built-in artificial intelligence algorithms. Como is distinguished from earlier consumer robots by its reliance on vision as the primary sensing mode and its sophisticated use of A.I. Its capabilities include face and object recognition, map building, path planning, and object pushing and stacking. Although marketed as a pre-programmed children's toy, Cozmo's open source Python SDK allows anyone to develop new software for it, which means it can also be used for robotics education and research.

Instructor(s)

David Touretzky

Click to read more...

15697
Graduate Reading and Research
varies

No course description provided.

Click to read more...

15697
Graduate Reading and Research
varies

No course description provided.

Instructor(s)

Dave Eckhardt
Angy Malloy
Ruben Martins

Click to read more...

15697
Graduate Reading and Research
varies

This course number is intended to be used to register for master's degree reading and research units.

Instructor(s)

Angy Malloy
Andrew Pavlo
Ruben Martins
Dave Eckhardt

Click to read more...

15697
Graduate Reading and Research
varies

Research course for students pursuing a thesis in the 5th Year Master of Science Program. Working 1 on 1 with faculty and their graduate students.

Instructor(s)

Ruben Martins
Dave Eckhardt

Click to read more...

15697
Graduate Reading and Research
varies

Research course for students pursuing a thesis in the 5th Year Master of Science Program. Working 1 on 1 with faculty and their graduate students.

Instructor(s)

Ruben Martins

Dave Eckhardt
David O'Hallaron

Click to read more...

15697
Graduate Reading and Research
varies

Research course for students pursuing a thesis in the 5th Year Master of Science Program. Working 1 on 1 with faculty and their graduate students.

Instructor(s)

Angy Malloy
Ruben Martins
Dave Eckhardt

Click to read more...

15697
Graduate Reading and Research
varies

This course number is intended to be used to register for master's degree reading and research units.

Instructor(s)

Ruben Martins

Dave Eckhardt

Click to read more...

15697
Graduate Reading and Research
varies

No course description provided.

Instructor(s)

Dave Eckhardt
Ruben Martins

Click to read more...