You are viewing an archived Georgia State catalog. For the current catalog, please visit catalog.gsu.edu.
CSC 6110 Introduction to Embedded Systems Laboratory
Credit Hours 4.0
Prerequisites CSC 3210 for CSc student or PHYS 3500 for Physics students or equivalent course work with consent of instructor
Description

(Same as PHYS 4110.) Four lecture hours per week. Topics taken from: review of basic logic functions; automatic systems; microprocessor- based systems and applications; embedded system software survey; microprocessor-based applications; digital communications; and embedded systems programming.

CSC 6120 Introduction to Robotics
Credit Hours 4.0
Prerequisites CSC 3320 and MATH 3030
Description

The course focuses on programming robots. We will use robotic kits for the hardware, and program them using state-of-the-art languages, such as NQC.

CSC 6210 Computer Architecture
Credit Hours 4.0
Prerequisites CSC 3210
Description

Logic design, combinatorial and sequential circuits, input-output devices, memory, processors, controllers, parallel architectures, bit-slicing, reduced instruction sets.

CSC 6220 Computer Networks
Credit Hours 4.0
Prerequisites CSC 3320 and MATH 3030
Description

Introduction to computer networks; details of layered network protocols with emphasis on functionality and analysis. Principles of relevant state-of-the art network standards.

CSC 6221 Wireless Networks and Mobile Computing
Credit Hours 4.0
Prerequisites CSC 4220 with grade of C or higher, or equivalent
Description

Introduction to wireless communication networks and mobile computing. Topics include: wireless communications technology; communication protocols in wireless networks; representative network types such as cellular wireless networks, wireless LANs, wireless ad hoc networks and wireless sensor networks, and mobile communication systems.

CSC 6222 Cyber Security
Credit Hours 4.0
Prerequisites CSC 2720 Data Structures and CSC 3320 System-Level Programming
Description

This course will describe the basic principles of security and privacy, including cryptography, identifications and authentications, access control models and mechanisms, network security, programs and programming security, web security, operating system security, database security, cloud security, Privacy (Data mining, web, and email), planning and administering security, security challenges in emerging topics (the Internet of Things, Economics, Electronic Voting, Cyber Warfare), and legal issues and ethics in security. The students will gain an understanding of the threats to cybersecurity and learn about counter measurements and their limitations.

CSC 6223 Privacy
Credit Hours 4.0
Prerequisites CSC 2720 and MATH 3030
Description

This course will study privacy in a few settings where rigorous definitions and enforcement mechanisms are being developed, including statistical disclosure limitation, semantics and logical specification of privacy policies that constrain information flow and use, principled audit and accountability mechanisms for enforcing privacy policies, anonymous communication protocols, and other settings in which privacy concerns have prompted much research, such as in social networks, location privacy and Web privacy.

CSC 6224 Ethical Hacking
Credit Hours 4.0
Prerequisites CSC 2720 (Data Structures) and CSC 3320 (System Level Programming)
Description

Introduction to the methods and techniques used by computer hackers for malicious activity and by penetration testers for defensive measures. Understanding of the techniques used by intruders will lead to the design of countermeasures for secure computer systems. Students will implement hands-on experiments to learn identification of vulnerabilities in servers, websites, wireless networks, and cryptologic systems.

CSC 6225 Internetwork Programming
Credit Hours 4.0
Prerequisites CSC 4220
Description

This course provides students with an understanding of the Internet and details regarding the protocols used in the Internet. The students will also learn key components of network programming using the most-widely used application program interface, sockets. Topics to be covered include: Internet Protocol (IP), Transport Layer Protocol- Transmission Control Protocol (TCP), Transport Layer Protocol-User Datagram Protocol (UDP), and Unix/Linux Network Programming.

CSC 6226 Software Security
Credit Hours 4.0
Prerequisites CSC 2720 Data Structure and CSC 3320 System Level Programming
Description

This course is a study of the foundation of software security. Students will learn the characteristics of secure software, the role of security in the development lifecycle, designing secure software, best security programming practices, security for web applications, static analysis techniques, and software security testing.

CSC 6250 Malware Analysis and Defense
Credit Hours 4.0
Prerequisites CSC 2720 (Data Structures) and CSC 3320 (System Level Programming)
Description

This course will introduce students to the fundamentals of malware analysis and defense techniques. Using hands-on-experience students will attain an understanding of identifying the functionalities and behaviors of malicious software. Students will use a disassembler to decompose, execute, and trace each line of a program. They will also learn how to patch the executable file and modify its behavior for a more secure outcome. Students will also have the chance to examine the effects of different types of malicious software that run either natively on a Windows or a Linux platforms. Students will learn how to defend a system by tracing back the infection and identifying the vulnerability used to exploit and implant the malicious software within the system.

