CSC 500. Intelligent Systems.3 Credits.
Artificial Intelligence is an umbrella topic covering efforts in a variety of fields all searching for one goal: to get computers to perform well at tasks at which humans excel. Topics include fundamental issues in intelligent systems, search and optimization methods, knowledge representation and reasoning, learning, agents, computer vision, natural language processing, pattern recognition, advanced machine learning, robotics, knowledge-based systems, neural networks and genetic algorithms.
Prerequisites: None
Offered: Every other year, Spring
CSC 510. Computer Architecture.3 Credits.
This course provides a comprehensive presentation of the organization and architecture of high-performance computers, emphasizing both fundamental principles and the critical role of performance in driving computer design. The topics include CPU design, pipeline design, parallel computing and multi-cores, memory hierarchy, storage, GPGPU, communications and interconnect architectures.
Prerequisites: None
Offered: Every year, Spring
CSC 515. Algorithms & Design.3 Credits.
This course presents an advanced study of the design and analysis of algorithms. Topics include asymptotic analysis, complexity theory, dynamic programming, order statistics, advanced data structures, graph algorithms, approximation algorithms, string matching, randomized algorithms, and parallel algorithms.
Prerequisites: None
Offered: Every year, Spring
CSC 520. Operating Systems.3 Credits.
This course represents an advanced study of operating systems and the software to support these systems. Topics include operating system principles, concurrency, scheduling and dispatch, virtual memory, device management, security and protection, file systems and naming, and real-time systems.
Prerequisites: None
Offered: Every year, Fall
CSC 530. Embedded Systems.3 Credits.
The vast majority of computers in use today are not visible. They are instead embedded in other things. Embedded systems can be found in everything from robots to smart home devices. This course explores the hardware and software of embedded systems, with particular emphasis on getting data in and out of embedded devices.
Prerequisites: None
Offered: Every year, Fall
CSC 551. Natural Language Processing.3 Credits.
This course introduces students to the foundations of Natural Language Processing (NLP), beginning with classical text-processing and linguistic methods using a modern toolkit. Students learn essential techniques such as corpus exploration, tokenization, part-of-speech tagging, chunking, information extraction, and syntactic parsing. Building on these foundations, the course transitions to modern data-driven NLP through distributional semantics, word embeddings, and neural network models for text classification and sequence modeling. Students also receive an introductory understanding of Transformer architectures and attention mechanisms, forming the conceptual bridge toward contemporary pretrained language models. Through hands-on programming assignments and practical exercises, students develop the ability to implement core NLP pipelines and gain the grounding necessary for more advanced study in deep learning and generative AI. Students will explore hands-on programming with real-world datasets using state-of-the-art languages and tools.
Prerequisites: None
Offered: As needed, Fall
CSC 552. Generative AI.3 Credits.
This course provides a comprehensive, hands-on approach to understanding and implementing Generative AI systems, with a focus on Large Language Models (LLMs). Students will build complete generative models from fundamental principles, covering transformer architecture, attention mechanisms, GPT model, advanced prompting strategies and alignment methods. The course emphasizes both theoretical understanding and practical implementation. Students will create their own functional generative AI applications incorporating state-of-the-art fine-tuning, prompting and alignment techniques.
Prerequisites: None
Offered: As needed, Spring
CSC 555. Machine Learning.3 Credits.
This course is a survey of machine learning, with an emphasis on the various algorithms and techniques available to machine learning practitioners. The course is divided into three units: supervised learning, unsupervised learning, and reinforcement learning. Students will complete projects that require implementation, comparison, and analysis of these techniques. By the end of the course, students should be able to make informed decisions about which technique(s) will be viable for a particular problem and identify the tradeoffs between applicable techniques.
Prerequisites: None
Offered: As needed, Spring
CSC 575. Special Topics in Computer Science.1-4 Credits.
This course explores computer science topics not available in other courses, as well as new topics as they emerge in this rapidly evolving discipline. Topics may be interdisciplinary.
Prerequisites: None
Offered: As needed, All
CSC 605. Foundations of Cybersecurity.3 Credits.
This course introduces students to fundamental security principles and security defense. Students learn the concepts of information security risks, vulnerabilities, assets and threats.
Prerequisites: None
Offered: As needed
CSC 615. Computational Geometry.3 Credits.
This course focuses on designing and analyzing algorithms for solving geometric problems arising from application domains including graphics, robotics, and GIS.
Prerequisites: None
Offered: As needed
CSC 625. Database Systems.3 Credits.
This course provides an advanced study of the theory and application of database systems. Topics include data modeling and the relational model, query languages, relational database design, transaction processing, databases and physical database design.
Prerequisites: None
Offered: As needed
CSC 630. Parallel Processing and Design.3 Credits.
This course explores parallel computing with emphasis on programming massively parallel processors such as graphics processor units (GPUs). The students will make extensive use of parallel programming schemes such as Compute Unified Device Architecture (CUDA). The topics covered are instruction and data level parallelism, CUDA programming, control flow and synchronization, shared memory programming, performance optimization.
Prerequisites: None
Offered: As needed
CSC 640. Computer Networks.3 Credits.
This course provides an advanced study of the theory and application of net-centric computing, client-server computing, communications and networking, and distributed systems.
Prerequisites: None
Offered: As needed
CSC 645. Computer Graphics.3 Credits.
This course focuses on the theory and development of computer graphics technology. Topics include graphic systems, transformations in graphics, quaternions, rendering, geometric modeling, computer animation, ray tracing, and GPU programming (shaders).
Prerequisites: None
Offered: As needed
CSC 650. Neural Networks.3 Credits.
This course explores neural networks and will cover biological neurons, artificial neural networks, learning algorithms, perceptron, multilayer perceptron, various other neural network models, and applications of neural network techniques. This is a project-oriented class; hence, students are required to complete a project in groups of two. Projects can be based on any neural network topology.
Prerequisites: None
Offered: As needed
CSC 675. Advanced Topics in Computer Science.1-4 Credits.
This course explores advanced computer science topics not available in other courses, as well as new topics as they emerge in this rapidly evolving discipline. Topics may be interdisciplinary.
Prerequisites: None
Offered: As needed, All
CSC 690. Computer Science Professional Experience.0-3 Credits.
Students gain practical experience in applying theory obtained in previous course experiences by employing computing skills in a professional setting under the guidance of faculty and mentors. Students must obtain departmental approval and register prior to starting the experience. If approved, an internship could satisfy this requirement. Program Director Approval is required to take this course.
Prerequisites: Program Director course approval required.
Offered: As needed, All
CSC 691. MS Thesis I.1-3 Credits.
This course is a requirement for the thesis option within the MS in Computer Science. Students must demonstrate both breadth and depth of knowledge in their field of specialization. They also must demonstrate scientific research skills and present their findings to a thesis committee.
Prerequisites: None
Offered: Every year, All
CSC 692. MS Thesis II.1-3 Credits.
Thesis II is a requirement for the thesis option of the MS in Computer Science program. Students complete their independent research project, write an original thesis describing their research results, and defend their thesis in front of a thesis committee.
Prerequisites: None
Offered: Every year, All
CSC 699. Independent Study.1-4 Credits.
This individual study in a specialized area is open to graduate students by special arrangement with the program director. This is a structured program of reading, problem solving, software development, and/or experimentation established through conferences with a member of the computing faculty.
Prerequisites: None
Offered: As needed, All
