Computer Science- Bachelor of Science in Computer Science

For information, contact the Department of Computer Science and Software Engineering 262 McVey Data Science Building, 513-529-0340, e-mail, or visit

This program is accredited by the Computing Accreditation Commission of ABET

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.

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 chemistry, physics, biology, mathematics, statistics and those in the College of Engineering and Computing (CPB, CSE, ECE, EGM, MME, CEC) that are used to fulfill requirements of the major, must be taken for a grade.

Divisional Policy

MULTIPLE MAJORS: Students with two or more majors in the College of Engineering and Computing must take a minimum of 15 unique, additional credit hours in each 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: Computer Science

Core Requirements
STC 135Principles of Public Speaking3
or APC 231 Small Group Communication
MTH 151Calculus I4
MTH 231Elements of Discrete Mathematics3
or MTH 331 Proof: Introduction to Higher Mathematics
STA 301Applied Statistics3-4
or STA 261 Statistics
or ECE 345 Introduction to Probability, Statistics, and Random Processes
Mathematics/Statistics Electives9-10
Take three of the following:
Nonparametric Statistics
Introduction to Statistical Modeling
Statistical Monitoring and Design of Experiments
Statistical Programming
Advanced Data Visualization
Introduction to Bayesian Statistics
Survey Sampling in Business
Experimental Design Methods
Statistical Learning
Introduction to Linear Algebra
Differential Equations for Engineers
Calculus II
Calculus II
Calculus III
Differential Equations
Foundations of Geometry
Introduction to Abstract Algebra
Game Theory and Related Topics
Theory and Applications of Graphs
Real Analysis
Topics in Mathematical Finance
Natural Science Electives8-10
Select two of the following six options
Biological Concepts: Ecology, Evolution, Genetics, and Diversity
Biological Concepts: Structure, Function, Cellular, and Molecular Biology
College Chemistry
and College Chemistry Laboratory
College Chemistry
and College Chemistry Laboratory
General Physics I
and General Physics Laboratory I
General Physics II
and General Physics Laboratory II
Mathematics/Statistics/Science Elective3-5
Select one additional course from one of the following
Any of the above Mathematics/Statistics Electives
Any of the above Natural Science Electives
Any Miami Plan Natural Science
Computer Science Core
CEC 111Imagination, Ingenuity and Impact I2
CEC 112Imagination, Ingenuity, and Impact II2
CYB 134Introduction to Cybersecurity3
CSE 174Fundamentals of Problem Solving and Programming3
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 Project2
CSE 465Comparative Programming Languages3
CSE Electives (a total of 21 hours are required)21
15 to 21 hours of computer science electives:
Introduction to Knowledge Representation
Software Construction
Mobile App Development
Database Systems
Foundations of Computer Graphics and Games
Game Design and Implementation
Software Quality Assurance and Testing
Machine Learning
Deep Learning
Generative Artificial Intelligence
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 to 6 hours of affiliate electives:
Software Requirements
Software Engineering for User Interface and User Experience Design
Technology, Ethics, and Global Society
Special Topics
Optimization Modeling
Mathematics and Computer Science
Software Architecture and Design
Stochastic Modeling
Introduction to Model-Driven Software Engineering
System Administration and Scripting for Cybersecurity
Data Security
Digital Systems Design
Network Performance Analysis
Embedded Systems Design
Emerging Technology Practicum
Business Intelligence and Data Visualization
Managing Big Data
Introduction to Data Mining in Business
Theory and Applications of Graphs
Select 0 to 3 hours of research electives:
Undergraduate Summer Scholars Program (requires petition)
Special Problems (honors Program)
Undergraduate Research
Total Credit Hours92-98

Note: Additional free elective hours may need to be taken.