CSC 6251 Computer Forensics
Credit Hours 4.0
Prerequisites CSC 2720 (Data Structures) and CSC 3320 (System Level Programming)
Description

This course teaches how to obtain and analyze digital information for possible use as evidence in civil, criminal or administrative cases. The course covers the recovery and analysis of digital evidence, addressing legal and technical issues. Topics include applications of hardware and software to computer forensics, computer forensics law, volume and file system analysis, computer forensics investigations, and computer forensics in the laboratory.

CSC 6260 Digital Image Processing
Credit Hours 4.0
Prerequisites CSC 2720
Description

Fundamentals of image processing, including image digitization, description, enhancement, segmentation, image transforms, filtering, restoration, coding, and retrieval. Concepts are illustrated by laboratory sessions in which these techniques are applied to practical situations, including examples from industrial and biomedical image processing.

CSC 6270 Digital Signal Processing
Credit Hours 4.0
Prerequisites CSC 4210 or CSC 6210
Description

This course covers the nature of information, signals, transforms, and applications. Topics include analog to digital and digital to analog conversion, data storage (such as the audio format MP3), data transforms, and filters. Applications include noise reduction, signal analysis, volume control (e.g., audio signals), and compression. We will be using computer programs to handle mathematical modeling and calculations.

CSC 6310 Parallel and Distributed Computing
Credit Hours 4.0
Prerequisites CSC 3210 and CSC 3320
Description

Introduction to various parallel and distributed computing paradigms, algorithms, architectures, programming environments, and tools. Hands-on programming on both shared-memory and message-passing parallel architectures.

CSC 6320 Operating Systems
Credit Hours 4.0
Prerequisites CSC 3320
Description

Introduction to operating systems concepts. Topics may include multiprogramming, resources allocation and management, and their implementation.

CSC 6330 Programming Language Concepts
Credit Hours 4.0
Prerequisites CSC 3210 and CSC 3410
Description

Fundamental programming language concepts, including syntax versus semantics, binding time, scopes, and storage management.

CSC 6340 Compilers
Credit Hours 4.0
Prerequisites CSC 4330 or CSC 6330
Description

Survey of topics related to compiler design, including parsing, table processing, code generation, and optimization.

CSC 6350 Software Engineering
Credit Hours 4.0
Prerequisites CSC 2720
Description

Techniques used in large scale scientific or technical software development, including requirements analysis, specification, systems design, implementation, testing, validation, verification, and maintenance.

CSC 6360 Mobile Application Development
Credit Hours 4.0
Prerequisites CSC 2720
Description

This course will cover the technologies, tools, frameworks and languages that are most commonly used in developing mobile applications for multiple mobile platforms. Topics include mobile application design, user interfaces, mobile application demographic and platform delivery, mobile networking, hosting infrastructure, and mobile security. Crosslisted with CSC 4360.

CSC 6370 Web Programming
Credit Hours 4.0
Prerequisites CSC 1302
Description

The course introduces the student to programming techniques required to develop Web applications. Topics include: HTML forms, JavaScript, Servlets and Java Server pages, PHP and MySQL, Web access to Oracle databases, and XML.

CSC 6380 Windowing Systems Programming
Credit Hours 4.0
Prerequisites CSC 1302
Description

Development of application software within windowed environments. Concepts of programming including graphical user interfaces, event-driven architectures, and object- oriented language programming with an application programming interface.

CSC 6510 Automata
Credit Hours 4.0
Prerequisites CSC 2510
Description

Theory of computing devices and the languages they recognize.

CSC 6520 Design and Analysis of Algorithms
Credit Hours 4.0
Prerequisites CSC 2720 and either MATH 3020 or MATH 3030
Description

Techniques for designing efficient algorithms; analysis of algorithms; lower bound arguments; and algorithms for sorting, selection, graphs, and string matching.

CSC 6610 Numerical Analysis I
Credit Hours 3.0
Prerequisites MATH 2215 and the ability to program in a high-level language
Description

Nature of error; iteration; techniques for nonlinear systems; zeros of functions; interpolation; numerical differentiation; Newton-Cotes formulae for definite integrals; and computer implementation of algorithms.

CSC 6620 Numerical Analysis II
Credit Hours 3.0
Prerequisites MATH 3030 or MATH 3435, and the ability to program in a high-level language
Description

