Skip to main content
Department of Computer Science

Bachelor of Science in Computer Science (School of Engineering)

Director: Associate Professor Alva Couch 

The Bachelor of Science in Computer Science (School of Engineering) is accredited by the Computing Accreditation Commission of ABET, Inc ( Students in the School of Arts and Sciences should refer to Bachelor of Arts/Bachelor of Science Major in Computer Science. The Arts and Sciences major is not accredited by the Computing Accreditation Commission of ABET, Inc.

Bachelor of Science in Computer Science

The mission of the Computer Science program in the School of Engineering is to provide graduates with the durable knowledge necessary to become future leaders in the rapidly evolving discipline of computer science as well as in other computer-related fields. We aim to give each graduate a solid foundation in both computer science theory and programming practice, and to prepare each graduate for further advanced study in computer science and related fields. We aim to expose each graduate to the challenges and research problems involved in creating new kinds of computer software. We aim to give graduates the skills and commitment to lifelong learning necessary to prepare them to be effective employees or graduate students in computer-related fields. The faculty is dedicated to accomplishing this mission through integration of teaching and research.

Our program objectives include success in industry careers and graduate school. Two to five years after graduation, graduates of the BSCS program will have:

  1. Succeeded and advanced in professional careers in or related to computing or software.
  2. Been admitted to and advanced in graduate study in computer science.

Outcomes of the B.S.C.S. program include that:

  1. Graduates should be able to use computer science theory to analyze algorithms and to reason about properties of programs, including structure, behavior, and performance.
  2. Graduates should be able to solve problems by using principled methods to create, extend, and improve software.
  3. Graduates should have had practice applying their knowledge and skills to open-ended problems with more than one good answer.
  4. Graduates should have practice working in teams.

Additionally, the BSCS degree aims to empower our students with ABET Computing Accreditation Commission outcomes 1-6, including the ability to:

  1. Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
  2. Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.
  3. Communicate effectively in a variety of professional contexts.
  4. Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
  5. Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.
  6. Apply computer science theory and software development fundamentals to produce computing-based solutions. [CS]


The Bachelor of Science in Computer Science (BSCS) requires 120 semester-hours of study, including introductory, foundation, HASS, breadth, and concentration courses. Introductory courses (10 courses) include Engineering 1; Engineering Science 2 or an elective with attribute value “SOE-Engineering”; Mathematics 32, 34 or 39, and 42 or 44; Computer Science 61 (Mathematics 61 may be substituted for Computer Science 61); Mathematics 70 or 72; two courses selected from Physics 11, Chemistry 1 or 16, and Biology 13; and one natural science or mathematics elective.

For natural science courses accepted towards the Engineering degrees, refer to the online course catalog for courses with attribute “Engineering Requirements” and value “SOE-Natural Sciences.” For mathematics courses, refer to the online course catalog for courses with attribute “Engineering Requirements” and value “SOE-Mathematics”.

The foundation requirement (five courses) includes Computer Science 11 and 15, Engineering Science 3 and 4, and a statistics course chosen from Mathematics 166, Engineering Science 56, Electrical Engineering 24 or 104, Biomedical Engineering 141, Biology 132, and Physics 153.

The Humanities, Social Sciences, and Arts (HASS) requirement (six courses) includes English 1 or 3 and five courses in Humanities, Arts, or Social Sciences. Of these five courses, one must be Humanities, and one must be Social Science. Allowable courses in Humanities, Arts, and Social Sciences are listed in the online course catalog with attribute “Engineering Requirements” and possible values “SOE- HASS- Humanities,” “SOE-HASS-Arts,” and “SOE-HASS -Social Sciences,” respectively.

The breadth requirement includes one course in ethics and social context (Philosophy 24 or Engineering Management 54); and nine semester hour units chosen either from Humanities, Arts, and Social Sciences, or from selected courses covering the broader context of engineering. A list of selected courses appropriate for fulfilling the last nine semester hour units of the breadth requirement is available from the department.

The concentration requirement (11 courses) includes Computer Science 40, 80 or 105, 160, 170, 97, and 98; and five elective courses in computer science, three of which must be numbered above 100. Only one of Computer Science 80 or Computer Science 105 may be counted toward the degree. At most three semester hour units of Independent Study or Research (Computer Science 93, 94, 191, 193, or 194) and four semester hour units of thesis (Computer Science 197) may be utilized as concentration electives. At least two credit hours must be chosen from Computer Science 27, 55, 116, 120, or 155. At most one course numbered 55 or 155 may be counted toward the degree.

Computer Science 53, 153, and 154 may not be used as concentration electives. Internship credit (Computer Science 99) may not be counted toward the concentration requirement, though four semester hour units of Computer Science 99 may be counted toward the breadth requirement. For a research experience, students should consider partly fulfilling concentration elective requirements via a senior thesis.

At the student’s option, one concentration elective may be replaced by one course in Mathematics, selected from the following choices: 

  • Mathematics 51 - Differential Equations 
  • Mathematics 63 - Number Theory 
  • Mathematics 87 - Mathematical Modeling and Computation 
  • Mathematics 125 - Numerical Analysis 
  • Mathematics 126 - Numerical Linear Algebra 
  • Mathematics 133 - Complex Variables 
  • Mathematics 135 - Real Analysis I 
  • Mathematics 136 - Real Analysis II 
  • Mathematics 145 - Abstract Algebra I 
  • Mathematics 146 - Abstract Algebra II 
  • Mathematics 155 - Partial Differential Equations I 
  • Mathematics 156 - Partial Differential Equations II 
  • Mathematics 163 - Computational Geometry 
  • Mathematics 165 - Probability Mathematics 166 - Statistics 

Students in the Bachelor of Science in Computer Science program in the School of Engineering must earn a C- or better in 75% of concentration courses. They also must have a C- or better in two-thirds of 120 credit hours of courses.


All forms for CS undergraduate students.

Guide to Computer Science major in Engineering

Forms for undergraduates