Department of Computer Science and Engineering

Chair and Professor: E. Celebi (PhD)

Professor: B. Chen (PhD), C. Hu (PhD), V. Paruchuri (PhD), Y. Sun (PhD)

Assistant Professor: M. Abouyoussef (PhD), E. Erdin (PhD), Z. Stine (PhD), S. Ullah (PhD)

Senior Lecturer: M. Smith (PhD)

Lecturer: J. Baarsch (PhD), J. Corkran (MS), M. Talley (MS)

[1] Programs of Study and Purposes

The Department of Computer Science and Engineering offers programs of study leading to the Bachelor of Science in Computer Science, the Bachelor of Science in Computer Engineering, the Bachelor of Science in Data Science, the Master of Science in Computer Science, and a minor in Computer Science. The Bachelor of Science in Cybersecurity is offered in collaboration with the Department of Computer Information Systems and Analytics and the Department of Political Science.

The Bachelor of Science degree in Computer Science emphasizes problem solving in the context of algorithm development and software implementation, and prepares students for effectively using modern computer systems in various applications. This BS program requires a minimum of 54 credit hours in computer science, about 24 credit hours in mathematics and the sciences, and the university general education program. The departmental curriculum provides required computer science courses such as programming languages, data structures, computer architecture, algorithms, database systems, operating systems, and software engineering; as well as elective courses in artificial intelligence, distributed computing, graphics, human-computer interaction, multimedia, scientific computing, web technologies, and other current topics in computer science.

The Bachelor of Science degree in Computer Engineering emphasizes the ability of developing and adapting computer hardware for applications, and prepares broadly trained computer engineers who are experienced in both software and hardware engineering. This program requires a minimum of 64 credit hours in computer science and computer engineering, about 32 credit hours in mathematics and the sciences, and the university general education program. The departmental curriculum provides required computer engineering courses such as assembly language programming, electronics, computer architecture, signals and systems, digital logic, microprocessor systems, and embedded systems; as well as elective courses in networking, operating systems, image processing, signal processing, microelectronics, and other current topics in computer science and engineering.

The Bachelor of Science degree in Data Science emphasizes problem solving in the context of data science and analytics, and prepares students for effectively analyzing massive amounts of structured/unstructured data in various application domains. This BS program requires a minimum of 42 credit hours in computer science, about 28 credit hours in mathematics and the sciences, and the university general education program. The departmental curriculum provides required data science courses such as introduction to data science, data structures, algorithms, database systems, object-oriented software development, artificial intelligence, information security, and data mining; as well as concentration courses in computer science, statistics, or business.

The purpose of the BS programs in computer science and computer engineering are twofold: (1) to prepare the student for a position involving the design, development and implementation of computer software/hardware, and (2) to prepare the student for entry into a program of graduate study in computer science/engineering and related fields. The educational objectives for students completing these BS degree programs are that they

Objective 1: Grow as well-educated professionals with an integrated high-level understanding of computing systems, processes, and the main body of knowledge of computer science/engineering as a whole;
Objective 2: Be able to creatively apply theoretical and practical knowledge of computing to develop and support software solutions;
Objective 3: Work effectively, as an individual or as a member of a team, while communicating effectively with diverse audiences; contributing to a collaborative and inclusive environment; and complying with the ethical, legal, and professional standards of the discipline; and
Objective 4: Maintain their skills as the field evolves and appreciate the need for continuing professional growth and development to keep current in the profession.

The department also offers a minor in Computer Science. The computer science minor curriculum provides necessary background for students interested in using computational methods to solve a broad range of application problems in sciences and engineering, such as bioinformatics, computational chemistry, computational engineering, computational mathematics, and others.

[2] Honors in Computer Science/Cybersecurity and the Combined BS+MS Program in Computer Science/Cybersecurity

Students who major in Computer Science or Cybersecurity and who demonstrate exceptional ability may be invited to enter the Honors in the Major Program. For details, see Honors in the Major Program.