(Same as MATH 6620.) Gaussian Elimination for linear systems; least squares; Taylor, predictor-corrector and Runge-Kutta methods for solving ordinary differential equations; boundary value problems and partial differential equations.

CSC 6630 Matlab
Credit Hours 4.0
Description

This course is designed to give science majors experience with the Matlab programming language. Matlab is used for scientific applications involving images, sound, and other signals. No previous programming experience is needed.

CSC 6640 Fundamentals of Bioinformatics
Credit Hours 4.0
Prerequisites BIOL 3800 or written approval of instructor
Description

(Same as BIOL 6640 and CHEM 6640.) Four lecture hours per week. A “hands-on” approach to bioinformatics using PCs, the internet, and computer graphics to analyze, correlate, and extract information from biological databases, emphasizing sequence and structure databases for protein and nucleic acids, and introducing the computing skills necessary for bioinformatics. Topics include: sequences and three-dimensional structures of proteins and nucleic acids, the major databases, algorithms for sequence comparison, data mining, and prediction of structure and function.

CSC 6650 Introduction to Bioinformatics
Credit Hours 4.0
Prerequisites CSC 2720, BIOL 1103K, and CHEM 1211K
Description

This course trains computational biologists in Biology, Statistics, and Computer Science It will introduce principles underlying current techniques in the analysis of different kinds of biological data. Topics include: sequence alignment, database searching, microarrays, structure analysis, and phylogenetic tree algorithms.

CSC 6710 Database Systems
Credit Hours 4.0
Prerequisites CSC 2720
Description

An introduction to the fundamental concepts and principles that underlie the relational model of data. Topics include formal query languages; SQL; query optimization; relational database design theory; and physical database design, integrity, security, and concurrency control.

CSC 6720 Human-Computer Interaction
Credit Hours 4.0
Prerequisites CSC 1302
Description

Techniques and methodologies for development of user interfaces in software systems; topics include interaction styles, interaction devices, user documentation, and interface assessment.

CSC 6730 Data Visualization
Credit Hours 4.0
Prerequisites for computer science majors, CSC 1302 with a C or higher, or equivalent; for all other majors, consent of instructor
Description

Data visualization or displaying data in visual forms and is closely related to data analytics. In this class, students will study the theories of data visualization, design principles, and data visualization techniques. Students will learn the various tools for creating interactive data visualizations, such as charts, maps, graphs and specialized data visualizations.

CSC 6740 Data Mining
Credit Hours 4.0
Prerequisites CSC 2720
Description

Introduction to basic data mining techniques (such as association rules mining, cluster analysis, and classification methods) and their applications (such as Web data mining, biomedical data mining and security).

CSC 6741 Data Mining for Analytics
Credit Hours 3.0
Description

Introduction to data mining techniques for structured as well as unstructured data including text mining. Topics will include data cleaning and pre-processing, association rules mining, cluster analysis, and classification methods. The course will have numerous hands-on programming projects.

CSC 6750 Semantic Web
Credit Hours 4.0
Prerequisites CSC 2720 with a C or higher
Description

In-depth overview of the Semantic Web and how it can be applied. Major topics include core technical components and language constructs for the Semantic Web, linked data concepts/projects and RDF triple stores, and real world semantic Web applications. (Crosslisted with CSC 4750.).

CSC 6760 Big Data Programming
Credit Hours 4.0
Prerequisites CSC 2720 with a C or better
Description

This course will cover the technologies, tools, frameworks and languages that are most commonly used in Big Data Programming. Focus will be on algorithms for analyzing and mining massive datasets, graphs and social network data. Topics include the storage, management, processing and analysis of massive datasets, as well as Big Data governance, security, and privacy issues. (Crosslisted with CSC 4760.).

CSC 6780 Fundamentals of Data Science
Credit Hours 4.0
Prerequisites CSC 2720
Description

Introduction to the fundamental concepts of predictive data science for tabular data with qualitative and quantitative scales. Topics include: data exploration, pre-processing and visualization; analytics base table (ABT) generation; basic supervised learning algorithms (i.e. information-based learning, similarity-based learning, and error-based learning), and comparative evaluation of these algorithms.

CSC 6810 Artificial Intelligence
Credit Hours 4.0
Prerequisites CSC 2720 and either CSC 4330 or CSC 6330
Description

An overview of techniques and methodologies in the field of artificial intelligence. Topics may include search strategies, problem solving, natural language processing, logic and deduction, memory models, learning, expert systems, knowledge representation, and robotics.

CSC 6820 Interactive Computer Graphics
Credit Hours 4.0
Prerequisites CSC 1302
Description

