"This course introduces theories, algorithms, techniques, practical issues, and tools to develop & engineer software for intelligent autonomous robotics systems with ROS (Robot Operating System) software development environment. ROS has a large open source community and is becoming widely adopted in research, industrial, and autonomous vehicle applications. Covered topics include sensor data processing, machine vision, mobile robot control, localization, navigation, mapping, state machines, human-robot interaction/interfaces, robot communication, and 3D modeling and simulation with Gazebo. The course will also give students experience using Git, Linux, and various C++/Python tools and frameworks. Machine learning and deep learning technologies for autonomous vehicles will also be introduced."