-
Data Structures: An Active Learning Approach
Description This interactive text used in this course was written with the intention of teaching Computer Science students about various data structures as well as the applications in which each data structure would be appropriate to use. It is currently being taught at the University of California, San Diego (UCSD), the University of San Diego (USD),…
-
Dynamic Programming: Applications In Machine Learning and Genomics
Description If you look at two genes that serve the same purpose in two different species, how can you rigorously compare these genes in order to see how they have evolved away from each other? In the first part of the course, part of the Algorithms and Data Structures MicroMasters program, we will see how…
-
NP-Complete Problems
Description Step into the area of more complex problems and learn advanced algorithms to help solve them. This course, part of the Algorithms and Data Structures MicroMasters program, discusses inherently hard problems that you will come across in the real-world that do not have a known provably efficient algorithm, known as NP-Complete problems. You will…
-
Algorithmic Design and Techniques
Description In this course, part of the Algorithms and Data Structures MicroMasters program, you will learn basic algorithmic techniques and ideas for computational problems, which arise in practical applications such as sorting and searching, divide and conquer, greedy algorithms and dynamic programming. This course will cover theories, including: how to sort data and how it…
-
Data Structures Fundamentals
Description A good algorithm usually comes together with a set of good data structures that allow the algorithm to manipulate the data efficiently. In this course, part of the Algorithms and Data Structures MicroMasters program, we consider the common data structures that are used in various computational problems. You will learn how these data structures…
-
Machine Learning with Python: from Linear Models to Deep Learning
Description Machine learning methods are commonly used across engineering and sciences, from computer systems to physics. Moreover, commercial sites such as search engines, recommender systems (e.g., Netflix, Amazon), advertisers, and financial institutions employ machine learning algorithms for content recommendation, predicting customer behavior, compliance, or risk. As a discipline, machine learning tries to design and understand…
-
Data Science Ethics
Description As patients, we care about the privacy of our medical record; but as patients, we also wish to benefit from the analysis of data in medical records. As citizens, we want a fair trial before being punished for a crime; but as citizens, we want to stop terrorists before they attack us. As decision-makers,…
-
Introduction to Probability
Description Probability and statistics help to bring logic to a world replete with randomness and uncertainty. This course will give you tools needed to understand data, science, philosophy, engineering, economics, and finance. You will learn not only how to solve challenging technical problems, but also how you can apply those solutions in everyday life.With examples…
-
High-Dimensional Data Analysis
Description If you’re interested in data analysis and interpretation, then this is the data science course for you. We start by learning the mathematical definition of distance and use this to motivate the use of the singular value decomposition (SVD) for dimension reduction and multi-dimensional scaling and its connection to principle component analysis. We will…
-
Data Science: Machine Learning
Description Perhaps the most popular data science methodologies come from machine learning. What distinguishes machine learning from other computer guided decision processes is that it builds prediction algorithms using data. Some of the most popular products that use machine learning include the handwriting readers implemented by the postal service, speech recognition, movie recommendation systems, and…