Department of Computer Science

Interim Chair and Professor of Mathematics: R. Garimella (PhD), (501) 450-3147
Professor: C. Hu (PhD)
Associate Professor: B. Chen (PhD), S. Kockara (PhD), V. Paruchuri (PhD), S. Sheng (PhD), Y. Sun (PhD), P. Young (PhD)
Assistant Professor: T. Halic (PhD)
Lecturer: M. Smith (PhD), K. Thessing (MS)

[1] Purposes

The Department of Computer Science offers a degree leading to a Bachelor of Science in Computer Science, a Master of Science degree in Applied Computing, and a minor in Computer Science. The Bachelor of Science degree 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 48 credit hours in computer science, about 31 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 and organization, algorithms, database systems, operating systems, and software engineering; as well as elective courses in artificial intelligence, computer-based communication networks, distributed computing, information security, graphics, human-computer interaction, multimedia, scientific computing, web technology, and other current topics in computer science.

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

Objective 1: Grow as well-educated professionals with integrated high-level understanding of computing systems, processes, and the main body of knowledge of computer science as a whole;
Objective 2: Be able to creatively apply essential concepts, principles, and practices to construct appropriate solutions and analyze application processes using professional judgment in the selection and application of theory, tools and techniques;
Objective 3: Work productively, as an individual and as a team member, to produce work involving problem identification, analysis, design, and development of a software system within a professional, legal, and ethical framework; and
Objective 4: Maintain their skills as the field evolves, and appreciate the needs for continuing professional growth and development to keep current in the profession.

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

  1. An ability to apply knowledge of computing and mathematics appropriate to the discipline
  2. An ability to analyze a problem and identify and define the computing requirements appropriate to its solution
  3. An ability to design, implement and evaluate a computer-based system, process, component, or program to meet desired needs
  4. An ability to function effectively on teams to accomplish a common goal
  5. An understanding of professional, ethical, legal, security, and social issues and responsibilities
  6. An ability to communicate effectively with a range of audiences
  7. An ability to analyze the local and global impact of computing on individuals, organizations, and society
  8. Recognition of the need for, and an ability to engage in continuing professional development
  9. An ability to use current techniques, skills, and tools necessary for computing practices

Specifically, graduates should have an ability

  1. To apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices; and
  2. To apply design and development principles in the construction of software systems of varying complexity.

The department of computer science also offers a computer science curriculum leading to a minor in computer science. This 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] The Honors Program in Computer Science and BS/MS Combined Option

Junior and senior students who have demonstrated superior achievement in all areas, particularly in their computer science major, may be invited to participate in an advanced honors program. These students will engage in investigations in special computer science topics. The successful completion of their research will make these students eligible to graduate with honors in computer science.

The department offers a combined and accelerated option for students to complete both the BS in Computer Science and the MS in Applied Computing 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 his/her academic advisor or the department chair for details.

[3] Baccalaureate Degree: Bachelor of Science

The Bachelor of Science, with a major in computer science, requires successful completion of 120 hours, including (1) the UCA Core: complete 38 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.

[3.1] Major in Computer Science (48 hours)

Required Computer Science Courses (39 hours):

CSCI 1470 Computer Science I
CSCI 1480 Computer Science II
CSCI 2320 Data Structures
CSCI 2440 Assembly Language and Computer Organization
CSCI 3190 Social Implications of Technology
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 4191 Seminar in Applied Computing
CSCI 4300 Operating Systems
CSCI 4490 Software Engineering [UD UCA Core: Z]

Elective Computer Science Courses (9 hours required):

CSCI 3275 Internship in Computer Science
CSCI 3335 Networking
CSCI 3345 Human-Computer Interaction
CSCI 3385 Artificial Intelligence
CSCI 4195, 4295 Independent Study [Note 1]
CSCI 4310 Introduction to Scientific Computing
CSCI 4315 Information Security [UD UCA Core: R]
CSCI 4340 Introduction to Parallel Computing
CSCI 4350 Computer Graphics
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 4370 Data Mining
CSCI 4390 Theory of Computation
CSCI 4395 Undergraduate Research

Note 1:

A maximum of 3 hours credit from courses 4195 and 4295 may be used in meeting the 9-hour elective requirement in computer science.

Note 2:

At most one CSCI course with grade of D can be applied toward the BS degree.

Required mathematics courses (19 hours):

MATH 1491 Applied Calculus for the Life Sciences
MATH 2311 Statistical Methods I
MATH 2330 Discrete Structures I
MATH 3311 Statistical Methods II
MATH 3320 Linear Algebra [ UD UCA Core: I ]
MATH 3330 Discrete Structures II

Required science courses (12 hours):

BIOL 1440 Principles of Biology I
BIOL 1441 Principles of Biology II
CHEM 1450 College Chemistry I
CHEM 1451 College Chemistry II
PHYS 1410 College Physics 1
PHYS 1420 College Physics 2
PHYS 1441 University Physics 1
PHYS 1442 University Physics 2
One science course other than the selected sequence

[3.2] Minor in Computer Science (18 hours)

Required CSCI courses:

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

[4] Master’s degree

See Graduate Bulletin.

[5] Courses in Computer Science (CSCI)

Follow this link for CSCI course descriptions: course link.