Computer Science



The mission of the Bachelor of Science and Bachelor of Arts programs in Computer Science is to graduate students who have fundamental technical knowledge of their profession and the requisite technical breadth and communications skills to become leaders in creating the new techniques and technologies which will advance the field of computer science and its application to other disciplines.

Program Educational Objectives

  1. To educate and train students in the fundamentals of computer science and mathematics, in order to analyze and solve computing problems, as demonstrated by their professional accomplishments in industry, government and graduate programs and measured within three to five years after graduation.
  2. To educate students with an understanding of real-world computing needs, as demonstrated by their ability to address technical issues involving computing problems encountered in industry, government and graduate programs and measured within three to five years after graduation.
  3. To train students to work effectively, professionally and ethically in computing-related professions, as demonstrated by their communications, teamwork and leadership skills in industry, government and graduate programs and measured within three to five years after graduation.

Student Outcomes

As preparation for achieving the above educational objectives, the BS and BA degree programs in Computer Science are designed so that Bachelor of Science students attain:

  • An ability to apply knowledge of computing and mathematics appropriate to the discipline
  • An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution
  • An ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs
  • An ability to function effectively on teams to accomplish a common goal
  • An understanding of professional, ethical, and social responsibilities
  • An ability to communicate effectively
  • An ability to analyze the impact of computing on individuals, organizations, and society, including ethical, legal, security, and global policy issues
  • Recognition of the need for and an ability to engage in continuing professional development
  • An ability to use current techniques, skills, and tools necessary for computing practice
  • An ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices
  • An ability to apply design and development principles in the construction of software systems of varying complexity

Core and breadth courses provide our students with the flexibility to work across many disciplines and prepare them for a variety of professions. Our curriculum is designed to teach fundamental skills and knowledge needed by all CS graduates, while providing the greatest flexibility in selecting topics. Students are also required to develop depth in at least one of the following technical areas: software engineering; algorithms and theory; computer systems, networks, and security; databases and data mining; bioinformatics; or artificial intelligence.

Bachelor of Science in Computer Science

The Bachelor of Science program in Computer Science is designed to give a student a strong background in the fundamentals of mathematics and computer science. The curriculum is designed according to the latest ACM/IEEE computer science curriculum guidelines. A graduate of this program should be able to use these fundamentals to analyze and evaluate software systems and the underlying abstractions upon which they are based. A graduate should also be able to design and implement software systems which are state-of-the-art solutions to a variety of computing problems; this includes problems which are sufficiently complex to require the evaluation of design alternatives and engineering trade-offs. In addition to these program specific objectives, all students in the Case School of Engineering are exposed to societal issues, professionalism, and are provided opportunities to develop leadership skills.

Bachelor of Arts in Computer Science

The Bachelor of Arts program in Computer Science is a combination of a liberal arts program and a computing major. It is a professional program in the sense that graduates can be employed as computer professionals, but it is less technical than the Bachelor of Science program in Computer Science. This degree is particularly suitable for students with a wide range of interests. For example, students can major in another discipline in addition to computer science and routinely complete all of the requirements for the double major in a 4 year period. This is possible because over a third of the courses in the program are open electives. Furthermore, if a student is majoring in computer science and a second technical field such as mathematics or physics many of the technical electives will be accepted for both majors. Another example of the utility of this program is that it routinely allows students to major in computer science and take all of the pre-med courses in a four-year period.

Major in Computer Science (BS and BA)

BS Degree. Each student is required to complete a total of 14 CS courses. CS courses consist of the courses listed in the core, breadth, and depth areas below. BS students must complete: all 6 core courses; 5 of 7 breadth courses; and at least 4 courses in one of listed depth areas, including all starred courses in that area (many of these also count toward the breadth requirement). Each student is also required to complete 5 technical electives. These can be satisfied using courses from the list of approved technical electives, additional breadth or depth courses, or from other CS-related courses with prior permission from the student’s academic advisor.

BA Degree. Students are required to complete a total of 9 CS courses. BA students must complete: all 6 core courses; 3 of 7 breadth courses; and 4 technical electives. There is no depth requirement for the BA degree. 


Program Description

Bachelor of Science Curriculum

Bachelor of Arts Curriculum

Concentration Areas

Technical Electives List