Our 30-credit curriculum can be broken down into the following three types of courses:
- 2 conditional prerequisite courses*
- 6 core courses**
- 6 elective options
This is a prerequisite course for students in the Online Data Science, M.S. program who do not have a computer science background. This course covers various fundamental skills necessary for data science. Topics covered in this course include the Python programming language, relational databases and the SQL language, computer science basics, and command line interfaces.
This is a prerequisite course for the Online Data Science, M.S. program for those who do not have a probability and statistics background. This course covers basic concepts in probability theory and illustrates its applications to computer science. The course covers probability spaces, random variables, distributions and density functions, expectations, sampling, limit theorems, statistical inference, and hypothesis testing, as well as additional topics such as large deviations, client-server system, and Markov chains, as they apply to computing.
This course will introduce basic programming concepts (i.e., in Python and R), and techniques including data structures (vector, matrix, list, data frame, factor), basic and common operations/concepts (indexing, vectorization, split, subset), data input and output, control structures and functions. Other topics will include string operations (stringr package) and data manipulation techniques (dplyr, reshape2 packages). The course will also explore data mining, such as probability basics/data exploration, clustering, regression, classification, graphics, and debugging.
Basic concepts in optimization are introduced. Linear optimization (linear and integer programming) will be introduced including solution methods like simplex and the sensitivity analysis with applications to transportation, network optimization, and task assignments. Unconstrained and constrained non-linear optimization will be studied and solution methods using tools like Matlab/Excel will be discussed. Extensions to game theory and computational methods to solve static, dynamic games will be provided. Decision theory algorithms and statistical data analysis tools (Z-test, t-test, F-test, Bayesian algorithms and Neyman Pearson methods) will be studied. Linear and non-linear regression techniques will be explored.
This course presents a range of methods in descriptive statistics, frequentist statistics, Bayesian statistics, hypothesis testing, and regression analysis. Topics includes point estimation, confidence interval estimation, nonparametric model estimation, parametric model estimation, Bayesian parametric models, Bayesian estimators, parametric testing, nonparametric testing, simple and multiple linear regression models, logistic regression model.
Prerequisite: DTSC 610
This course provides an overview of big data applications ranging from data acquisition, storage, management, transfer, to analytics, with focus on the state-of-the-art technologies, tools, and platforms that constitute big-data computing solutions. Real-life big data applications and workflows are introduced as well as use cases to illustrate the development, deployment, and execution of a wide spectrum of emerging big-data solutions.
Prerequisite: DTSC 615
In this course, students will learn important machine learning (ML) and data mining concepts and algorithms. Emphasis is on basic ideas and intuitions behind ML methods and their applications in activity recognition, and anomaly detection. This course will cover core ML topics such as classification, clustering, feature selection, Bayesian networks, and feature extraction. Classroom teaching will be augmented with experiments.
In this course, students carry out independent research in a significant technical area of data science. The student is to investigate a technical area, research it, advance it in some way if possible, and report on the learning and advancements made. A written report is required that summarizes the findings and any advancements made to the technology.
Electives (3 credits each, select 4 of the following)
This course introduces the concepts, techniques, and applications of data mining. Topics include data preprocessing, clustering, data warehouse and Online Analytical Processing (OLAP) technology, cluster and social network analysis, data classification and prediction, multimedia and web mining.
Prerequisites: DTSC 620, DTSC 710
This course presents a range of topics from basic neural networks, convolutional and recurrent network structures, deep unsupervised and reinforcement learning, and applications to problem domains like speech recognition and computer vision.
This course is designed to provide an introduction to the fundamental principles of designing and building effective data visualizations. Students will learn about data visualization principles rooted in graphic design, psychology and cognitive science, and how to use these principles in conjunction with state-of-the-art technology to create effective visualizations for any domain. Students who have taken this course will not only understand the current state-of-the-art in data visualization but they will be capable of extending it.
Design and implementation of databases. Hierarchical and network concepts; relational databases systems; entity relationship model: query languages; relational design theory; security and authorization; access methods; concurrency control backup and recovery.
In this course, students will study the issues involved in structuring information systems to meet enterprise requirements including security and public policy regulations. Topics include the building blocks of an information system, emphasizing the security and administration aspects of each, as well as life-cycle considerations, and risk management. The course will also include a special project or paper as required and specified by the instructor and the SoECS graduate committee.
This course introduces students to a range of contemporary, applications oriented, and advanced technical aspects of information security and assurance. Topics covered in this course are: the need and planning for security, information security maintenance, security technology, cryptography, and physical security. The course will also cover security policies, and legal and ethical issues. The course will also include a special project or paper as required and specified by the instructor and the SoECS graduate committee.
In this course, students are introduced to the design of secure computer networks. Exploitation of weaknesses in the design of network infrastructure and security flaws in network protocols are presented and discussed. Network operation systems and network architectures are reviewed, together with the respective security related issues. Issues related to the security of content and applications such as emails, DNS, web servers are also addressed. Security techniques including intrusion detection, forensics, cryptography, authentication, and access control are analyzed. Security issues in IPSEC, SSL/ TLS, and the SSH protocol are presented.
Core Course Credits= 30***
Prerequisite Course Credits = 6
*Note: DTSC 501 and 502 are prerequisites for the core curriculum. Students may be able to satisfy these prerequisites with previous education, and they should inquire about their eligibility during the admission and onboarding process if they wish to do so.
**A linear algebra course must also be completed within the first six months of the program. Students may be able to satisfy this prerequisite with previous education. Reach out to your admissions outreach advisor for a transcript evaluation.
***Students may be able to complete the degree program in 30 credits if previous education satisfies the prerequisites. Talk to an admissions outreach advisor to see if you are eligible.