This course covers interactive 3D computer graphics techniques such as geometry modeling, transformation, lighting, texture mapping, graphics processing unit, shader, and user interaction.

CSC 6821 Fundamentals of Game Design
Credit Hours 4.0
Prerequisites CSC 1302
Description

Covers major aspects of game design such as challenges, gameplay, actions, core mechanics, worlds, characters, game balancing, user interfaces, and game genres.

CSC 6840 Computer Graphics Imaging
Credit Hours 4.0
Description

(Same as COMM 6840.) Study the theories, techniques, and tools for creating 3D computer graphics content. Topics include 3D modeling, camera, lighting, materials, texture mapping, physics based modeling, basic animation, and rendering techniques (e.g. ray tracing and radiosity).

CSC 6841 Computer Animation
Credit Hours 4.0
Description

The basics of three-dimensional computer animation including 3D modeling, lighting, texture mapping, key framing, character animation, rigid and soft body dynamics, particles, cloth, hair, fluid, etc.

CSC 6850 Machine Learning
Credit Hours 4.0
Prerequisites CSC 4520 or CSC 6520 Design and Analysis of Algorithm with a grade of C or higher
Description

This course is intended to provide a general introduction to machine learning. This course will cover the fundamental concepts and principles of supervised learning, unsupervised learning, semi-supervised learning and reinforcement learning. Students will understand the basic knowledge of machine learning, be familiar with classic machine learning algorithms, and gain experience of designing and implementing methods in real scenario. 4.000 Credit hours.

CSC 6980 Topics in Computer Science
Credit Hours 4.0
Prerequisites Consent of Instructor
Description

Selected topics in Computer Science will be covered. Topics include the latest advances in computing.

CSC 7003 Programming for Data Science
Credit Hours 3.0
Description

This introductory course provides an overview of data science programming. It will provide programming preparations for Master of Science in Analytics students and others who are interested in sharpening their programming skills. The course covers a variety of topics including algorithmic complexity, object oriented programming, lists, hash tables, recursion, binary trees, heaps, sorting algorithms, and graphs. Content will be linked to various topics in MSA courses.

CSC 7350 Programming for Bioinformatics
Credit Hours 3.0
Description

An introduction to a high-level programming language and basic data structures with a structured approach to problem solving, algorithmic analysis, and program development with emphasis on bioinformatics applications.

CSC 7351 Systems Programming for Bioinformatics
Credit Hours 3.0
Description

Prerequisite CSC 7350. An introduction to programming at the level of the operating system. Topics include shell scripting and C programming with an emphasis on bioinformatics applications.

CSC 7352 Data Structures for Bioinformatics
Credit Hours 3.0
Prerequisites CSC 7351
Description

Basic concepts and analysis of data representation and associated algorithms, including linearly-linked lists, multi-linked structures, trees, searching, and sorting with emphasis on bioinformatics applications.

CSC 8050 Statistics for Bioinformatics
Credit Hours 3.0
Prerequisites MATH 4544 or MATH 6544 or BIOL 4744 or BIOL 6744, or its equivalent
Description

(Same as BIOL 8050 and STAT 8050.) Three lecture hours per week. Introduction of computational biology and microarray informatics, gene expression analysis using microarray for transcriptional profiling, use of multivariate statistics and computer algorithms for different clustering techniques, important role of statistical packages, algorithms for calculating statistical quantities and statistical research in this area.

CSC 8210 Advanced Computer Architecture
Credit Hours 4.0
Prerequisites CSC 4210 or CSC 6210
Description

Multiprocessors (including shared memory as well as distributed memory systems), vector processing, program and network properties, scalable performance, memory hierarchy (including cache memory organization), pipelining, and bus systems. Topical research papers will also be discussed.

CSC 8220 Advanced Computer Networks
Credit Hours 4.0
Prerequisites CSC 4220/6220, or consent of the instructor
Description

Basics of queueing theory, network simulation, analysis methods, current network protocols, their implementation, potential extensions and improvements. Survey of current literature on performance analysis.

CSC 8221 Optical and Wireless Networks
Credit Hours 4.0
Prerequisites CSC 4220/6220
Description

Topics may include various optical and wireless networks, enabling technologies, multiplexing techniques, WDM, broadcast networks, wavelength-routed networks, network architectures, protocols, personal communication service (PCS) networks, location management, network algorithms, and optimization problems.

CSC 8222 Network Security
Credit Hours 4.0
Prerequisites CSC 4220 or CSC 6220
Description