The department offers a combined and accelerated option for students to complete both the BS in Computer Science or Cybersecurity and the MS in Computer Science degrees. This option allows qualified undergraduate seniors in the BS program in Computer Science or Cybersecurity to take first-year graduate-level courses in the MS program. A maximum of nine such credit hours may be counted toward both the BS and MS degrees. These students will be able to complete all the requirements for the BS and MS programs in five years. Students interested in this five-year BS+MS combined option should contact their academic advisor or the department chair for details. See also the Graduate Bulletin description of these options.

To jump directly to a particular program of study, use these links:

Degree programs: BS, Computer Science | BS, Computer Engineering | BS, Data Science
Concentration: Computer Science – Data Science
Minor program: Computer Science | Data Science

[3] Baccalaureate Degrees: Bachelor of Science

[3.1] Major in Computer Science

[3.1.1] Computer Science Student Outcomes

All undergraduate students majoring in Computer Science will meet the following student general outcomes, specified by ABET CAC, upon their graduation:

  1. Analyze a problem and identify and define the computing requirements appropriate to its solution.
  2. Design, implement, and evaluate a computer-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.

Specifically, graduates should have an ability to

  1. Apply computer science theory and software development fundamentals to produce computing-based solutions.

[3.1.2] Computer Science Program Requirements

[Back to program-of-study links]

The Bachelor of Science, with a major in computer science, requires successful completion of 120 hours, including (1) the UCA Core: complete 39 hours to meet lower-division UCA Core requirements and complete upper-division UCA Core requirements using major, minor, or elective courses (see the UCA Core requirements); (2) degree requirements; and (3) major requirements outlined below. This program does not require a minor.

Mathematics Pathway: First-time, first-year students majoring in Computer Science enter the College Algebra Mathematics Pathway and must enroll in MATH 1390 during their first year of study, unless they have been awarded credit for MATH 1390.

Required Computer Science Courses (42 hours)

CSCI 1470 Computer Science I
CSCI 1480 Computer Science II
CSCI 2320 Data Structures
CSCI 2335 Networking
CSCI 3330 Algorithms
CSCI 3360 Database Systems [UD UCA Core: C]
CSCI 3370 Principles of Programming Languages
CSCI 3380 Computer Architecture
CSCI 3381 Object-Oriented Software Development with Java
CSCI 4300 Operating Systems
CSCI 4315 Information Security [UD UCA Core: R]
CSCI 4321 Ethical Implications of Technology [UD UCA Core: D, R]
CSCI 4490 Software Engineering [UD UCA Core: Z]

Elective Computer Science Courses (12 hours required)

CSEC 2300 Introduction to Cybersecurity*
CSCI 2310 Introduction to Data Science*
CSCI 2340 Assembly Language Programming*
CSCI 3V75 Internship
CSCI 3345 Human-Computer Interaction
CSCI 3382 Multi-Core and Multithreaded Programming
CSCI 3385 Artificial Intelligence
CSCI 4V95 Independent Study
CSCI 4305 Linux/UNIX Systems
CSCI 4340 Introduction to Parallel Computing
CSCI 4350 Computer Graphics
CSCI 4352 Introduction to Game Programming
CSCI 4353 Introduction to Multimedia Computing
CSCI 4355 Distributed Object Computing
CSCI 4357 Programming Mobile Devices
CSCI 4360 Special Topics in Computer Science
CSCI 4365 Web Technologies
CSCI 4370 Data Mining
CSCI 4371 Machine Learning
CSCI 4372 Data Clustering
CSEC 3300 Introduction to Number Theory and Cryptography
CSEC 3320 Computer Forensics [UD UCA Core: I]
CSEC 4320 Ethical Hacking
CSEC 4330 Software Security
CSEC 4335 Network Security
CSEC 4345 Cyber-Physical Security
ENGR 3301 Signals and Systems
ENGR 3340 An Introduction to Digital Image Processing
ENGR 3415 An Introduction to Digital Logic
ENGR 3416 Microprocessor Systems
ENGR 4315 An Introduction to Signal Processing
ENGR 4450 An Introduction to Embedded Systems

* No more than three hours of electives at the 2000 level may be counted toward the Computer Science major (an additional three hours may be counted with the consent of the chair).

Required Mathematics Courses (at least 16 hours)

Core Mathematics Courses (13 hours)

