Full courses. Short Videos. Free for everyone.




Learn the fundamentals of human-computer interaction and design thinking, with an emphasis on mobile web applications.
A practical introduction to Unix and command line utilities with a focus on Linux.
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.
Database design and the use of database management systems (DBMS) for applications.
Machine learning algorithms that learn feature representations from unlabeled data, including sparse coding, autoencoders, RBMs, DBNs.
Introduction to discrete probability, including probability mass functions, and standard distributions such as the Bernoulli, Binomial, Poisson distributions.
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.
This is a course created to test the website. Do not watch.