Computer Science - Bachelor of Arts in Computer Science

For information, contact the Department of Computer Science and Software Engineering 205 Benton Hall, 513-529-0340, e-mail, or visit

If you want to change the world and you like to think analytically and solve problems, and have an aptitude for mathematics, then consider a major in computer science. Innovations such as the internet, mobile and web applications, video games, machine learning, and artificial intelligence all owe their foundations to developments in computer science.

The Bachelor of Arts degree in Computer Science provides students with an understanding of the key principles and practices of computing and includes a focus in a second area through the completion of a minor, a co-major, or a second major outside of Computer Science to create powerful combinations of expertise. In either the BS or BA degree program, you will study programming languages, algorithms, computer architecture, operating systems, and applications of computer science such as networks, security, virtual reality, and the ethical and social implications of computer technology.

The U.S. Bureau of Labor’s job outlook for computer science graduates is excellent, and the number of positions is expected to increase by 25% between 2021 and 2031. This employment growth is due to the demand for increasing efficiency in network technology, computing speeds, software performance, and embedded systems. The median annual earnings for software developers were $120,730 in May 2021. According to the National Association of Colleges and Employers, starting offers for graduates with a bachelor’s degree in computer science average more than $72,000.

Graduates from Department of Computer Science and Software Engineering programs may work as software engineers, consultants, programmers, network systems analysts, computer scientists, systems programmers, network administrators, or database administrators. The minor or second major completed as part of the Bachelor of Arts program can open additional possibilities when you graduate.

Understanding the Bachelor of Arts and Bachelor of Science degree options

When deciding between a BA or a BS degree in Computer Science, begin by thinking about your interests:

  • Do you have an interest in another subject area that you would like to pursue alongside majoring in Computer Science? If so, then consider the Bachelor of Arts degree. This degree requires a minor or second major outside of Computer Science and Software Engineering. This allows you to learn about business, the arts, education, science, or some other field of interest to you. It also gives you more flexible science options.
  • Would you like to take additional computer science electives, and strengthen your mathematics, statistics, and science knowledge? If so, then the Bachelor of Science degree might be your best bet. It includes 3 additional Computer Science electives (so, 7 electives in all), 3 additional electives in mathematics and/or statistics, and 2 science courses that are designed for science majors.
  • What if you are not sure? No problem: the requirements look the same for roughly the first two years. An advisor from our department can help you plan your courses in a way that keeps your options open in case you would like to switch.

Students may not double major in both the BS and BA in Computer Science. The minor or additional major taken to meet BA degree requirements must be outside the Department of Computer Science and Software Engineering. At least nine credit hours taken to meet the requirements for the minor be unique, additional credit hours beyond the requirements of the BA in Computer Science degree. Students who double major must take a minimum of 15 unique, additional credit hours in their second major beyond the requirements of the first major. There are no other restrictions on the discipline on which the minor may focus.

Program Educational Objectives

Graduates from the Computer Science program are expected to attain or achieve the following Program Educational Objectives within a few years of graduation:

  • Develop in their chosen profession and/or progress toward an advanced degree
  • Provide innovative solutions using technical skills in their discipline
  • Communicate effectively, demonstrate leadership, and work collaboratively in diverse teams/organizations
  • Act responsibly and ethically in their profession and as informed citizens

Student Outcomes

  • Analyze a complex computing problem and apply principles of computing and other relevant disciplines to identify solutions.
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.
  • Communicate effectively in a variety of professional contexts.
  • Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
  • Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.
  • Apply computer science theory and software development fundamentals to produce computing-based solutions.
  • Acquire and apply new knowledge as needed, using appropriate learning strategies.

Departmental Honors

If you excel in your studies, you may qualify for the University Honors Program or the program for Honors in Computer Science and Software Engineering. As a senior in these programs, you will have the opportunity to work closely with the faculty on research projects of interest.

Credit/No-Credit Policy

All courses in mathematics, statistics and those in the College of Engineering and Computing (CEC, CSE, CPB, ECE, EGM, MME) that are used to fulfill requirements of the major must be taken for a grade.

Divisional Policy

DOUBLE MAJORS: Students with two majors in the College of Engineering and Computing must take a minimum of 15 different/additional credit hours in their second major beyond the requirements of their first major.

Graduate Study

The department offers a combined bachelor's/master's degree program that allows students to complete bachelor's and master's degrees in computer science in an accelerated manner. Students are eligible to apply for this program in their junior year. Please contact the CSE department office for more information.

Additional information is available from the CSE department office and website

Program Requirements

Core Requirements
STC 135Principles of Public Speaking3
Mathematics and Statistics
MTH 151Calculus I4
MTH 231Elements of Discrete Mathematics3
or MTH 331 Proof: Introduction to Higher Mathematics
STA 261Statistics3-4
or STA 301 Applied Statistics
or ECE 345 Introduction to Probability, Statistics, and Random Processes
Minor, second major, or co-major outside of the CSE department18-30
Computer Science Core
CSE 174Fundamentals of Programming and Problem Solving3
CYB 134Introduction to Cybersecurity3
CEC 111Imagination, Ingenuity and Impact I2
CEC 112Imagination, Ingenuity, and Impact II2
CSE 201Introduction to Software Engineering3
CSE 271Object-Oriented Programming3
CSE 274Data Abstraction and Data Structures3
CSE 278Systems I: Introduction to Systems Programming3
CSE 374Algorithms I3
CSE 381Systems 2: OS, Concurrency, Virtualization, and Security3
CSE 383Web Application Programming3
CSE 448Senior Design Project2
CSE 449Senior Design Project1-2
CSE 465Comparative Programming Languages3
CSE Electives (4 courses)12
9-12 hours of computer science electives
Mobile App Development
Database Systems
Foundations of Computer Graphics and Games
Game Design and Implementation
Software Quality Assurance and Testing
Machine Learning
High Performance Computing & Parallel Programming
Web Services and Service Oriented Architectures
Bioinformatics Computing Skills
Computer and Network Security
Special Topics in CSE
Automata, Formal Languages, and Computability
Compiler Design
Algorithms II
Advanced Database Systems
Introduction to Artificial Intelligence
Image Processing & Computer Vision
Advanced Graphics and Game Engine Design
Computer Network Design and Administration
0-3 hours of affiliate electives
Software Requirements
Software Engineering for User Interface and User Experience Design
Technology, Ethics, and Global Society
Special Topics
Optimization Modeling
Software Architecture and Design
Software Construction
Stochastic Modeling
Introduction to Model-Driven Software Engineering
System Administration and Scripting for Cybersecurity
Data Security
Digital Systems Design
Embedded Systems Design
Network Performance Analysis
Emerging Technology Practicum
Business Intelligence and Data Visualization
Managing Big Data
Introduction to Data Mining in Business
0-3 hours of research electives
Undergraduate Summer Scholars Program
Special Problems
Undergraduate Research
Total Credit Hours80-94