May 20, 2024  
2023-2024 Graduate Catalog 
    
2023-2024 Graduate Catalog [ARCHIVED CATALOG]

Course Descriptions


Definitions

Corequisites

A corequisite identifies another course or courses that should be taken concurrently with the listed course. A student who enrolls in a listed course with corequisites must also enroll in those corequisite courses. A student who has previously completed a corequisite course may not need to repeat it; he or she should consult with an academic adviser before registering to determine specific requirements.

Course Credit Hours

The total semester hours of credit for each course are shown in parentheses immediately following the course title.

Prerequisites

A prerequisite identifies a course or other requirements that a student must have completed successfully before enrolling in the listed course. Any student who has not met prerequisites for a course may be administratively withdrawn from that course at the discretion of the instructor. It is the policy of some university departments to withdraw automatically any student who enrolls in a course without first meeting its prerequisites.

 

Computer Science

  
  • CSC 6030 - Computational Epidemiology I


    4 Credit Hours
    Description
    As part the field of computational life science, this course will focus on applications of computational methods to problems in the field of epidemiology and public health. After a survey of different types of problems from the domain of public health, and current methodologies for addressing these problems, this course will explore a variety of computational science paradigms that are deemed suitable to support epidemiological research. (Same as GEOS 6030.)

  
  • CSC 6040 - Computational Epidemiology II


    4 Credit Hours
    Prerequisites: CSC 6030 with a C or higher.
    Description
    Spatial analysis, geographic information system (GIS) and computational methods for public health applications including disease mapping, disease clustering and exposure modeling. Location-allocation methods for measuring access to health care services also are discussed. (Same as GEOS 6040.)

  
  • CSC 6110 - Introduction to Embedded Systems Laboratory


    4 Credit Hours
    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. 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. Four lecture hours per week.

  
  • CSC 6120 - Introduction to Robotics


    4 Credit Hours
    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


    4 Credit Hours
    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


    4 Credit Hours
    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 - Mobile Computing and Wireless Network Security


    4 Credit Hours
    Prerequisites: CSC 4220 with a 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 - Fundamentals of Cybersecurity


    4 Credit Hours
    Prerequisites: CSC 2720 and CSC 3320.
    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.

  
  • CSC 6223 - Privacy


    4 Credit Hours
    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


    4 Credit Hours
    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


    4 Credit Hours
    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 - Secure Software Engineering


    4 Credit Hours
    Prerequisites: CSC 2720 and CSC 3320.
    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 6227 - Network Security


    4 Credit Hours
    Prerequisites: CSC 4220 with a C or higher or equivalent.
    Description
    This course provides students with a detailed understanding of the fundamentals of network security and related topics. Topics to be covered include: Security standards-SSL/TLS and SET, 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 digital certificates.

  
  • CSC 6250 - Malware Analysis and Defense


    4 Credit Hours
    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


    4 Credit Hours
    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


    4 Credit Hours
    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


    4 Credit Hours
    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


    4 Credit Hours
    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 6311 - Cloud Computing


    4 Credit Hours
    Prerequisites: CSC 2720 or DSCI 2720 with a C or higher.
    Description
    This course covers topics related to cloud computing including cloud computing infrastructure such as Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). Popular cloud services such as AWS, Microsoft Azure and Google Cloud will be introduced. Container technologies such as Docker, Kubernetes etc. will be introduced.

  
  • CSC 6320 - Operating Systems


    4 Credit Hours
    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


    4 Credit Hours
    Prerequisites: CSC 3210 and CSC 3410.
    Description
    Fundamental programming language concepts, including syntax versus semantics, binding time, scopes, and storage management.

  
  • CSC 6340 - Compilers


    4 Credit Hours
    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


    4 Credit Hours
    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


    4 Credit Hours
    Prerequisites: CSC 2720.
    Description
    Crosslisted with CSC 4360. 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.

  
  • CSC 6370 - Web Programming


    4 Credit Hours
    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


    4 Credit Hours
    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


    4 Credit Hours
    Prerequisites: CSC 2510.
    Description
    Theory of computing devices and the languages they recognize.

  
  • CSC 6520 - Design and Analysis of Algorithms


    4 Credit Hours
    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


    3 Credit Hours
    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


    3 Credit Hours
    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


    4 Credit Hours
    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


    4 Credit Hours
    Prerequisites: BIOL 3800 or written approval of instructor.
    Description
    Same as BIOL 6640 and CHEM 6640. 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. Four lecture hours per week.

  
  • CSC 6650 - Introduction to Bioinformatics


    4 Credit Hours
    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


    4 Credit Hours
    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


    4 Credit Hours
    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


    4 Credit Hours
    Prerequisites: for computer science majors, CSC 3320 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


    4 Credit Hours
    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


    3 Credit Hours
    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


    4 Credit Hours
    Prerequisites: CSC 2720 with a C or higher.
    Description
    Crosslisted with CSC 4750. 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.

  
  • CSC 6760 - Big Data Programming


    4 Credit Hours
    Prerequisites: CSC 2720 with a C or better.
    Description
    Crosslisted with CSC 4760. 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.

  
  • CSC 6780 - Fundamentals of Data Science


    4 Credit Hours
    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


    4 Credit Hours
    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


    4 Credit Hours
    Prerequisites: CSC 3320 with a C or higher.
    Description
    This course will introduce students to 3D computer graphics and game programming. Students will learn how to develop 3D games and interactive computer graphics applications (such as virtual reality) using game engines. The topics include rendering, lighting, camera, sound, character control, animation, and physics.

  
  • CSC 6821 - Fundamentals of Game Design


    4 Credit Hours
    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 - Advanced Computer Graphics Programming


    4 Credit Hours
    Prerequisites: CSC 3320 with a C or higher.
    Description
    Students will learn advanced 3D graphics and game programming. The topics will include rendering, lighting, camera, animation, user interaction, physics simulation, game AI, and GPU.

  
  • CSC 6841 - Computer Animation


    4 Credit Hours
    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


    4 Credit Hours
    Prerequisites: CSC 4520 or 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.

  
  • CSC 6851 - Introduction to Deep Learning


    4 Credit Hours
    Prerequisites: CSC 4850 or DSCI 4850 with a C or higher.
    Description
    This course introduces the basic concepts and algorithms of deep neural networks and its applications to computer vision and natural language processing. Depending on the course progress, selected topics such as unsupervised learning and model compression will be covered. The class emphasizes the understanding of the state-of-the-art DL architectures as well as practical implementations of deep neural networks with Python.

  
  • CSC 6980 - Topics in Computer Science


    4 Credit Hours
    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


    1.5 Credit Hours
    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


    4 Credit Hours
    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


    3 Credit Hours
    Description
    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 - Advanced Programming for Bioinformatics


    4 Credit Hours
    Prerequisites: CSC 7350.
    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 7850 - Machine Learning-TAIS


    3 Credit Hours
    Prerequisites: Enrollment in Trustworthy Artificial Intelligence Systems online certificate program.
    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.

  
  • CSC 7851 - Deep Learning-TAIS


    3 Credit Hours
    Prerequisites: Enrollment in Trustworthy Artificial Intelligence Systems online certificate program.
    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 7950 - Secure Artificial Intelligence-TAIS


    3 Credit Hours
    Prerequisites: CSC 7851 with a C or higher. Enrollment in Trustworthy Artificial Intelligence Systems online certificate program.
    Description
    This course will cover the fundamental concepts and principles of security issues of machine learning, deep learning, and topics research on trustworthy artificial intelligence (AI). Topics include adversarial machine learning, security attacks and defenses, vulnerability detection, formal verification, etc. Students will gain experience in designing and implementing secure AI systems.

  
  • CSC 7951 - Private Artificial Intelligence-TAIS


    3 Credit Hours
    Prerequisites: CSC 7851 with a C or higher. Enrollment in Trustworthy Artificial Intelligence Systems online certificate program.
    Description
    This course will cover the fundamental concepts and principles of privacy issues of machine learning, deep learning, and emerging topics on trustworthy artificial intelligence (AI). Topics include privacy-preserving machine learning, privacy attacks and defenses, etc. Students will gain experience in designing and implementing privacy preserving AI systems.

  
  • CSC 8050 - Statistics for Bioinformatics


    3 Credit Hours
    Prerequisites: MATH 4544 or MATH 6544 or BIOL 4744 or BIOL 6744, or its equivalent.
    Description
    Same as Biol 8050 and Stat 8050. 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. Three lecture hours a week.

  
  • CSC 8210 - Advanced Computer Architecture


    4 Credit Hours
    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


    4 Credit Hours
    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


    4 Credit Hours
    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


    4 Credit Hours
    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 - Internet of Things


    4 Credit Hours
    Prerequisites: CSC 4220 or CSC 6220.
    Description
    The course will cover fundamental concepts, principles and applications of Internet of Things (IoT). The topics include architectures, sensing and identification technologies, communication protocols, synchronization, localization and positioning, security and privacy, data management. Students will become familiar with wireless networks of sensor motes, gain experiences of design and implementation of IoT applications on embedded/mobile devices, data processing in IoT applications.

  
  • CSC 8224 - Cryptography


    4 Credit Hours
    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. This course is repeatable up to three times.

  
  • CSC 8228 - Privacy Aware Computing


    4 Credit Hours
    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 8230 - Secure and Private Artificial Intelligence


    4 Credit Hours
    Prerequisites: CSC 4520 or CSC 6520 with a C or higher.
    Description
    Fundamental concepts and principles of security and privacy issues of machine learning, deep learning, and emerging research on trustworthy artificial intelligence (AI). Topics include adversarial and privacy-preserving machine learning, security and privacy attacks and defenses. Students will gain experience in designing and implementing secure machine learning systems, and develop abilities to conduct research in trustworthy AI.

  
  • CSC 8250 - Advanced Digital Signal Processing


    4 Credit Hours
    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


    4 Credit Hours
    Prerequisites: CSc 4220/CSC 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


    4 Credit Hours
    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


    4 Credit Hours
    Prerequisites: CSc 4210/CSC 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


    4 Credit Hours
    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


    4 Credit Hours
    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


    4 Credit Hours
    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


    4 Credit Hours
    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


    3 Credit Hours
    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


    4 Credit Hours
    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


    4 Credit Hours
    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


    4 Credit Hours
    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


    4 Credit Hours
    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


    3 Credit Hours
    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


    3 Credit Hours
    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


    4 Credit Hours
    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


    4 Credit Hours
    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


    4 Credit Hours
    Prerequisites: CSC 4710, CSC 6710, or consent of instructor.
    Description
    A systematic study of the technologies and concepts that enable the Web with emphasis on data and knowledge representation. Topics include relational databases, NoSQL databases such as JSON stores and graph databases, Semantic Web representations RDF, RDFS, OWL, and SPARQL query language, JSON and XML representations, schemas, and related query languages, and Web APIs (REST and GraphQL).

  
  • CSC 8712 - Advanced Database Systems


    4 Credit Hours
    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


    4 Credit Hours
    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


    4 Credit Hours
    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


    4 Credit Hours
    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


    4 Credit Hours
    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


    4 Credit Hours
    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


    4 Credit Hours
    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


    4 Credit Hours
    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


    4 Credit Hours
    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


    4 Credit Hours
    Prerequisites: CSC 4520/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.

  
  • CSC 8851 - Deep Learning


    4 Credit Hours
    Prerequisites: CSC 6740 or CSC 6850.
    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 - Advanced Topics of Deep Learning


    4 Credit Hours
    Prerequisites: CSC 4851, CSC 6851, or CSC 8851.
    Description
    Deep learning has experienced a fast development with many new research frontiers emerging from academia and industry, such as adversarial robustness of deep neural networks, defending adversarial attacks, explainable artificial intelligence, deep learning at edge, attention-based architectures for CV and NLP, to name a few. In this course, we will cover these advanced topics in deep learning, discuss the latest research in the field and provide €œreal-world € examples for analysis.

  
  • CSC 8900 - Seminar in Computer Science


    1 Credit Hours
    Description
    Discussion of current research in computer science.

  
  • CSC 8901 - Perspectives in Computer Science


    1 Credit Hours
    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.

  
  • CSC 8902 - Ethics for Data Science


    1 Credit Hours
    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


    1 to 3 Credit Hours
    Description
    May be repeated if topic varies.

 

Page: 1 | 2