Teaching

CSCI8920 Fundamentals of Robotics (Spring 2024)

Graduate course, UNO, 2024

This course will cover the fundamentals of robotics and application of artificial intelligence techniques to robotics. Topics include, but not limited to, probabilistic inference, learning theory, modeling development, perception, planning, and search algorithms, localization, tracking and basic control, and programming the robotic system. These techniques will be simulated in a programming infrastructure, the Robot Operating System (ROS), which enables efficient integration of independently developed subsystems into a single system, enabling autonomous robot operation. ROS offers an environment for developing modular control software, a communication infrastructure to connect the software components and an open source library of implemented algorithms. In the scope of this course, we shall cover the practical development of software modules in the ROS environment and integrate the techniques in artificial intelligence into a completely functional system for robot control.

CSCI8530 Advanced Operating Systems (Spring 2024)

Graduate course, UNO, 2024

The course introduces the design and structure of computer operating systems, and also considers advanced operating system topics and exposes students to recent developments in operating systems research. The course involves the concepts, principles, functionality, trade-offs, and implementation of systems that support concurrent processing. The individual components of an operating system (Xinu) will be examined in detail at the source code level, and students will be expected to complete various assignments on real hardware (Intel Galileo board or Raspberry Pi 2B (or 3B) or BeagleBone Black. Others are NOT recommended.) or Oracle VM VirtualBox (if you cannot get this real hardware). At a minimum, you will need a board, a memory card, a USB-micro cable, and a USB-serial adapter. Some of these assignments will involve simple “follow the steps’’ activities, while others will require the design of new or modified system components and application programs. Lectures will closely follow the expected readings which are indicated in the class schedule on the class web pages.