This course is concerned with the subject of autonomous robot navigation. The students will become familiar with related mobile robotics research and study a number of classical and modern algorithms. Specifically, the course will focus on how a mobile robot builds a map and localizes itself in that map at the same time (the so-called SLAM problem), by making use of the information collected by its sensors such as laser range finders and cameras. The lectures will introduce both basic and advanced SLAM algorithms, and the students will gain an in-depth understanding of these algorithms by both reading research papers and examining their software implementations. Class lectures and homework assignments will rely on open-source implementation of visual SLAM algorithms to study robot SLAM in simulated environments and study SLAM algorithms on benchmark datasets.