The CE group engages in design, implementation, evaluation, and testing of computer systems. This research is inherently inter-disciplinary in that the group performs research at all levels of a computer system, from computing substrates and materials to hardware architectures to the software that runs on the hardware. As research continues to innovate in computing materials (e.g., nanoscale devices and microfluidics) and applications (e.g., large-scale data analytics), the corresponding hardware and software designs exploit the newly available features and contend with the new challenges introduced (e.g., lower device reliability). Focus areas include: nanocomputing, powerefficient computing, dependability, networking, and mobile computing. The computer engineering group collaborates closely with the computer systems group in the computer science department, particularly with researchers in architecture, distributed systems, networking, and databases.