The Department of Computer Science and Engineering offers courses covering the major areas of computer science. These courses constitute the basis for an undergraduate major that prepares students for a variety of professional and technical careers in business, industry and government, or for graduate work leading to advanced degrees. In addition, the department offers courses for students from other fields that will use computer science as a tool in their own areas. The department offers two degrees in computer science: the Bachelor of Arts in Computer Science and the Bachelor of Science in Computer Science. The BA gives the student the opportunity to obtain a liberal arts background while the BS program gives the student the opportunity to pursue a sciences background. The BS is recommended for those seeking to pursue a graduate degree in computer science. Both degrees prepare the student to pursue a professional career in the computing field and are based on the computing curriculum guidelines developed by the Accreditation Board for Engineering and Technology (ABET). The core of both degrees emphasizes broad fundamental principles of computer science and teaches the student the necessary skills to develop solutions using current or future technology. The core topics include computer programming, systems organization, software engineering, databases and theory. Upon completion of the core topics, the student may select electives that explore specific areas of computer science, such as computer graphics, architecture or intelligent systems.