MATH 1491 Applied Calculus for the Life Sciences or MATH 1496 Calculus I
CSCI 2330 Discrete Mathematics for Computing
MATH 3311 Statistical Methods
MATH 3320 Linear Algebra [UD UCA Core: I]

Additional Mathematics Courses (at least 3 hours), chosen from the following

MATH 1497 Calculus II
MATH 4340 Numerical Methods
CSCI 4310 Numerical Methods for Data Science
CSCI 4390 Theory of Computation

Required Science Courses (8 hours)

BIOL 1440 Principles of Biology I
and
CHEM 1450 College Chemistry I or PHYS 1410 College Physics I or PHYS 1441 University Physics I

[3.1.3] Major in Computer Science with a Data Science Concentration

[Back to program-of-study links]

Required Computer Science Courses (48 hours)

CSCI 1470 Computer Science I
CSCI 1480 Computer Science II
CSCI 2320 Data Structures
CSCI 2335 Networking
CSCI 3330 Algorithms
CSCI 3360 Database Systems [UD UCA Core: C]
CSCI 3370 Principles of Programming Languages
CSCI 3380 Computer Architecture
CSCI 3381 Object-Oriented Software Development with Java
CSCI 3385 Artificial Intelligence
CSCI 4300 Operating Systems
CSCI 4315 Information Security [UD UCA Core: R]
CSCI 4321 Ethical Implications of Technology [UD UCA Core: D, R]
CSCI 4370 Data Mining
CSCI 4490 Software Engineering [UD UCA Core: Z]

Data Science Elective Courses (at least 12 hours required)

CSCI 3V75 Internship
CSCI 3345 Human-Computer Interaction
CSCI 3382 Multi-Core and Multithreaded Programming
CSCI 4305 Linux/UNIX Systems
CSCI 4340 Introduction to Parallel Computing
CSCI 4350 Computer Graphics
CSCI 4352 Introduction to Game Programming
CSCI 4353 Introduction to Multimedia Computing
CSCI 4355 Distributed Object Computing
CSCI 4357 Programming Mobile Devices
CSCI 4360 Special Topics in Computer Science
CSCI 4365 Web Technology
CSCI 4371 Machine Learning
CSCI 4372 Data Clustering
MATH 3391 Nonparametric Statistics
MATH 3392 Multivariate Analysis
MATH 4371 Introduction to Probability [UD UCA Core: R]
MATH 4373 Regression Analysis
CISA 4355 Project Management
CISA 4380 Business Intelligence and Data Visualization
ENGR 3301 Signals and Systems
ENGR 3340 An Introduction to Digital Image Processing
ENGR 3415 An Introduction to Digital Logic
ENGR 3416 Microprocessor Systems
ENGR 4315 An Introduction to Signal Processing
ENGR 4450 An Introduction to Embedded Systems
CSEC 3300 Introduction to Number Theory and Cryptography
CSEC 3320 Computer Forensics [UD UCA Core: I]
CSEC 4320 Ethical Hacking
CSEC 4330 Software Security
CSEC 4335 Network Security
CSEC 4345 Cyber-Physical Security

Required Mathematics Courses (16 hours)

MATH 1496 Calculus I
MATH 2311 Elementary Statistics
CSCI 2330 Discrete Mathematics for Computing
MATH 3320 Linear Algebra [UD UCA Core: I]
MATH 3311 Statistical Methods

Required Science Courses (8 hours)

BIOL 1440 Principles of Biology I
and
CHEM 1450 College Chemistry I or PHYS 1410 College Physics I or PHYS 1441 University Physics I

[3.2] Minor in Computer Science

[Back to program-of-study links]

[3.2.1] Requirements for the Computer Science Minor (17 hours)

Required CSCI courses

CSCI 1470 Computer Science I
CSCI 1480 Computer Science II
CSCI 2320 Data Structures
and
At least six credit hours chosen from upper-division CSCI courses

[3.3] Major in Computer Engineering

[Back to program-of-study links]

[3.3.1] Computer Engineering Program Requirements