This course provides students with a detailed understanding of the fundamentals of network security. Significant focus will be placed on the five phases of network attacks: reconnaissance, scanning, gaining access/denial of service, maintaining access, and covering tracks. Topics to be covered include: Web security, Security standards-SSL/TLS and SET, Intruders and viruses, PGP and S/MIME for electronic mail security, Firewalls, IDS Secret Key and Public/Private Key Cryptography Cryptographic Hashes and Message Digests, Authentication Systems (Kerberos), Digital signatures and certificates, Kerberos and X.509v3 digital certificates. Also, current network security publications will be surveyed.

CSC 8223 Sensor Networks and Internet of Things
Credit Hours 4.0
Prerequisites CSC 4220 or CSC 6220
Description

This course is intended to provide a general introduction to sensor networks and Internet of Things (IoT). The course will cover the fundamental concepts and principles, architectures, communication protocols, synchronization, localization and positioning, topology control, and sensory data management in sensor networks and IoT. Students will understand the basic knowledge of sensor networks and IoT, be familiar with setting up a wireless network consisting of sensor motes, gain experiences of designing and implementing IoT applications, obtain abilities of managing sensory data collected from mobile devices, and develop abilities of conducting research in the areas of sensor networks and IoT.

CSC 8224 Cryptography
Credit Hours 4.0
Prerequisites CSC 4250/6250 Design and Analysis of Algorithms with grade of C or higher
Description

This course is intended to provide a general introduction to cryptography. This introductory course will cover a number of fundamental concepts and schemes in cryptography, including symmetric cryptography, stream ciphers, block ciphers, data encryption standard (DES), advanced encryption standard (AES), public-key cryptography, RSA cryptosystem, elliptic curve cryptosystems, digital signatures, hash functions, message authentication codes (MACs), and key establishment. Through the lectures, students will understand the basic knowledge of cryptography, be familiar with various cryptosystems, have sufficient foundation to learn advanced techniques of security, gain experience of implementing cryptosystems, and develop abilities to conduct research in security and privacy.

CSC 8228 Privacy Aware Computing
Credit Hours 4.0
Prerequisites CSC 4250/6250 Design and Analysis of Algorithm
Description

This course is intended to provide a general introduction to privacy aware computing. This course will cover the fundamental concepts and principles of differential privacy, data perturbation, data anonymization, randomized responses, privacy-preserving data mining, private information retrieval, location privacy, and social network privacy, etc. Students will understand the basic knowledge of privacy aware computing, be familiar with various privacy preserving method, gain experience of designing and implementing methods to defense the privacy leaking with different scenario, and develop abilities of conducting research in privacy aware computing.

CSC 8250 Advanced Digital Signal Processing
Credit Hours 4.0
Prerequisites CSC 4220 or CSC 6220
Description

This course covers the state-of-art network architectures, protocols, and algorithms. It starts with reviewing issues associated with the network design principles, protocol mechanisms, and implementation techniques. The challenges related to implementing efficient and reliable protocols are then discussed and illustrated through several representative techniques and algorithms such as MPLS and RSVP. In addition, the course introduces fault-management and traffic grooming technologies for emerging networks including dynamic optical, radio and overlay networks. Topics related to service classes and network convergences, as well as interactions among diverse networking paradigms are also covered.

CSC 8251 Sensor Web Architecture and Protocols
Credit Hours 4.0
Prerequisites CSC 4220/6220
Description

This course surveys the emerging field of sensor web system and its applications. The course will cover a broad range of topics, including system architectures, operating systems, radio communication, networking protocols, energy management, RFID, web services and its applications (such as smart environments and smart grid). It is a research-oriented course that includes reading and discussion of papers from the scientific literature. Students will be expected to understand the algorithms and protocols in the lecture and read and present several selected research papers. The students will also gain hands-on experience with sensor web system and testbed and learn how to design practical sensor web systems.

CSC 8260 Advanced Image Processing
Credit Hours 4.0
Prerequisites CSC 4260/6260
Description

Advanced research topics of image processing, which include image digitization, description, enhancement, segmentation, image transforms, filtering, restoration, coding, and retrieval.

CSC 8270 Digital Signal Processing
Credit Hours 4.0
Prerequisites CSC 4210/6210
Description

The nature of information, signals, transforms, and applications. Topics include periodic sampling, the Fourier transform, finite impulse response filters, signal averaging, the Haar transform, and the wavelet transform.

CSC 8320 Advanced Operating Systems
Credit Hours 4.0
Prerequisites CSC 4320/6320
Description

Advanced operating systems concepts and mechanisms. Topics may include process synchronization, process deadlock, distributed operating systems, atomicity, commitment, recovery, fault-tolerance, distributed leader election, distributed manual exclusion algorithm, and concurrency control.

