CSC - Computer Science
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
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)
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
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)
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)
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)
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)
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).
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
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).
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).
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)
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)
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
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)
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)
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)
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.
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).
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)
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)
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)
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)
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
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).
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