CSCI 3675 - Principles of Programming Languages (3 credits)

Semesters taught: Fall 2019-2023

Prerequisites: CSCI 2540 - Data Abstraction and Object-Oriented Data Structures.

Description: Examination of programming language paradigms and constructs. Includes syntax and semantics, type checking and polymorphism, and implementation issues.


CSCI 4110 - High Performance Computing (3 credits)

Semesters taught: Spring 2021-2022

Prerequisites: CSCI 3000 - Operating Systems, CSCI 3675 - Principles of Programming Languages.

Description: Software design and development targeting high performance computing architectures. Multi-core and many-core systems. MPI, OpenMP, MapReduce, CUDA, and OpenCL computing models.


CSCI 4140 - Natural Language Processing (3 credits)

Semesters taught: Spring 2020-2024

Prerequisites: CSCI 2540 - Data Abstraction and Object-Oriented Data Structures, MATH 2228 - Elementary Statistical Methods I, or MATH 2283 - Statistics for Business.

Description: Fundamental algorithms and computational models for core tasks in natural language processing. Word and sentence tokenization, parsing, information and meaning extraction, spelling correction, text summarization, question answering, and sentiment analysis.


CSCI 4180 - Big Data Analytics (3 credits)

Semesters taught: Fall 2021 and Spring 2023

Prerequisites: CSCI 3700 - Database Management Systems.

Description: Hands-on introduction to very big data and the practical issues surrounding how the data is stored, processed, analyzed, and visualized. Work with cloud-based high performance computing systems, large data collections, and high velocity data streams.


CSCI 4905 - Special Topics on Data Visualization and Communication (3 credits)

Semesters taught: Fall 2021

Prerequisites: CSCI 2540 – Data Abstraction and Object-Oriented Data Structures, or consent of instructor.

Description: Principles of data visualization and communication. Foundational components of visualizations, choosing the right graphic for visualization, and solving visualization problems and effective communication of the results for diverse audience.


CSCI/DASC 6010 - Big Data Analytics and Management (3 credits)

Semesters taught: Fall 2019, Spring 2021, Fall 2021, and Spring 2023-2024

Prerequisites: Enrolled in the master of science in computer science or software engineering programs or consent of instructor.

Description: Approaches to storing, processing, retrieving, analyzing, and managing massive-scale structured and unstructured data. High-performance computing and architectures and methods for developing and querying databases for Big Data. Column-relational, key-value, column-oriented, RDF, document-oriented, native XML, and graph databases.


CSCI/DASC 6040 - Computational Analysis of Natural Languages (3 credits)

Semesters taught: Spring 2021-2024

Prerequisites: Enrolled in the master of science in computer science or software engineering programs or consent of instructor.

Description: Theory and methods of natural language analysis and understanding. Morphological analysis and tagging, grammars and parsing, machine translation and natural language generation, semantic similarity, information extraction and question answering, text analytics and visualization.

CSCI 6905 - Special Topics on High Performance Computing (3 credits)

Semesters taught: Spring 2022

Prerequisites: Enrolled in the master of science in computer science, data science, or software engineering programs, and CSCI 3000 - Operating Systems, CSCI 3675 - Principles of Programming Languages or equivalent courses; or, consent of instructor.

Description: Software design and development targeting high performance computing architectures. Multi-core and many-core systems. MPI, OpenMP, MapReduce, CUDA, and OpenCL computing models.


CSCI 6905 - Special Topics on Data Visualization and Communication (3 credits)

Semesters taught: Fall 2021-2022

Prerequisites: Enrolled in the master of science in computer science, data science, or software engineering programs; or, consent of instructor.

Description: Principles of data visualization and communication. Foundational components of visualizations, choosing the right graphic for visualization, and solving visualization problems and effective communication of the results for diverse audience.