CSC 8321 Multimedia Systems
Credit Hours 4.0
Prerequisites CSC 4220/6220 Computer Networks
Description

This course covers state of the art on multimedia systems. Course materials consist of a mix of background knowledge, current practice and advanced research. The course is roughly divided into two parts. The first part provides an introduction to networked multimedia systems, including the basics on multimedia compression, and multimedia networking, as well as relevant multimedia applications on video streaming, virtual reality, cloud gaming and video conferencing. The second part presents standalone multimedia systems, discussing the background knowledge on multimedia operating systems, multimedia analysis and multimedia interaction, as well as corresponding multimedia applications on augmented reality and autonomous vehicles/drones.

CSC 8350 Advanced Software Engineering
Credit Hours 4.0
Prerequisites CSC 4350/6350
Description

Advanced concepts in software engineering. Topics may include new life cycle paradigms, code reusability issues, formal specifications, new design methodologies, and others.

CSC 8370 Data Security
Credit Hours 4.0
Prerequisites CSC 4320/6320 or CSC 4210/6210 or CSC 4220/6220
Description

The basics of data security and integrity in computer systems. The theoretical basis of data security, including concepts in cryptography, network protocols, operating systems, and authentication. Topics will include the structure, mechanism, and detection of computer viruses and worms; the use of firewalls and packet filters; common security lapses in operating systems and their prevention; checksums and basic cryptography; and related ideas such as buffer overflow attacks and indirect assembly programming. “Real-world” examples of attacks will be analyzed and discussed.

CSC 8520 Applied Combinatorics and Graph Theory
Credit Hours 3.0
Prerequisites CSC 4520/6520
Description

Development of combinatorial and graphical algorithms. Techniques for the study of complexity with application to algorithms in graph theory, sorting, and searching.

CSC 8530 Parallel Algorithms
Credit Hours 4.0
Prerequisites CSC 6520
Description

Techniques for designing and analyzing parallel algorithms on shared-memory and other models. Topics may include basic techniques, lists, trees, searching, sorting, graphs, and randomized algorithms.

CSC 8540 Advanced Algorithms in Bioinformatics
Credit Hours 4.0
Prerequisites CSC 4520 or CSC 6520 with grade of B or higher
Description

This course is an advanced graduate level of the course CSC 4520/6520. It is focused on fundamental algorithmic techniques in bioinformatics, including classed methods such as dynamic programming, support vector machines and other statistical and learning optimization methods. Applications will include restriction mapping, gene prediction, DNA sequencing, phylogenetic trees, haplotype inference, disease association, DNA array analysis, gene networks.

CSC 8550 Advanced Algorithms with Applications to Networks
Credit Hours 4.0
Prerequisites CSC 4520/CSC 6520
Description

Advanced data structures and algorithms. Liner Programming, Integer Linear Programming, approximation algorithms. Algorithms and protocols for sensor and ad hoc wireless networks. Protocols for improvement of communication networks survivability and reliability.

CSC 8560 Discrete Approximation Algorithms and Metaheuristics
Credit Hours 4.0
Prerequisites CSC 4520 or CSC 6520 with a grade of C or higher
Description

Approximation algorithms and metaheuristics for combinatorial problems: Set Cover, Steiner Trees, Multiway Cut, k-Center, Feedback Vertex Set, Shortest Superstring, Knapsack, Bin Packing, Minimum Makespan Scheduling. Primal-Dual Approximation algorithms: Steiner Forest.

CSC 8610 Advanced Numerical Analysis
Credit Hours 3.0
Prerequisites MATH 4435/6435 and CSC 4610/6610
Description

Advanced topics in numerical analysis. Stability and conditioning, discretization error, and convergence. Examples are drawn from linear algebra, differential and nonlinear equations.

CSC 8620 Numerical Linear Algebra
Credit Hours 3.0
Prerequisites MATH 4435/6435 and CSC 4610/6610
Description

Computational aspects of linear algebra. Matrix factorization, least squares, orthogonal transformations, eigenvalues, and methods for sparse matrices.

CSC 8630 Advanced Bioinformatics
Credit Hours 4.0
Prerequisites CSC 6640 or equivalent, ability to program in Java or C++ or equivalent, and consent of instructor
Description

(Same as BIOL 8630 and CHEM 8630.) Advanced topics in bioinformatics, computer and internet tools, and their applications. Computer skills for the analysis and extraction of functional information from biological databases for sequence and structure of nucleic acids and proteins. Students will complete a computer-based bioinformatics project.

