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 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 691. MS Thesis I.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. and the greater molecular and cell biology community.

Prerequisites: None
Offered: Every year, All

CSC 692. Ms Thesis II.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