The Computer Science-Technical Emphasis curriculum focuses on algorithms, theoretical foundations of computer science, and development of software. A strong foundation in mathematics and science is needed for this emphasis. Graduates of this emphasis will be prepared to work for a variety of companies including those that have a software, engineering, scientific or mathematical focus. Universities may have multiple computer degree programs, often located in different departments, which build on the recommendations for the Computer Science-Technical Emphasis. This major is typically found in a department named Computer Science or Mathematics and Computer Science or within a College of Engineering. Some schools may not require all of the courses listed below.