The result is the knowledge and skills necessary to analyze, design, implement, test, and maintain high quality, computer based solutions to human problem solving needs. The computer science curriculum also places a strong emphasis on writing, communication, professional skills, and ethical concerns. The objective is to prepare a graduate for a productive professional career with a broad based understanding of the computing discipline. The principles and foundations of computer science are learned through a synthesis of studies involving both course work and laboratories in areas such as problem solving, software development paradigms, data structures, digital logic, algorithm analysis and design, discrete structures, programming languages, computer organization and architecture, software engineering, operating systems, artificial intelligence, networks, computer graphics, microprocessors, computer theory, and information retrieval. Additional supporting studies involve both course work and laboratories in mathematics, physics, electrical engineering, and technical writing.
Computer ethics is an essential part of several courses.
DEMP details are available from the department. Students demonstrating satisfactory performance may deviate from the specified sequence of courses only with the express approval of a computer science undergraduate advisor and only when such deviation is required to obtain a normal load of course work for the student. Students may take a course no more than three times, unless they have written permission from the computer science chairperson. Computer science majors are not required to have a minor field. However, many students choose to pursue a minor.