The study of algorithms, computer programming, and software engineering to build the software components of robots.