Undergraduate Catalog 2024-2025

4000

CSCI 4320 Software Engineering

Prerequisite: C or better in CSCI 4710 and Senior status. An introduction to software engineering methodologies addressing each phase in the life cycle of software. Programming assignments use modern software engineering tools and languages.

3

CSCI 4330 Program Lang: Design & Surv

Prerequisite: C or better in CSCI 3410. The study of programming languages including the concept of compiler and interpreter, data types, type checking, names and scopes, the concept of binding, requirements for passing parameters, exception handling, imperative programming, object-oriented programming, functional programming, logic programming, formal language theory, and a broad survey of programming languages.

3

CSCI 4520 Analysis of Algorithms

Prerequisite: C or better in CSCI 3410 and 3680. Topics include analysis of algorithms, fundamental computing algorithms, algorithms and problem-solving, algorithmic strategies (brute-force algorithms, greedy algorithms, divide-and-conquer, dynamic programming, backtracking, branch-and-bound, heuristics, pattern matching and string/text algorithms, numerical approximation algorithms), and basic computability.

3

CSCI 4610 Internet Programming II

Prerequisite: CSCI 3610. This course is a continuation of CSCI 3610 and an in-depth study of the design and development of web applications. Topics include the XML and RSS, JSON, Ajax, web services, and web security. This course is non-repeatable.

3

CSCI 4680 Human Computer Interaction

Prerequisites: C or better in CSCI 3410 or CBIS 4210. This course explores the design, evaluation and implementation of usable interactive computing systems. Topics include methodologies and processes for designing, modeling and implementing interfaces, techniques for evaluating and comparing interfaces, and new paradigms for interaction.

3

CSCI 4710 Databases

Prerequisite: A grade of C or higher in CSCI 3410. An introduction to managing data as a resource by examining basic concepts in database management systems and contrasting them with standard file systems. Topics include data modeling, relational databases, database query languages, relational database design, transaction processing, and distributed databases.

3

CSCI 4711 Machine Learning

Prerequisite: CSCI 3710 or CSCI 3711 with a grade of C or better. An introduction to machine learning and its algorithms such as neural networks and deep learning, machine learning, and regression analysis. Students will apply the algorithms to real-world cases.

3

CSCI 4712 Big Data Analysis

An introduction to big data analysis, applying data mining and machine learning algorithms in big data analysis.

3

CSCI 4800 Parallel & Distributed Comp

Prerequisite: CSCI 3341. This course will provide an introduction to parallelism, communication and coordination. It includes topics in parallel algorithms, parallel architecture and distributed systems.

3

CSCI 4820 Artificial Intelligence

Prerequisite: CSCI 3410 and CSCI 3680 with a C or better. Corequisite: CSCI 4520, which may be taken concurrently. This course explores the theoretical and practical underpinnings of artificial intelligence and provides an introductory-level hands-on, engineering-oriented perspective on AI technology.

3

CSCI 4830 Computer Graphics

Prerequisites: C or better in MATH 2150, CSCI 3410 and CSCI 3680. An introduction to the basic principles and techniques of computer graphics emphasizing development and implementation of graphics algorithms and applications in a high level programming language.

3

CSCI 4920 Senior Seminar

Prerequisites: C or better in CSCI 3410 and permission of the instructor. Selected topics of current interest in computer science will be presented. In addition, each student will complete a project suited to the student's educational and professional interests.

3

CSCI 4940 Independent Study

Prerequisite: C or better in CSCI 3410 and permission of the instructor. Investigation of a topic of special interest under the guidance of a faculty member. Appropriate topics are those not available in other courses.

1 - 4

CSCI 4950 Special Topics

Prerequisite: CSCI 3410 and permission of the instructor. Selected topics not available in other departmental courses.

1 - 4

CSCI 4960 Internship and/or Cooperative

Prerequisite: CSCI 2811 with a grade of C or better, junior status, and approval of the Program Coordinator/Department Chair. An individually designed and planned learning experience involving off-campus field experience and study in the private or public sector. A technical report documenting the experience will be presented to the Computer Science program coordinator.

1 - 15

CSCI 4999 Undergraduate Research

Prerequisites: Completion of all Area F requirements with a grade of B or better and permission of the instructor. This course affords interested junior and senior students an opportunity to participate in a basic research experience with a member of the department faculty.

1 - 4