Department of Computer Science and Engineering

Chair and Professor: E. Celebi (PhD)
Professor: B. Chen (PhD), C. Hu (PhD), S. Kockara (PhD), V. Paruchuri (PhD), Y. Sun (PhD)
Assistant Professor: A. Alsharif (PhD), E. Erdin (PhD), Z. Stine (PhD), S. Ullah (PhD)
Senior Lecturer: M. Smith (PhD), K. Thessing (MS)
Lecturer: M. Doderer (PhD)
Visiting Instructor: 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 and the Combined BS+MS Program in Computer Science

Students who major in Computer Science 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 and the MS in Computer Science degrees. This option allows qualified undergraduate seniors in the BS program in Computer Science to take first-year graduate-level courses in the MS program. 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.

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

[3] Baccalaureate Degrees: Bachelor of Science

Abbreviation Key – UCA Core Program

[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.

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)

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
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

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
MATH 2311 Elementary Statistics
CSCI 2330 Discrete Mathematics for Computing
MATH 3320 Linear Algebra [UD UCA Core: I]

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

MATH 1497 Calculus II
MATH 3311 Statistical 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
MIS 4355 Project Management
MIS 4380 Business Intelligence
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
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 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 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
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)
MIS 3382 Internship in Management Information Systems (or an upper-division course approved by the chair)
MIS 4325 Predictive Analytics
MIS 4330 Prescriptive Analytics
MIS 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.

[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 MIS course descriptions: course link.
Follow this link for MATH course descriptions: course link.