Meeting the demand for skilled IT and data science workers

The **MS in Engineering Science with a focus on Data Science** program provides students with a core foundation in big data and analysis by obtaining knowledge, expertise, and training in data collection and management, data analytics, scalable data-driven discovery, and fundamental concepts.

This applied program trains students in the emerging and high demand area of data and computing sciences. In fact, many surveys of employment have highlighted the great need for suitably trained professionals in these areas, estimating deficits of personnel availability in only the US at as high as 150,000 a year.

Students will be trained in sound basic theory with an emphasis on practical aspects of data, computing and analysis. Graduates will be able to serve the analytics needs of employers and will be exposed to several areas of application. The degree can be specialized using electives and a project. Classes will be modestly sized and emphasize best classroom practices while employing online resources to reinforce the classroom experience.

Students in this program will need some prior knowledge of mathematics, statistics and computing (commensurate with that from an engineering/natural science/math undergraduate program, see below for detail). The program can be completed in one calendar year of study.

The University at Buffalo has responded aggressively to these trends by first establishing a doctoral program in Computational and Data Sciences. UB has been a research pioneer in these areas and faculty have much expertise and decades of experience and assets like the world leading Center for Computational Research with unmatched facilities for big computing and data.

Some prior knowledge of mathematics, statistics and computing (commensurate with that from an engineering/natural science/math undergraduate program) is required.

**Undergraduate Grade Point Average:**Equivalent of a B average or better in a recognized undergraduate program;**GRE:**300+ (waived for recent UB undergraduate students)**Math:**Calculus, Multivariate Calculus, Linear Algebra (e.g., UB course MTH 309)**Statistics:**Basic Statistics and Probability**Computer Science:**Programming (at least one language - C/C++/Python/Java), Data Structures (e.g., UB course CSE 113)

This program is currently taught in a cohort-based model and is a **FALL** only start.

Students will take a combination of core courses (18 credits), electives (6 credits), a data science survey + capstone course (3 credits) and the data science project (3 credits) for a total of 30 credits.

The program may be completed in one calendar year of study.

Fall semester – 4 core courses (Math and Stats Basics)

Spring semester – 3 core courses + 1 elective

Summer – 1 Data Science Survey course + 1 Project/Capstone

Core courses

**Fall Semester: Data Science Basics**

Introduction to Numerical Mathematics for Computing and Data Scientists (3 credits)

EAS 501 (see description below)

Introduction to Probability Theory for Data Science (3 credits)

EAS 502 (see description below)

Statistical Data Mining I (3 credits)

EAS 506 *(as of Fall 2018)*

Programming and Database Fundamentals for Data Scientists (3 credits)

EAS 503 (see description below)

**Spring Semester: Data Analytics**

Statistical Data Mining II (3 credits)

EAS 507 *(as of Fall 2018)*

Introduction to Machine Learning (3 credits)

CSE 574

Elective 1 (3 credits)

See list below

Data Models Query Language (3 credits)

CSE 560 *(as of Fall 2018)*

**Summer Semester: Project and Survey**

Data Science Survey Course**

Data Science Project***

*** The Data Science Survey Course will be offered every summer. It will include weekly modules on application-oriented and other relevant topics, including: data science for bioinformatics; data science for health informatics; data science for engineering applications; ethics and privacy; and data science for finance.*

****Students will work with an affiliated faculty member on a Data Science Project. Projects will be sourced from industry where feasible.*

**EAS 501 Introduction to Numerical Mathematics for Computing and Data Scientists***

The aim of this course is:

- To develop the ability to formulate and solve problems using mathematical methods and tools
- To apply knowledge gained in lower level mathematics courses
- To introduce concepts and methods of linear algebra
- To introduce a broad range of numerical methods
- To develop an ability to identify, understand, and solve algebraic equations
- To develop an ability to identify, understand, and solve differential equations
- To develop experience with numerical and symbolic mathematical software and their use in problem solving

*Note: New course is being finalized for approval.

**EAS 502 Introduction to Probability Theory for Data Science***

This course provides basic background on probability theory at a beginning graduate level. Topics include introductory probability concepts, discrete and continuous random variables and probability distributions, joint probability distributions, random sampling and data description, point estimation of parameters, random variables, derived probability distributions, discrete and continuous transforms and random incidence. As time permits, the course introduces elementary stochastic processes including Bernoulli and Poisson processes.

*Note: New course is being finalized for approval.

**EAS 503 Programming and Database Fundamentals for Data Scientists**

This course introduces students to Computer Science fundamentals for building basic data science applications. The course has two components. The first part introduces students to algorithm design and implementation in a modern, high-level, programming language (currently, Python). It emphasizes problem-solving by abstraction. Topics include data types, variables, expressions, basic imperative programming techniques including assignment, input/output, subprograms, parameters, selection, iteration, Boolean type, and expressions, and the use of aggregate data structures including arrays. Students will also have an introduction to the basics of abstract data types and object-oriented design. The second part introduces students to database design and the use of databases in applications, with a short introduction to the internals of relational database engines. It includes extensive coverage of the relational model, relational algebra, and SQL. Many additional key database topics from the design and application-building perspective are also covered, including indexes, views, transactions, and integrity constraints. There will be a programming project, which explores building an application in the high-level programming language covered in the first part, that includes connecting to a database using an appropriate connector and querying using SQL.

Two out of the following courses can be selected as electives.

EAS XXX (new class) Exploratory Data Analysis and Visualization

CSE 535 Information Retrieval

CSE 562 Database Systems

CSE 573 Computer Vision

CSE 586 Large-Scale Distributed Systems

CSE 587 Data Intensive Computing

CSE 601 Data Mining for Bioinformatics

CSE 610 Deep Learning

CSE 633 Parallel Algorithms

CSE 635 Multimedia Information Retrieval

CSE 636 Data Integration

CSE 740 Machine Learning and Big Data

CSE 674 Advanced Machine Learning

STA 517 Categorical Data Analysis

STA 546 Statistical Data Mining II

STA 567 Bayesian Statistics

MAE XXX (new class) Simulation Analytics

MAE XXX (new class) Data in Manufacturing

MAE 609 High Performance Computing

IE 575 Stochastic Methods

IE 535 Human Computer Interaction

EE 634 Principles of Information Theory and Coding

MTH 558/559 Mathematical Finance