Computer Science (CS)

Courses

CS 5040. Gr Database Systems. 3 Credits.

Covers the theory and practice of database design and application programming, and basic internals of a database management system. Topics include database concepts, data models and database design, query languages, database programming concepts and languages, files and physical design, query processing and optimization, transaction concepts, concurrency control and recovery, and security and authentication. Prerequisites: Familiarity with basic data structures, algorithms, discrete mathematics, computer organization; Graduate student.

CS 5060. Advanced Evolutionary Robotics. 3 Credits.

Explores the automated design of autonomous machines using evolutionary algorithms. Covers relevant topics in evolutionary computation, artificial neural networks, robotics, simulation and xenobots. Students complete weekly programming assignments, formulate research a research hypothesis, and use their system to test that hypothesis. Prerequisite: Graduate student.

CS 5110. Advanced Data Privacy. 3 Credits.

Explores the research field of data privacy, including privacy attacks on anonymized data, and formal approaches like k-Anonymity and differential privacy. Applies the theory of data privacy to real problems in programming projects. Prepares students to perform independent research in the field. Prerequisite: Graduate student.

CS 5120. Adv Secure Distributed Comput. 3 Credits.

Techniques for secure computation involving multiple distributed parties, including applied cryptography, homomorphic encryption, secure multiparty computation, and zero-knowledge proof. Applications including Bitcoin and other blockchain systems, encrypted databases, federated learning, and computing on encrypted data. Prerequisites: Proficiency in Python programming; familiarity with LaTeX typesetting system; Graduate student.

CS 5220. Advanced Computer Architecture. 3 Credits.

Provides a thorough and sophisticated examination of various hardware aspects of modern computers, including: virtual memory, instruction-set architectures, instruction-level parallelism through pipelining, caches and cache coherence, threads, vector processors, and GPUs. Prerequisites: Familiarity with topics of computer organization as would come from the equivalent of CS 2210; Graduate student.

CS 5240. Advanced Algorithm Design. 3 Credits.

Studies how to design and analyze computer program algorithms to solve real-world problems. Begins with a review of the concept of algorithm complexity and basic graph algorithms; and then covers algorithm design approaches such as greedy, divide and conquer, dynamic programming, and network flow; then, computational intractability will be treated. Prerequisite: Familiarity with data structures and elementary algorithms.

CS 5540. Advanced Machine Learning. 3 Credits.

Provides a broad introduction to machine learning and statistical pattern recognition. Topics include: supervised learning (linear regression, logistic regression, neural networks, support vector machines, decision tree, ensemble models, random forest); unsupervised learning (clustering, dimensionality reduction, kernel methods); Also introduces deep learning such as convolutional neural networks and discusses recent applications.

CS 5737. Gr Intro to Numerical Anyl. 3 Credits.

Error analysis, root-finding, interpolation, least squares, quadrature, linear equations, numerical solution of ordinary differential equations. Prerequisite: Graduate student or Instructor permission. Cross-listed with: MATH 5737.

CS 5810. Digital Computer Design. 3 Credits.

To gain a solid understanding of digital computer operating mechanisms and reconfigurable computing, and advance into hands-on experiences to design and debug digital computer system and embedded system. Field programmable gate arrays (FPGAs) will be utilized as the development platform. Prerequisite: Electrical Engineering Graduate student, Computer Science Graduate student, or Instructor permission. Cross-listed with: CMPE 5810, EE 5810.

CS 5870. Data Science I - Experience. 3 Credits.

Data harvesting, cleaning, and summarizing; working with non-traditional, non-numeric data (social network, natural language textual data, etc.); scientific visualization; advanced data pipelines with a practical focus on real datasets and developing good habits for rigorous and reproducible computational science; Project-based. Prerequisites: Knowledge of CS 1210 and either STAT 1410 or STAT 2430 required; knowledge of CS 2100 and MATH 2522 or MATH 2544 recommended; Graduate student or Instructor permission. Cross-listed with: STAT 5870, CSYS 5870.

CS 5990. Special Topics. 1-18 Credits.