CSC 8710 Deductive Databases and Logic Programming
Credit Hours 4.0
Prerequisites CSC 4710/6710
Description

An introduction to the area of deductive databases and logic programming. Topics include syntax of logic programs and deductive databases, model-theoretic, proof-theoretic and fixed-point semantics, operational semantics such as bottom-up evaluation and SLD-resolution techniques, query optimization, negation, constraint checking, and applications of deductive databases.

CSC 8711 Databases and the Web
Credit Hours 4.0
Prerequisites CSC 4710/6710, or consent of instructor
Description

Application of database technology to access information on the World Wide Web. Topics include Common Gateway Interface (CGI), HTML form processing, accessing databases from the Web, search engines, query languages for Web data, semi-structured data model, and XML.

CSC 8712 Advanced Database Systems
Credit Hours 4.0
Prerequisites CSC 6710
Description

Advanced topics in database systems will be discussed: transaction processing, atomicity-consistency-isolation- durability (ACID) requirements of transactions, transaction processing in Internet, distributed databases, transaction models, concurrency control, middleware in transaction processing systems, application integration, semi- structured data, on-line analytical processing, data warehouses, real-time and active databases.

CSC 8713 Spatial and Scientific Databases
Credit Hours 4.0
Prerequisites CSC 6710
Description

This course will cover a number of advanced concepts: spatial databases, high-dimensional data indexing (with applications in Content-based Image Retrieval through kNN querying), data warehouses, and an introduction to emerging spatio-temporal database systems. The lectures will provide graduate students with sufficient foundation to conduct their own, but supervised research in the field of databases at the graduate level. Students will gain hands on experience on the chosen aspect of database systems through completion of an individual graduate research project.

CSC 8720 Advanced Human-Computer Interaction
Credit Hours 4.0
Prerequisites CSC 4350/6350 and CSC 4720/6720
Description

Current trends in user interface technology; topics include alternative interaction devices, user interface tools, and interface modeling techniques.

CSC 8740 Advanced Data Mining
Credit Hours 4.0
Prerequisites CSC 6710 and CSC 6740 with a B or better grade
Description

Advanced concepts in data mining: sequence data analysis, time-series data classification and forecasting (with usage of dynamic time warping and kNN classifiers), high-dimensional data analysis (with applications to high-dimensional data indexing), and emerging area of spatio-temporal patterns discovery. The lectures will provide students with sufficient foundation to conduct their own, but supervised research on the challenges of mining unconventional data (e.g. image, time-series, or spatiotemporal data) from massive real-life data repositories.

CSC 8741 Graph Mining
Credit Hours 4.0
Prerequisites CSC 4740/6740 Data Mining
Description

This course covers important graph mining techniques, which are not covered by the existing course CSC 4740/6740 Data Mining or any other existing courses. This course will cover the most important research topics in graph mining including graph generators, proximity measurement, community detection, frequent subgraph mining, influence analysis, and multiplex network analysis. During this course, the students will learn the classic algorithms in graph mining including R-MAT graph generator, PageRank, personalized PageRank, SimRank, spectral clustering, modularity, non-negative matrix factorization, gSpan, influence maximization, and densest subgraph detection. The computational complexity and other properties of the problems are discussed. Fast computing algorithms are also introduced. All students should know the problems and applications in the graph mining research area. Students should only learn basic theoretical formulation/analysis of the methods but also accumulate practical hands-on experience on applying those methods. The students will do assignments, take exams, and finish research projects. The students will give presentations about their research projects by the end of the semester.

CSC 8810 Computational Intelligence
Credit Hours 4.0
Prerequisites CSC 4810/6810
Description

Introduction to computational intelligence techniques and their applications. Major topics include soft computing, granular computing, knowledge discovery and data mining, distributed intelligent agents, etc. How to implement an actual intelligent system is also covered.

CSC 8820 Advanced Graphics Algorithms
Credit Hours 4.0
Prerequisites CSC 4820/CSC 6820
Description

Study advanced algorithms and tools for computer graphics programming; topics include 3D pipeline, graphics processing unit, shader programming, view, transformation, texture mapping, game programming, and 3D graphics for mobile devices.

CSC 8830 Computer Vision: Theory and Systems
Credit Hours 4.0
Prerequisites CSC 3320 or equivalent; MATH 3020, MATH 3030, or equivalent
Description

This course provides an introduction to the concepts of 2D and 3D computer vision. Topics will include image formation and capture, filtering and feature detection/extraction, optical flow and motion tracking, classification and recognition, 3D reconstruction through stereo, and a brief introduction to deep-learning application in computer vision.

