300

CSC 301 Advanced Data Structures and Algorithms

Advanced data structures and algorithm design and analysis. Topics include analysis techniques, advanced searching and sorting, advanced data structures (e.g., specialized trees, graphs), algorithm design techniques, and NP-completeness.
Credit Hours: 4

Prerequisites

CSC 201 Data Structures and Algorithm Analysis (with a grade of "C" or better)

CSC 310 Ethics and Impact of Computing

An examination of the ethical, social, and legal implications of computers, computing, communications, and other digital technologies. Emphasis is placed on writing and professional presentations (including debates). This course includes a significant amount of writing through several standalone essays and a major paper that is developed in an iterative process with frequent feedback.
Credit Hours: 4

Prerequisites

CSC 201 Data Structures and Algorithm Analysis (with a grade of "C" or better)

CSC 320 Theory of Computation

An overview of formal languages, the abstract models of computing capable of recognizing those languages, and the grammars used to generate them.
Credit Hours: 4

Prerequisites

CSC 301 Advanced Data Structures and Algorithms (with a grade of "C" or better)

Corequisites

MAT 270 Discrete Mathematics for Computer Science

CSC 330 Introduction to Computer Network Security

Overview of cyber security. Provides students with practical cyber security experience based on theoretical foundations. Topics include: cryptography, computer network defense, covert channels, reverse engineering, steganography, access control, web site exploitation, and other relevant and current topics in security.
Credit Hours: 4

Prerequisites

CSC 201 Data Structures and Algorithm Analysis (with a grade of "C" or better)

CSC 340 Database Management Systems

The theory, design, and implementation of relational database management systems. Topics include effective storage, security, and applied applications of legacy storage. Emphasis on the practical steps towards the creation of effective database management systems and the implementation of a simple database.
Credit Hours: 4

Prerequisites

CSC 201 Data Structures and Algorithm Analysis (with a grade of "C" or better)

CSC 350 Web Programming and Development

A comprehensive overview of Website development. Includes both server- and client-side installation, configuration, and programming; database integration; and an overview of security implications and considerations.
Credit Hours: 4

Prerequisites

CSC 201 Data Structures and Algorithm Analysis (with a grade of "C" or better)

CSC 360 Machine Learning Fundamentals

An introduction to machine learning, including supervised and unsupervised learning, regression, classification, clustering, and model evaluation. Students build machine learning pipelines in a general-purpose programming language and implement selected algorithms by hand to understand underlying principles.
Credit Hours: 4

Prerequisites

CSC 261 with a C or better. Pre or Co-req: MAT 201 or MAT 272 or MAT 425

Corequisites

MAT 201 Introduction to Statistics, MAT 272 Applied statistics, or MAT 425 Mathematical Statistics.

CSC 370 Computer Graphics

Covers the theoretical and practical foundations of computer graphics, including 2D and 3D rendering pipelines, geometric transformations, viewing and projection, lighting and shading, and surface modeling techniques. Emphasis is placed on the mathematical principles underlying graphics and their application within modern graphics APIs or game engines through interactive graphical projects.
Credit Hours: 4

Prerequisites

CSC 201 Data Structures and Algorithm Analysis (with a C or better)