Computer engineering combines electrical engineering and computer science to focus on the design and implementation of computer systems. It involves the design of both computer hardware and software, as well as related devices. The electrical engineering aspect includes designing application devices, interface hardware, memories, and computer chips. The computer science component involves software engineering, programming, operating systems, algorithms and data structures.