The concentration in Computer Engineering provides students with a solid base in the design, development, and evaluation of computer systems. Thrust areas include computer architecture, software, and embedded systems, but the program is highly customizable to the specific interests of the student. The research activities of the faculty in this concentration include parallel and distributed computer systems, distributed software architectures and databases, ultra-reliable real-time computer systems, VLSI architectures, reconfigurable computing, computer design automation, low-power design, embedded systems, computer communication protocols, computer networks, security, programming languages for parallel/distributed processing, knowledge management, service-oriented architectures, and software engineering. Many EECS faculty perform research at the systems level, where computing and engineering are combined in complex fashions. Among a very wide range of topics, this includes research related to real-time computing, visualization, computer vision, modeling, and even interactions between engineering and the arts.