Teaching

CS 135 : Computer Science 1
Introduction to modern problem solving and programming methods. Emphasis is placed on algorithm development. Introduction to procedural and data abstraction, emphasizing design, testing, and documentation. This course introduces students to the essential enterprises of computer science and the art of programming. We will use more than one programming language and cover the following topics:
  • Computers and computing
  • Program organization and threads
  • Expressions
  • Assignment, decisions, and iteration
  • Functions and parameter passing
  • One and Two Dimensional Arrays
  • Pointers, Structs
CS 482/682 : Artificial Intelligence
CS 791 : Robotics for Humanity
Socially Assistive Robotics has several challenges, including operating safely in real-world settings, recognizing and classifying social behavior, and time-critical social response. In addition, SAR systems should personalize their interaction with a user, dynamically generate content consistent with therapeutic goals, and adapt to a user’s behavior. These are open-ended challenges which lead to exciting developments in computer vision, natural language processing, and robot control.

In this course, you will read papers describing cutting-edge research in SAR and Human-Robot Interaction (HRI), discuss how the therapeutic use of these robots, and develop your own HRI platform to help people. Students who take this class will:
  • Gain a knowledge of basic robotics fundamentals such as: sensing, navigation, planning, and tele-operation.
  • Understand how basic robotics concepts are applied to understanding HRI.
  • Learn and apply research methods commonly used in the HRI field.
  • Read and evaluate scientific literature to determine follow-up areas for research exploration and constructively criticize experiment design.
  • Understand basic robotics programming concepts using a robotics control framework widely used in the field.
  • Complete a group research project extending a current robotics capability or studying a new facet of HRI.
Undergraduates wishing to take this class will need to have completed Data Structures. Taking Artificial Intelligence or Robotics is a plus, but is not required.
CS 791 : Robotic Manipulators
This course is an introduction to the design and analysis of robotic manipulator systems. The course will introduce students to the use of rigid body models to represent robot arms consisting of multiple rigid links, will train students to use forward and inverse kinematics to understand and predict the motion of an end effector based on commands sent to motors, and will introduce students to modern approaches to dynamics and control. Students who take this course will:
  • Learn about the mathematical foundation of the kinematics and dynamics of robot arms
  • Develop software to accomplish common manipulation tasks via forward- and inverse-kinematic control
  • Utilize common robot platforms used in advanced manufacturing applications and similar to NASA humanoid platforms to accomplish real-world manipulation tasks.
  • Read and evaluate scientific literature to apply state-of-the-art techniques for robot manipulation and movement.
  • Understand basic robotics programming concepts using a robotics control framework widely used in the field.
Students will complete both programming assignments and problem sets, and will have the opportunity to test their code both in simulation and on humanoid robots made available for this class. Opportunities for completing larger projects intended for publication will also be provided.