The Bachelor of Science, with a major in computer engineering, requires successful completion of 123 hours, including (1) the UCA Core: complete 38 hours to meet lower-division UCA Core requirements (Computer Engineering majors are exempt from the requirement to complete a life science course under the Critical Inquiry category of the lower-division UCA Core.) and complete upper-division UCA Core requirements using major, minor, or elective courses (see the UCA Core requirements); (2) degree requirements; and (3) major requirements outlined below. This program does not require a minor.

Mathematics Pathway: First-time, first-year students majoring in Computer Engineering enter the College Algebra Mathematics Pathway and must enroll in MATH 1390 during their first year of study, unless they have been awarded credit for MATH 1390. Students with an ACT Math subscore between 22 and 26 should enroll in MATH 1486 Calculus Preparation. Student with an ACT Math subscore of 27 or greater should enroll in MATH 1496 Calculus I.

Required Computer Science and Computer Engineering Courses (55 hours)

ENGR 1301 Introduction to Engineering
CSCI 1470 Computer Science I
CSCI 1480 Computer Science II
CSCI 2320 Data Structures
CSCI 2340 Assembly Language Programming
ENGR 2447 Electronics
ENGR 3301 Signals and Systems
CSCI 3380 Computer Architecture
CSCI 3381 Object-Oriented Software Development with Java
ENGR 3415 An Introduction to Digital Logic
ENGR 3416 Microprocessor Systems
ENGR 4311 Senior Design 1
ENGR 4312 Senior Design 2 [UD UCA Core: Z]
CSCI 4321 Ethical Implications of Technology [UD UCA Core: D, R]
ENGR 4450 An Introduction to Embedded Systems
CSCI 4490 Software Engineering [UD UCA Core: Z]

Elective Computer Engineering Courses (9 hours required; choose at least three)

CSCI 2335 Networking
CSCI 3V75 Internship
CSCI 3330 Algorithms
CSCI 3345 Human-Computer Interaction
CSCI 3360 Database Systems [UD UCA Core: C]
CSCI 3370 Principles of Programming Languages
CSCI 3382 Multi-Core and Multithreaded Programming
CSCI 3385 Artificial Intelligence
CSCI 4V95 Independent Study
CSCI 4300 Operating Systems
CSCI 4305 Linux/UNIX Systems
CSCI 4310 Numerical Methods for Data Science
CSCI 4315 Information Security [UD UCA Core: R]
CSCI 4340 Introduction to Parallel Programming
CSCI 4350 Computer Graphics
CSCI 4352 Introduction to Game Programming
CSCI 4353 Introduction to Multimedia Computing
CSCI 4355 Distributed Object Computing
CSCI 4357 Programming Mobile Devices
CSCI 4360 Special Topics in Computer Science
CSCI 4365 Web Technologies
CSCI 4370 Data Mining
CSCI 4371 Machine Learning
CSCI 4372 Data Clustering
CSCI 4390 Theory of Computation
ENGR 3340 An Introduction to Digital Image Processing
ENGR 3447 Microelectronics
ENGR 4315 An Introduction to Signal Processing
CSEC 3300 Introduction to Number Theory and Cryptography
CSEC 3320 Computer Forensics [UD UCA Core: I]
CSEC 4320 Ethical Hacking
CSEC 4330 Software Security
CSEC 4335 Network Security
CSEC 4345 Cyber-Physical Security

Required Mathematics Courses (20 hours)

MATH 1496 Calculus I
MATH 1497 Calculus II
MATH 2311 Elementary Statistics
CSCI 2330 Discrete Mathematics for Computing
MATH 3320 Linear Algebra [UD UCA Core: I]
MATH 3331 Ordinary Differential Equations [UD UCA Core: C]

Required Science Courses (12 hours)

BIOL 1400 Exploring Concepts in Biology or BIOL 1440 Principles of Biology I
PHYS 1441 University Physics 1
PHYS 1442 University Physics 2

Other Required Courses (27 hours)

Lower-division UCA Core Electives
Upper-division UCA Core Elective

[3.4] Major in Data Science

[Back to program-of-study links]

[3.4.1] Data Science Student Outcomes

All undergraduate students majoring in Data Science will meet the following student general outcomes, specified by ABET CAC, upon their graduation:

  1. Analyze a problem and identify and define the computing requirements appropriate to its solution.
  2. Design, implement, and evaluate a computer-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.

