Catalog 2026-2027

CSC - Computer Science

CSC 101 The Science of Computing I

An introduction to computing. Topics include problem solving, algorithm analysis and development, computer programming in Python, data structures, and the object-oriented paradigm.

Spartan Studies:

UTAMPA 200

Credit Hours: 4

CSC 102 The Science of Computing II

More in-depth coverage of computing. Topics include problem solving, algorithm analysis and development, object-oriented programming in Python, basic computer organization and architecture, and various applications of computing.
Credit Hours: 4

Prerequisites

CSC 101 The Science of Computing I (with a grade of "C" or better)

CSC 170 Introduction to Game Design

An overview of the history, genres, mechanics, and aesthetics of games. Students analyze existing games, develop paper prototypes, and iteratively refine designs through playtesting. The course introduces digital prototyping tools and emphasizes collaboration, critique, and communication of design ideas. Focus is placed on rules, play, and player experience.
Credit Hours: 4

CSC 201 Data Structures and Algorithm Analysis

The storage and manipulation of basic data structures such as arrays, linked lists, stacks, queues, trees, hash tables, and graphs. Emphasis is placed on practical applications of these data structures.
Credit Hours: 4

Prerequisites

CSC 102 The Science of Computing II (with a grade of "C" or better)

CSC 210 Computer Organization and Architecture

Architecture and organization of computer systems. Computer organization topics include data representation, digital logic, Boolean algebra, minimization techniques. Computer architecture topics include the CPU, instruction set architectures, memory hierarchy and management, input/output systems, alternative architectures, performance measurement and analysis.
Credit Hours: 4

Prerequisites

CSC 102 The Science of Computing II (with a grade of "C" or better)

CSC 220 Operating Systems and Systems Programming

An introduction to systems programming (in the context of Linux and C/C++) and operating systems. Topics include linking, writing scripts, performing system calls, managing memory, and using concurrency; process management, storage management, device management, performance, and security.
Credit Hours: 4

Prerequisites

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

CSC 230 Software Design and Engineering

Design, construction, and maintenance of large software systems. Project planning, requirements analysis, software design methodologies, software implementation and testing, maintenance.
Credit Hours: 4

Prerequisites

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

CSC 236 Software Engineering for AI Systems

A project-based course in which student teams design and develop AI systems for real-world applications. Emphasis is placed on requirements analysis, selection of appropriate AI techniques, agile development, and effective communication with both technical and non-technical stakeholders.
Credit Hours: 4

Prerequisites

CSC 261 Data and Knowledge Representation (with a grade of "C" or better).

CSC 260 Foundations of Artificial Intelligence

Introduces modern artificial intelligence tools alongside foundational AI techniques. Students learn to use and evaluate generative AI systems while studying classic approaches such as search, constraint satisfaction, logical reasoning, planning, and introductory probabilistic models. Core algorithms are implemented from scratch to reinforce conceptual understanding.
Credit Hours: 4

Prerequisites

CSC 101 The Science of Computing I (with a grade of "C" or better) or equivalent

CSC 261 Data and Knowledge Representation

Explores how data is structured for AI systems: feature engineering, representation learning, graph structures, ontologies, and embeddings. Includes a strong treatment of data preparation, cleaning, and ethical considerations around bias and fairness.
Credit Hours: 4

Prerequisites

CSC 260 Foundations of Artificial Intelligence (with a grade of "C" or better).

CSC 270 Introduction to Game Development

Introduces the technical foundations of games, including input handling, game loops, event-driven systems, basic rendering, physics, and asset management. Students build small, playable projects in a modern engine such as Unity or Unreal, implementing core gameplay mechanics and interactions among game objects. Emphasis is placed on iterative development, debugging, and fundamental software engineering practices in a game development context.
Credit Hours: 4

Prerequisites

CSC 101 The Science of Computing I and CSC 170 Introduction to Game Design (both with a grade of "C" or better).

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 grade of "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 grade of "C" or better).

CSC 401 Senior Capstone I

This course allows students to integrate what they have learned throughout the curriculum in an applied, real world setting. Students work in teams on a major project, applying software engineering principles along the way. The course also emphasizes professional presentations and technical reports at various points in the project.
Credit Hours: 2-4

Prerequisites

Senior status, CSC 230 Software Design and Engineering (with a grade of "C" or better), and CSC 301 Advanced Data Structures and Algorithms (with a grade of "C" or better)

CSC 402 Senior Capstone II

This course allows students to integrate what they have learned throughout the curriculum in an applied, real world setting. Students work in teams on a major project, applying software engineering principles along the way. The course also emphasizes professional presentations and technical reports at various points in the project. This is the second half of the senior capstone experience, where teams will finish their work on a major project and present their results.
Credit Hours: 2

Prerequisites

CSC 401 Senior Capstone I (with a grade of "C" or better)

CSC 410 Artificial Intelligence and Machine Learning

An overview of AI, including history, impact, implications, and the potential of artificial intelligence. Machine learning: perceptrons, multi-layer networks, and deep learning. Classical AI: game playing and search. Recurrent architectures for natural language processing.
Credit Hours: 4

Prerequisites

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

CSC 420 Programming Languages and Compilers

Techniques for specifying the syntax and semantics of programming languages, including language concepts, execution environments, comparative analysis of programming languages. Principles of compiler design, including lexical analysis, syntax analysis, error detection and recovery.
Credit Hours: 4

Prerequisites

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

CSC 450 Independent Study in Computer Science

Independent project developed under the guidance of a Computer Science faculty member. Students can apply by consulting with and submitting a project proposal to a Computer Science faculty member for 1-4 credits.
Credit Hours: 1-4

Prerequisites

Junior status, minimum GPA of 3.0, and consent of instructor

CSC 460 AI Systems and Applications

An advanced course covering modern AI topics such as convolutional and recurrent neural networks, natural language processing, computer vision, and reinforcement learning. Students complete a substantial term project that applies one AI technology to an end-to-end system and examines its implications in a real-world application.
Credit Hours: 4

Prerequisites

CSC 360 Machine Learning Fundamentals (with a grade of "C" or better).

CSC 499 Special Topics in Computer Science

A special topics course that allows faculty members to explore topics in computer science. May be repeated for additional credit, with a maximum of 8 credits total.
Credit Hours: 4

Prerequisites

Consent of instructor