The Department of Electrical and Computer Engineering undergraduate degree programs feature cutting-edge education labs, dedicated faculty who encourage student-led research, and ties with leading companies, utilities, and agencies. The Computer Engineering curriculum requires a minimum of 122 credits to degree completion. Undergraduate students pursue a common foundation in math, physics, and chemistry (as well as computer and engineering sciences), then concentrate on the computer engineering core curriculum during sophomore and junior years. In the last 30 years, information technology, wireless communications, and advanced computer, internet, and software-related innovations have transformed the way we live and how we connect with one another. Computer engineers apply the principles and techniques of electrical engineering, computer science, and mathematical analysis to the design, development, testing, and evaluation of the software and hardware systems that enable computers to perform increasingly demanding functions. In the workplace, computer engineers span a wide range of skills, for instance, they design robots, develop microprocessors, design supercomputers and smart devices, create integrated circuits for semiconductor fabrication, program computer-vision capabilities, create security/cryptographic systems, and develop software systems and network protocols.