How is Computer Engineering (CE) different from Computer Science (CS)? One way to think about positioning the two disciplines is to think of a spectrum with CE at one end and CS at the other end. There is a significant overlap in the middle with aspects that may be taught in both. Engineers are trained to develop solutions for poorly specified problems, where there is unlikely to be one right answer. CS has a mathematical heritage, where there is more formalism and development of theory. A computer engineer will have more training from a hardware perspective. They are more likely to be able to debug a program using an oscilloscope watching signals controlled by a program. A computer scientist might be studying the theory of computation or languages seeking to understand the limits of what computing might be able to do. In the middle there is a significant amount of overlap. A computer engineer and a computer scientist can both have strong, practical software development skills so that either could create the next great video game or mobile app.