Computer Engineers design and develop computer systems, operating systems, programming data structures, software, computer graphics, artificial intelligence, automation theory, logical design, switching theory, algorithm development, data security, database architecture, microprocessor technology, computer-aided design, cybernetics, and robotics. This field of Engineering overlaps in many ways with the field of computer science.