CSC Graduate Special Topic Courses - Fall 2019
CSC 591 - 001 Quantum Computing - Dr. Mueller
This course aims to provide an introduction to quantum computing. It will feature the three pillars, architectures, programming, and algorithms/applications of quantum computing. Its focus is across all three two pillars as well as the assessment of the applicability of problems to quantum computing from a practical point, with only the
Class Time: TH 1:30 - 2:45 pm
CSC 591 - 002 Privacy - Dr. Das
Description: Privacy is a growing concern in our modern society. We interact and share our personal information with a wide variety of organizations, including financial and healthcare institutions, web service providers and social networks. Many times such personal information is inappropriately collected, used or shared, often without our awareness. This course introduces privacy in a broad sense, with the aim of providing students an overview of the challenging and emerging research topics in privacy.
This course will expose students to many of the issues that privacy engineers, program managers, researchers and designers deal with in industry. By the end of the course, students will learn about the following areas in privacy:
• Privacy fundamentals: an overview of privacy definitions and history.
• Data privacy: the motivations for data privacy and common implementations (e.g., k-anonymity, differential privacy, information flow).
• Web/online privacy: online tracking, usable privacy, anonymous communication and privacy policies.
• Emerging topics: privacy in IoT, AI for privacy, privacy enhancing technologies.
Class Time: TH 11:45 am - 1:00 pm
CSC 591 - 003 Data Man for Real Time Processing - Dr. Anyanwu Ogan
Class Time: TH 11:45 am - 1:00 pm
CSC 591 - 004 Internet of Things Analytics - Dr. Perros
Prerequisites: Basic knowledge of statistics and probability theory, programming skills. Graduate-level standing
Description: This class is cross listed with ECE 592 - 005.
The course covers the most popular modeling and machine-learning techniques that are used in relation to the Internet of Things (IoT), such as: simulation techniques, basic queueing theory concepts, multivariate regression, time-series forecasting, clustering, neural nets, support vector machines (SVC), and hidden Markov models (HMM).
Emphasis will be placed on hands-on projects.
Learning objectives: At the end of the course, students will be able to a) develop simulation models of IoT systems, b) apply statistical and machine-learning techniques to analyze data from IoT sensors, and c) gain experience with one more of the packages: MatLab, R, Scikit-learn (machine learning in Python), KNIME.
Class Time: MW 8:30 - 9:45 am
CSC 591 - 005 Foundations of Data Science - Dr. Vatsavai
Description: Students will learn core statistical data analysis principles. This course introduces principle ideas in statistical learning and help students prepare for advanced courses in data mining and machine learning. Focus will also be given on applying these principles for variety of data analytical tasks using R.
Topics: Random variables and probability distributions, exploratory data analysis, variable selection, sampling methods, histograms and probability distributions, density estimation, missing data and imputation, mixture models, latent variables, and expectation maximization, regression analysis, discriminant analysis, bagging and boosting, principle component analysis, information theory -- entropy, mutual information, Bayesian information criteria, conditional independence, rescaling and low-dimensional summaries, factor analysis, graphical causal models and causal inference, and evaluating predictive models.
Class Time: F 9:35 am - 12:20 pm
CSC 591 - 011 Cryptography - Dr. Scafuro
Description: This class is cross listed with CSC 495 - 011.
Cryptography is everywhere in our everyday life. Whenever we connect to Facebook, shop on Amazon, call Lyft, our device runs a sequence of cryptographic protocols that enable for secure communication over a public network such as the Internet. In this class you will learn the concepts and the algorithms behind such cryptographic protocols. You will learn how to formally define security properties such as confidentiality and integrity of data; you will be able to formally prove that a cryptographic protocol achieves a certain security property; and you will be able to identify the cryptographic tools needed in real world protocols [such as SSL, Bitcoin].
You will also discover that cryptography has a much broader range of applications. It solves absolutely paradoxical problems such as proving knowledge of a secret without ever revealing the secret [zero knowledge proofs], or computing the output of a function without ever knowing the input of the function [secure computation].
Note that in this course we do not focus on implementation, neither programming of cryptographic schemes.
Class Time: MW 4:30 - 5:45 pm
CSC 591 - 013 Game Engine Foundations - Dr. Roberts
Description: This is the graduate version of CSC 481 and is cross listed with CSC 481 - 001.
The purpose of this course is to familiarize students with issues and techniques of computer games design in general, and more specifically game engine design. With the proliferation of computer games, a number of distinct genres have emerged. Each genre of computer game provides a unique set of design challenges for designers. While there are no "one size fits all" solutions to game design problems, there are a number of techniques common to many different games. These commonalities have given rise to game engines which are software tools to aid designers. Behind almost all successful commercial games is a game engine.
In this course we will examine some of the components of a commercial-strength game engine. We will survey different genres of games, using some of the unique design challenges each genre provides as a motivation for an in-depth examination of the affordances games engines provide for designing games of that genre. We will cover topics ranging from data structures, resource management, game loops and logical timing systems, scripting, error logging, and networking.
Class Time: TH 4:30 - 5:45 pm
CSC 591 - 020 Machine Learning - Dr. Chi
Prerequisites: CSC 522 or Educational Data Mining
Description: This section is cross-listed with CSC 791 - 020.
Classes in AI and Database Management are recommended, but not required.
Class Time: M 4:30 - 7:15 pm
CSC 591 - 021 Automated Software Engineering - Dr. Menzies
Description: This section is cross-listed with CSC 791 - 021.
Co-requisite: CSC 326 or CSC 510. Significant software industry experience may be substituted, at the instructor’s discretion.
Class Time: TH 4:30 - 5:45 pm
CSC 591 - 022 Testing - Dr. Stolee
Description: This section is cross-listed with CSC 791 - 022.
All software must be tested. Part of a well-rounded software engineering education involves understanding why we test, how to test, and the tools available to assist with testing. Course material is grounded in recent research and applied using modern software testing tools. Students will gain hands-on experience with advanced software testing concepts, including test case prioritization, automated test generation, mobile testing, mutation testing, and fairness testing.
Class Time: MW 3:00 - 4:15 pm