Specifically, graduates should have an ability to

  1. Apply theory, techniques, and tools throughout the data analysis lifecycle and employ the resulting knowledge to satisfy stakeholders’ needs.

[3.4.2] Data Science Program Requirements

The Bachelor of Science, with a major in data science, requires successful completion of 120 hours, including (1) the UCA Core: complete 39 hours to meet lower-division UCA Core requirements and complete upper-division UCA Core requirements using major, minor, or elective courses (see the UCA Core requirements); (2) degree requirements; and (3) major requirements outlined below. This program does not require a minor.

Required Computing Core (42 credit hours)

CSCI 1470 Computer Science I
CSCI 1480 Computer Science II
CSCI 2310 Introduction to Data Science
CSCI 2320 Data Structures
CSCI 3330 Algorithms
CSCI 3360 Database Systems [UD UCA Core: C]
CSCI 3381 Object-Oriented Software Development with Java
MATH 3381 Data Cleaning and Visualization
CSCI 3385 Artificial Intelligence
CSCI 4315 Information Security [UD UCA Core: R]
CSCI 4321 Ethical Implications of Technology [UD UCA Core: D, R]
CSCI 4370 Data Mining
CSCI 4491 Applied Data Science [UD UCA Core: Z]

Required Mathematics/Statistics Core (20 credit hours)

MATH 1496 Calculus I
MATH 1497 Calculus II
CSCI 2330 Discrete Mathematics for Computing
MATH 3311 Statistical Methods
MATH 3320 Linear Algebra [UD UCA Core: I]
MATH 4371 Introduction to Probability [UD UCA Core: R]

[3.4.3] Data Science Concentration (12-18 credit hours)

Students majoring in Data Science will be required to complete one of the following concentrations.

[3.4.3.1] Computer Science (12 credit hours)

CSCI 3V75 Internship (with V = 3 or an upper-division course approved by the chair)

CSCI 2335 Networking or CSCI 3345 Human-Computer Interaction or CSCI 4340 Introduction to Parallel Programming

CSCI 4371 Machine Learning

CSCI 4372 Data Clustering

[3.4.3.2] Statistics (18 credit hours)

MATH 3392 Multivariate Analysis

MATH 4373 Regression Analysis

MATH 4391 Machine Learning

MATH 4392 Time Series and Forecasting

And 6 credit hours of electives chosen from the following MATH courses:

MATH 3391 Nonparametric Statistics

MATH 4381 Special Problems in Mathematics (when the subject is one of the following: Qualitative Data Analysis, Text Mining, or Bayesian Analysis)

[3.4.3.3] Business (12 credit hours)

CISA 3382 Internship in Computer Information Systems and Analytics (or an upper-division course approved by the chair)

CISA 4325 Predictive Analytics

CISA 4330 Prescriptive Analytics

CISA 4380 Business Intelligence and Data Visualization

[3.4.4] General Electives (5-11 credit hours)

This program requires 5–11 credit hours of general elective coursework depending on the concentration chosen.

[3.5] Minor in Data Science

[Back to program-of-study links]

[3.5.1] Option 1 (23 hours)

Required Courses (17 hours)
CSCI 1470 Computer Science I
CSCI 1480 Computer Science II
CSCI 2310 Introduction to Data Science
CSCI 2320 Data Structures
CSCI 3385 Artificial Intelligence
Elective Courses (at least 6 hours)
MATH 3381 Data Cleaning and Visualization
CSCI 4370 Data Mining
CSCI 4371 Machine Learning
CSCI 4372 Data Clustering

[3.5.2] Option 2 (15 hours)

Required Courses (6 hours)
CSCI 2310 Introduction to Data Science
CSCI 3385 Artificial Intelligence
Elective Courses (at least 9 hours)
MATH 3381 Data Cleaning and Visualization
CSCI 4370 Data Mining
CSCI 4371 Machine Learning
CSCI 4372 Data Clustering

[4] Master’s Degree

See Graduate Bulletin.

[5] Courses in Computer Science (CSCI)

Follow this link for CSCI course descriptions: course link.
Follow this link for CISA course descriptions: course link.
Follow this link for MATH course descriptions: course link.