OpenClassroom of Stanford University

Full courses. Short Videos. Free for everyone.

Introduction to Human-Computer Interaction Design

Learn the fundamentals of human-computer interaction and design thinking, with an emphasis on mobile web applications.

Practical Unix

A practical introduction to Unix and command line utilities with a focus on Linux.

Design and Analysis of Algorithms

Introduction to fundamental techniques for designing and analyzing algorithms, including asymptotic analysis; divide-and-conquer algorithms and recurrences; greedy algorithms; data structures; dynamic programming; graph algorithms; and randomized algorithms.

Introduction to Databases

Database design and the use of database management systems (DBMS) for applications.

Unsupervised Feature Learning and Deep Learning

Machine learning algorithms that learn feature representations from unlabeled data, including sparse coding, autoencoders, RBMs, DBNs.

Discrete Probability

Introduction to discrete probability, including probability mass functions, and standard distributions such as the Bernoulli, Binomial, Poisson distributions.

Machine Learning

Introduction to applied machine learning. In this course, you’ll learn about machine learning techniques such as linear regression, logistic regression, naive Bayes, SVMs, clustering, and more. In addition, you’ll also learn the practical, hands-on, skills and techniques needed to get learning techniques to work well in practice.