So if you want to get started with Jupyter Notebooks, the most easy thing you can do is you just use a Jupyter Notebook service by one of the cloud providers. So within IBM it's called IBM Watson Studio. Watson Studio is more, but it has a hosted Jupyter Notebook service. And the other alternative is you just use a system called Anaconda. And that comes with Anaconda Navigator. And here you can install and launch different data science tools. And I'll start here with Jupyter Notebooks first, but I will definitely immediately switch to JupyterLab. I will just show you how Jupyter Notebooks looks like. Ok see, this is now Jupyter Notebook. Ok, and the key thing in Jupyter Notebooks is that you can mix and match code, visualizations and documentations. So let's actually create a notebook. And there are various languages supported. Most of the interactive languages. And I will go here for a Python 3 notebook. But there are also so called kernels for Scala, for R, and any other interactive programing language you can imagine. So what you can do here is you can write code, ok. So let's start with a simple Python expression and then the cool this is you can immediately evaluate a variable. So there is no need for printing this variable. Of course you can also do that. But the last variable in the code is always evaluated. So for example, if you have Y equals 2, and then you say, Y and X. Then, oh, of course I have to run the cell first. So now you see it's ah, 1. And if it's Y, then it's 2. Ok? So that's the basics. So let's actually have a look at how to plot things so you can, for example, create an array. We'll just create a numpy array. So X equals numpy dot array, and then we create here, ah ...1, 2, 3, 3, 3, 4, 5, 6, 7, 8, 9, 1, 1, 2, 3, 4, 5. Ok, so that's now a numpy array, we have here you see. And also double check here. If you say type, this is ah, of type nd-array. Ok. So numpy is pretty cool, but I won't go into details here. So we will now import a library called Seaborn for plotting. To keep it nicely we put all the imports on top. Then we can say, Seaborn distplot, which is basically a histogram. And then you see here a very nice painted histogram. So it uses, as you can see here, matplotlib in the background. But Seaborn actually acts like a layer on top of matplotlib. And turns out the very ugly looking matplotlib plots into something very nicely looking, as we are also expecting, for example, from ggplot2, which we have in R. And the last thing I want to mention here is you can also add another cell and turn this into a documentation cell. So I have selected here Markdown. Now I can actually... so let's move this up here. Say, ah, this is a title. Ok? Then I can add some, this is interesting. And then, this is even more interesting. You see here it automatically increments the number here. So this is pretty cool because you can just mix and match markdown syntax, your favorite programing language, and all the outputs. So that's only a little introduction and I will now directly move into explaining JupyterLab.