See Schedule of Courses for specific titles. Subject will vary from year to year. May be repeated for credit with instructor permission.

CS 6020. Modeling Complex Systems. 3 Credits.

Integrative breadth-first introduction to computational methods for modeling complex systems;numerical methods, cellular automata, agent-based computing, game theory, genetic algorithms, artificial neural networks, and complex networks. Semester team-based project. Pre/Co-requisites: Computer programming in any language, calculus; linear algebra recommended. Cross-listed with: CSYS 6020.

CS 6391. Master's Thesis Research. 1-18 Credits.

Research for the Master's Thesis.

CS 6392. Master's Project Research. 1-6 Credits.

Research for Master's project. Prerequisite: Department permission.

CS 6520. Evolutionary Computation. 3 Credits.

Theory and practice of biologically-inspired search strategies, including genetic algorithms, genetic programming, and evolution strategies. Applications include optimization, parameter estimation, and model identification. Significant project. Students from multiple disciplines encouraged. Pre/co-requisites: Familiarity with programming, probability, statistics. Cross-listed with: CSYS 6520.

CS 6540. Deep Learning. 3 Credits.

Introduction to Deep Learning algorithms and applications, including basic neural networks, convolutional neural networks, recurrent neural networks, deep unsupervised learning, generative adversarial networks and deep reinforcement learning. Includes a semester team-based project. Prerequisite: CS 3540. Cross-listed with: CSYS 6540.

CS 6550. Usable Privacy and Security. 3 Credits.

Covers human factors in privacy and security, usability problems in today's computer security and privacy mechanisms, as well as the human-centered empirical research methods to understand and address these usability problems. Students will work individually or in small groups toward semester-long course research projects. Co-requisite: Knowledge of STAT 1410 or equivalent.

CS 6570. Social Computing Systems. 3 Credits.

Social computing systems include online social networks, microblogging systems, social recommendation platforms, etc. Via a research-centric lens, explores the underlying nature/structure of social computing systems, studies various issues that plague them, and explores the methods by which researchers investigate such systems. Prerequisites: Proficiency in graph theory and computer programming (preferred language Python); knowledge of CS 3240 (or equivalent) and CS 2300 (or equivalent) assumed.

CS 6870. Data Science II. 3 Credits.

Advanced data analysis, collection, and filtering; statistical modeling, monte carlo statistical methods, and in particular Bayesian data analysis, including necessary probabilistic background material; a practical focus on real datasets and developing good habits for rigorous and reproducible computational science. Prerequisites: STAT 5870, CS 5870, CSYS 5870, or Instructor permission. Cross-listed with: CSYS 6870, STAT 6870.

CS 6990. Special Topics. 1-18 Credits.

Subject will vary from year to year. May be repeated for credit with Instructor permission.

CS 6991. Internship. 1-18 Credits.

On-site supervised work experience combined with a structured academic learning plan directed by a faculty member or a faculty-staff team in which a faculty member is the instructor of record, for which academic credit is awarded. Offered at department discretion.

CS 6993. Independent Study. 1-18 Credits.

A course which is tailored to fit the interests of a specific student, which occurs outside the traditional classroom/laboratory setting under the supervision of a faculty member, for which credit is awarded. Offered at department discretion. Prerequisite: Instructor permission.

CS 6995. Graduate Independent Research. 1-18 Credits.

Graduate student work on individual or small team research projects under the supervision of a faculty member, for which credit is awarded. Offered at department discretion.

CS 7491. Doctoral Dissertation Research. 1-18 Credits.

Research for the Doctoral Dissertation.

CS 7990. Special Topics. 1-18 Credits.

See Schedule of Courses for specific titles.

CS 7991. Internship. 1-18 Credits.

On-site supervised work experience combined with a structured academic learning plan directed by a faculty member or a faculty-staff team in which a faculty member is the instructor of record, for which academic credit is awarded. Offered at department discretion.

CS 7995. Graduate Independent Research. 1-18 Credits.

Graduate student work on individual or small team research projects under the supervision of a faculty member, for which credit is awarded. Offered at department discretion.