200

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 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 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 (with a C or better) and CSC 170 Introduction to Game Design (with a C or better).