CSC 8840 Modeling and Simulation Theory and Application
Credit Hours 4.0
Prerequisites programming maturity is assumed
Description

The course covers theory and application of computer modeling and simulation. It includes basic systems modeling concepts and in-depth discussions of modeling elements, simulation protocols, and their relationships. In-class exposition of modeling and simulation techniques will be based on the discrete event modeling and simulation (DEVS) framework. Possible application domains of this class are numerous, including computer network, ecological systems, social/biological systems, and business to name a few.

CSC 8850 Advanced Machine Learning
Credit Hours 4.0
Prerequisites CSC 4520/CSC 6520
Description

This course is intended to provide a general introduction to machine learning. This course will cover the fundamental concepts and principles of supervised learning and unsupervised learning, including concept learning, decision tree, artificial neural network, evaluating hypotheses, bayesian learning, instance-based learning, genetic algorithm, support vector machine, reinforcement learning, clustering algorithm, feature selection and feature extraction. Students will understand the basic knowledge of machine learning, be familiar with various supervised learning and unsupervised learning methods, gain experience of designing and implementing machine learning methods for dataset with different characteristics, and develop abilities of conducting research in machine learning. 4.000 Credit hours.

CSC 8851 Deep Learning
Credit Hours 4.0
Prerequisites CSC 6740 Data Mining or CSC 6850 Introduction to Machine Learning
Description

Deep learning is the most effective learning algorithm so far in the area of Artificial Intelligence and it holds the promise of solving the Artificial General Intelligence (AGI) problem. This course will cover the foundations of deep learning, its training and regularization techniques, and its most prominent architectures (such as CNN, RNN, LSTM) for image recognition, sequence to sequence processing, and multi-modal applications.

CSC 8852 Reinforcement Learning
Credit Hours 4.0
Description

CSC 6740 Data Mining or CSC 6850 Introduction to Machine Learning. Reinforcement Learning is a learning paradigm where agents learn by error and trials (without explicit human supervision) to accomplish tasks. It has an enormous range of applications, including robotics, game playing, portfolio management and healthcare. This class will provide a solid introduction to the field of reinforcement learning, its formulation, main learning algorithms and core challenges. We will also cover the latest breakthrough in the intersection of deep learning and reinforcement learning for Atari game playing and Alpha Go.

CSC 8900 Seminar in Computer Science
Credit Hours 1.0
Description

Discussion of current research in computer science.

CSC 8901 Perspectives in Computer Science
Credit Hours 1.0
Description

For the Course Only Option in the M.S. degree, this seminar course is required. This course covers the topics in central areas of computer science, recent developments and future directions. 1.000 Credit Hours.

CSC 8902 Ethics for Data Science
Credit Hours 1.0
Description

This course is intended to provide a general introduction to ethics in data science through readings and case studies. It will provide the context and skills for ethically collecting, storing, sharing, and analyzing data. This includes awareness of preserving privacy, avoiding bias, and mitigating malicious attacks, among other topics.

CSC 8910 Computer Science Topics Seminar
Credit Hours 1.0 - 3.0
Description

May be repeated if topic varies.

CSC 8920 Computer Science Teaching Pedagogy
Credit Hours 1.0
Prerequisites consent of instructor
Description

The course covers pedagogical issues related to teaching computer science courses.

CSC 8930 M.S. Project
Credit Hours 1.0 - 4.0
Prerequisites consent of project advisor
Description

This course will fulfill the project option in the M.S. degree.

CSC 8940 Computer Science Internship
Credit Hours 1.0 - 9.0
Description

The course will require to document and present the project the student worked on during the internship.

CSC 8950 Directed Research in Computer Science
Credit Hours 1.0 - 4.0
Prerequisites consent of instructor
Description
CSC 8980 Topics in Computer Science
Credit Hours 4.0
Prerequisites consent of instructor
Description

May be taken more than once if topics are different.

CSC 8981 Research in Computer Science
Credit Hours 1.0 - 15.0
Prerequisites consent of instructor
Description

May be repeated.

CSC 8982 Lab in Computer Science
Credit Hours 1.0 - 15.0
Prerequisites consent of instructor
Description

May be repeated.

CSC 8999 Thesis Research
Credit Hours 1.0 - 9.0
Prerequisites consent of thesis advisor
Description
CSC 9900 Seminar in Computer Science
Credit Hours 1.0
Description

One lecture hour a week. Discussion of current research in computer science.

CSC 9999 Doctoral Dissertation Research
Credit Hours 1.0 - 20.0
Description