## DATA SCIENCE ADVANCED SUITE

#### COURSE INFORMATION

- Online and Self-paced

Complete three courses and you will receive the Data Science Advanced Suite digital badge and a Binghamton University-issued completion certificate.

- Introduction to Java Programming
- Advanced Algorithms
- Advanced Machine Learning

The Data Science Advanced Suite is for those who would like to learn more advanced, in-demand skills required for a data scientist. You will be introduced to Java programming, one of the most sought-after programming languages by the software industry today, and you will be able to understand explain and apply key machine learning concepts and algorithms

In today’s world, the competent data scientist can use machine learning to analyze large chunks of data using algorithms and data-driven models, and is familiar with machine-learning techniques such as supervised and unsupervised machine learning, decision trees and logistic regression.

#### DELIVERY FORMAT

You will get access to the course materials within one week after you register for the course. Each course has pre-recorded learning modules, self-assessment quizzes (ungraded) and a final graded online exam or assignment.

#### CREDENTIALS

If you successfully complete all three courses, you will receive the Data Science Advanced Suite digital badge and a Binghamton University-issued completion certificate. You have to pass each course with a grade of 70% or higher in order to receive the credentials

#### PREREQUISITES

There are no required prerequisites to the Data Science Advanced Suite, but if you do not have a strong STEM background it is recommended to start with the Data Science Essentials Suite.

It is recommended that learners should have a STEM (Science, Technology, Engineering, and Math) interest and should have completed the necessary math courses that are typically covered in 1st and 2nd year college programs.

#### COURSES

#### Introduction to Java Programming

Programming is the key skill for having a successful software development and IT career. While becoming an expert programmer requires considerable time and effort, most computer science enthusiasts, STEM students and professionals looking to transition to an IT career usually desire to first take an introductory course that provides a thorough overview of the intricacies of programming before diving into the details. This introductory course in Java programming introduces several important programming concepts such as variables, if-else, arrays, loops, strings and recursion to beginners by using easy-to-understand examples. No pre-requisites are necessary for this course.

##### Learning Objectives

- Write and execute Java programs
- Define and declare variables
- Write if-else statements
- Define and manipulate arrays
- Write for and while loops
- Manipulate strings
- Write recursive code

#### Advanced Algorithms

This course will provide a solid foundation and background to design and analysis of algorithms. In particular, upon successful completion of this course, students will be able to understand, explain and apply key algorithmic concepts and principles, including: Greedy algorithms (Activity Selection, 0-1 Knapsack Problem, Fractional Knapsack Problem), Dynamic programming (Longest Common Subsequence, 0-1 Knapsack Problem), Minimum Spanning Trees (Prim’s Algorithm, Kruskal’s Algorithm), Graph Algorithms (Dijkstra’s Shortest Path Algorithm, Bipartite Graphs, Minimum Vertex Cover) and Theory of NP and NP-completeness

##### Learning Objectives

- Describe and apply complex algorithmic paradigms including greedy algorithms and dynamic programming.
- Describe graphs using adjacency matrices and edge lists, and find the shortest path between vertices in a graph using Dijkstra’s algorithm.
- Find the minimum spanning tree in a graph using Prim’s algorithm and Kruskal’s algorithm.
- Explain and describe maximum matching in bipartite graphs as well as find the minimum vertex cover in a graph.
- Explain the concept of NP and NP-completeness as well as mathematically show that a problem is NP-complete.

#### Advanced Machine Learning

This course will provide an introduction to advanced machine learning. In particular, upon successful completion of this course, students will be able to understand, explain and apply key machine learning concepts and algorithms, including: Probability review, Point Estimation Techniques, Perceptrons, Neural Network Model, Support Vector Machines, K Nearest Neighbors and Machine-Learning learning and inference procedures and concepts such as maximum likelihood estimation, gradient descent, backpropagation, Lagrange for solving constrained optimization problems, bias-variance tradeoff, and curse of dimensionality.

##### Learning Objectives

- Understand point estimation techniques for estimating parameters of machine learning models.
- Understand and apply more advanced machine-learning algorithms to particular scenarios such as perceptrons, neural network models, support vector machines, and k-nearest neighbors.
- Understand subtleties and application scenarios for different classification algorithms discussed above.
- Explain and apply machine-learning concepts such as regularization, overfitting, maximum likelihood estimation, gradient descent, backpropagation, Lagrange for solving constrained optimization problems, bias-variance tradeoff, and curse of dimensionality to design efficient machine learning models.

####

INSTRUCTORS

**Arti Ramesh**(Introduction to Machine Learning) is a former assistant professor in the School of Computing at Binghamton University. She received her PhD in computer science from the University of Maryland, College Park. Ramesh’s primary research interests are in the field of machine learning, data-mining and natural language processing, particularly statistical relational models and deep learning. Her research focuses on building structured, fair, and interpretable models for reasoning about interconnectedness, structure, and heterogeneity in networked data. She has published papers in peer-reviewed conferences such as IJCAI, AAAI, ACL, WWW, ECAI, and DSAA. She has served on the TPC/reviewer for notable conferences such as ICML, IJCAI, AAAI, NIPS, SDM, and EDM.**Anand Seetharam**(Probability for Data Science and Introduction to Algorithms) is a former assistant professor in computer science in the Thomas J. Watson College of Engineering and Applied Science at Binghamton University. Seetharam is broadly interested in the field of computer networking. His research interests include wireless networks, information-centric networks, ubiquitous computing, the Internet of Things (IoT) and smart grids.