[MUSIC] We're not starting from scratch in this course, and we're going to assume some background from all of us. In fact, we're going to assume that you've taken the first two courses in the specialization. This is really fundamental. From the first course, you gained a wide view of what's possible to do with machine learning. And if you already have that view, it's okay. But this is something that's going to be very helpful, as well as facilitating kind of your programming skills, manipulating data and all that. We're also going to be taking the second course, where we cover issues like what's a machine learning algorithm, gradient ascent, over-fitting, validation set and cross-validation, bias-variance trade off, and regularization. So we'll see if we remember those topics. Go back and review if you don't. If you haven't taken any of the courses but you know what the techniques are, feel free to jump straight into this course but we'll assume them throughout the course. Just like the other courses we'll assume some basic background so you're going to take a few derivatives here and there. You should know what a vector is because we're going to use those. And we're going to use some basic functions, including exponentiation and logarithm. So if you need to take a little refresher on those basic functions, this is a good time to do it. This is a hands-on course, for every module you're going to do some programming with real world data and get real world results. So you should expect that, but that doesn't mean that you're going to have to do some programming. We've set up an infrastructure makes it easy for you to do it if you know Python. If you don't know Python, you can catch up on python pretty quickly just like you did in previous courses or you can implement in whatever language you want. We don't assume that you use a particular language, but it would be a lot easier if you use Python. Unlike this first course in the specialization we'll use heavy use of GraphLab Create. Because use a good black box to get started. In this course, we're going to not really heavily on GraphLab Create. We do suggest that you use SFrames, which is the data manipulation open source library that was created by Dato, or you can use other libraries like pandas if you prefer in Python. And there will be some assignments, where using the pre-implemented algorithm, just try to understand how things behave before you implement them yourself. For that, we do suggest you use GraphLab Create, but you can use other libraries like scikit-learn. It's up to you. It will be easier if you use Python, and we will give you some starter code and some other things, but you are welcome to use your own. But the net result of this course is all about you implementing your own machinery algorithms from scratch. So that's what you should be prepared to do. Now you will need a computer that has a little bit of power to it. A laptop should be fine, 64-bit machine will make a big difference. You're going to need access to the internet to download data sets and everything else, and to watch these videos. And you have to have the ability to install Python, maybe GraphLab Create if you choose to use it, and store a few gigabytes of data on your machine. Just like you did with previous courses. We'll also provide some other resources for those who don't have their own machines. They can use machines on the web, and we'll talk about that too in our readings. [MUSIC]