(Since taking on full-time research and/or administrative roles in Spring 2015,
I have not been teaching. So this page is indeed up-to-date.)
Fall 2014:
COSC 494/529:Autonomous Mobile Robotics.
This course provides an introduction to the fundamentals of mobile
robotics, examining the basic principles of locomotion, kinematics,
sensing, perception, and cognition that are key to the development
of autonomous mobile robots.
Grading is based on homework assignments and mini-quizzes.
Spring 2014:
CS581:Advanced Design and Analysis of Algorithms. This course covers the analysis of algorithms
and the relevance of analysis to the design of efficient computer algorithms.
Required background: fundamental algorithms, data structures, and discrete
mathematics.
Fall 2013
CS494/594:Artificial Intelligence. This course covers the breadth of the field
of AI, including topics such as problem-solving, search, logic, planning,
reasoning, natural language, and perception.
Spring 2013:
CS581:Advanced Design and Analysis of Algorithms. This course covers the analysis of algorithms
and the relevance of analysis to the design of efficient computer algorithms.
Required background: fundamental algorithms, data structures, and discrete
mathematics.
Fall 2012:
CS425/528:Machine Learning.
Machine Learning is the study of how to build computer systems that learn from experience.
This CS425/528 course on Machine Learning will explain how to build systems
that learn and adapt using real-world applications (such
as robotics and brain wave signal understanding).
Some of the topics to be covered include reinforcement learning,
neural networks, genetic algorithms and genetic programming, parametric learning (density
estimation), clustering, and so forth. The course will be project-oriented, with emphasis placed
on writing software implementations of learning algorithms applied to real-world problems.
Spring 2012:
CS581:Advanced Design and Analysis of Algorithms. This course covers the analysis of algorithms
and the relevance of analysis to the design of efficient computer algorithms.
Required background: fundamental algorithms, data structures, and discrete
mathematics.
Fall 2011:
COSC 494/529:Autonomous Mobile Robotics.
This course provides an introduction to the fundamentals of mobile
robotics, examining the basic principles of locomotion, kinematics,
sensing, perception, and cognition that are key to the development
of autonomous mobile robots.
Grading is based on projects and reports.
COSC 620:Advanced Topics in Intelligent Systems.
This course investigates advanced topics in intelligent systems, especially as it relates to machine learning. Students work on projects that create new research capabilities within the scope of the Center for Intelligent Systems and Machine Learning (CISML). Student work is in the form of new idea development (presented to the rest of the class via presentations) and the implementation of those ideas (reported in class presentations and project writeups).
Spring 2011:
CS581:Advanced Design and Analysis of Algorithms. This course covers the analysis of algorithms
and the relevance of analysis to the design of efficient computer algorithms.
Required background: fundamental algorithms, data structures, and discrete
mathematics.
Fall 2010:
CS425/528:Machine Learning.
Machine Learning is the study of how to build computer systems that learn from experience.
This CS425/528 course on Machine Learning will explain how to build systems
that learn and adapt using real-world applications (such
as robotics and brain wave signal understanding).
Some of the topics to be covered include reinforcement learning,
neural networks, genetic algorithms and genetic programming, parametric learning (density
estimation), clustering, and so forth. The course will be project-oriented, with emphasis placed
on writing software implementations of learning algorithms applied to real-world problems.
Spring 2010:
CS581:Advanced Design and Analysis of Algorithms. This course covers the analysis of algorithms
and the relevance of analysis to the design of efficient computer algorithms.
Required background: fundamental algorithms, data structures, and discrete
mathematics.
Fall 2009:
CS494/594:Artificial Intelligence. This course covers the breadth of the field
of AI, including topics such as problem-solving, logic, planning,
reasoning, learning, perception, and robotics.
Spring 2009:
CS581:Advanced Design and Analysis of Algorithms. This course covers the analysis of algorithms
and the relevance of analysis to the design of efficient computer algorithms.
Required background: fundamental algorithms, data structures, and discrete
mathematics.
Fall 2008:
CS494/594:Autonomous Mobile Robotics.
This course provides an introduction to the fundamentals of mobile
robotics, examining the basic principles of locomotion, kinematics,
sensing, perception, and cognition that are key to the development
of autonomous mobile robots.
Grading will be based on homeworks (which will
often include programming in the PlayerStage robot simulator in C or C++),
3 exams, and (for the graduate students) a final project (i.e., program plus
short written report).
Spring 2008:
CS581:Advanced Design and Analysis of Algorithms. This course covers the analysis of algorithms
and the relevance of analysis to the design of efficient computer algorithms.
Required background: fundamental algorithms, data structures, and discrete
mathematics.
Fall 2007:
CS494/594:Machine Learning.
Machine Learning is the study of how to build computer systems that learn from experience.
This CS494/594 course on Machine Learning will explain how to build systems
that learn and adapt using real-world applications (such
as robotics and brain wave signal understanding).
Some of the topics to be covered include reinforcement learning,
neural networks, genetic algorithms and genetic programming, parametric learning (density
estimation), clustering, and so forth. The course will be project-oriented, with emphasis placed
on writing software implementations of learning algorithms applied to real-world problems.
Spring 2007:
CS494/594:Software for Intelligent Robotics.
This course provides an introduction to the key artificial intelligence
issues involved in the development of intelligent robotics. We examine
a variety of algorithms for the control of autonomous mobile robots,
exploring issues that include software control architectures,
localization, navigation, sensing, planning, and uncertainty. This
course does not assume any prior knowledge of artificial intelligence
or robotics. Grading will be based on homeworks (which will
often include programming in the PlayerStage robot simulator),
3 exams, and (for the graduate students) a final project (i.e., program plus
short written report).
Fall 2006:
CS302:Fundamental Algorithms. This course provides an in-depth study of the design, analysis,
and implementation of fundamental algorithms, such as sorting and searching, and their
data structures. Prerequisites: CS140, CS160. 3 hour lab required.
Spring 2006:
CS494/594:Projects in Machine Learning.
This course will explain how to build systems
that learn and adapt using real-world applications (such
as robotics and brain wave signal understanding).
Some of the topics to be covered include
concept learning, neural networks, genetic algorithms, reinforcement learning,
instance-based learning, and so forth. The course will be project-oriented, with emphasis placed
on writing software implementations of learning algorithms applied to real-world problems. No exams will be given.
Fall 2005:
CS302:Fundamental Algorithms. This course provides an in-depth study of the design, analysis,
and implementation of fundamental algorithms, such as sorting and searching, and their
data structures. Prerequisites: CS140, CS160. 3 hour lab required.
Spring 2005:
CS581:Advanced Design and Analysis of Algorithms. This course covers the analysis of algorithms
and the relevance of analysis to the design of efficient computer algorithms.
Required background: fundamental algorithms, data structures, and discrete
mathematics.
Fall 2004:
CS594, section 33293:Artificial Intelligence. This course covers the breadth of the field
of AI, including topics such as problem-solving, logic, planning,
reasoning, learning, perception, and robotics.
Spring 2004:
CS580:Foundations. This course covers the foundations of
computer science, including computability, computational complexity,
fundamental algorithms, and algorithm analysis. Required background: Automata
theory.
Fall 2003:
CS302:Fundamental Algorithms. This course provides an in-depth study of the design, analysis,
and implementation of fundamental algorithms, such as sorting and searching, and their
data structures. Prerequisites: CS140, CS160. 3 hour lab required.
Spring 2003:
CS594,
section 30682:Distributed Intelligence in
Autonomous Robotics. This course explores the topic of
distributed intelligence in the context
of distributed, collective, and cooperative robotics and embedded systems.
The focus is on key research issues in this field, such
as multi-robot architectures and action selection; cooperative localization,
mapping, and exploration; cooperative object transport; multi-robot
motion
coordination; reconfigurable robotics; and team learning. Emphasis in
all of these focus areas is on the development of algorithms
and software that enable a distributed team of intelligent mobile
robots or embedded systems to achieve global goals in the physical world
using only distributed, local information.
Fall 2002:
CS594, section 30586:Software for Intelligent Robotics. This
course examines a variety of algorithms for the control of autonomous mobile robots, exploring issues that include software control architectures, localization, navigation, sensing, planning, and uncertainty.