It was a great improvement when I learned to use notebooks!
To run experiments
To share my code
To present my work
It's a very different dynamic!
If you are a Python
developer, notebooks will be a multiplier for your career.
Let's talk about them:




It's a very different dynamic!
If you are a Python

Let's talk about them:


A notebook is an "interactive computing environment." 
This means that you can:
Write code
Use widgets
Plot charts
Write text (Markdown!)
Write equations
Display images
Display videos
All of this in the same place! Like an interactive book!

This means that you can:







All of this in the same place! Like an interactive book!

Notebooks contain "cells":
You can write code on each cell (or anything, really)
You can execute each cell independently
Memory is shared across cells
These last two points are huge and one of the main draws of notebooks for new developers!



These last two points are huge and one of the main draws of notebooks for new developers!

Do you need to load some data and it takes a while?
You write the code in a cell
You run it once
You don't need to ever run the cell again
Every cell acts as an independent "program" that shares the memory with every other program.
This makes notebooks very useful!



Every cell acts as an independent "program" that shares the memory with every other program.
This makes notebooks very useful!

But, wait a minute... How are notebooks going to help you?
Notebooks are good for experimenting and presenting results. They aren't meant to write production code!
Do you want to rapidly prototype a function? Maybe compare two options? Notebooks are great for that!
Notebooks are good for experimenting and presenting results. They aren't meant to write production code!
Do you want to rapidly prototype a function? Maybe compare two options? Notebooks are great for that!

They also have drawbacks:
They discourage reusability
They encourage global access to data
Source control is not great
The editor is not as powerful as an IDE
You would never open a can of tuna with a drill, right?




You would never open a can of tuna with a drill, right?

Jupyter is the defacto standard for notebooks.
Jupyter is open-source, runs everywhere, and it's used across the board.
Here is the documentation of The Jupyter Notebook: https://jupyter-notebook.readthedocs.io/en/stable/notebook.html
Jupyter is open-source, runs everywhere, and it's used across the board.
Here is the documentation of The Jupyter Notebook: https://jupyter-notebook.readthedocs.io/en/stable/notebook.html

Personally, I love Google Colab:
It's integrated with my Google account
It's free
I can easily share them
It gives me access to free GPU/TPU resources!
I can't even begin to express the importance of that last point! If you are into Machine Learning, you understand.




I can't even begin to express the importance of that last point! If you are into Machine Learning, you understand.

A small tiny step you can take today:
Introduction to Python
Introduction to Google Colab
It will take around 10 - 15 minutes.
This is a great springboard that will help you understand notebooks and get into Machine Learning later.
https://colab.research.google.com/github/tensorflow/examples/blob/master/courses/udacity_intro_to_tensorflow_for_deep_learning/l01c01_introduction_to_colab_and_python.ipynb


It will take around 10 - 15 minutes.
This is a great springboard that will help you understand notebooks and get into Machine Learning later.
https://colab.research.google.com/github/tensorflow/examples/blob/master/courses/udacity_intro_to_tensorflow_for_deep_learning/l01c01_introduction_to_colab_and_python.ipynb

Ready for a 30-minute introduction to Jupyter Notebooks?
"Jupyter Notebook Tutorial: Introduction, Setup, and Walkthrough" from @CoreyMSchafer is gonna give you all you need.
Video:
"Jupyter Notebook Tutorial: Introduction, Setup, and Walkthrough" from @CoreyMSchafer is gonna give you all you need.
Video:

Did I mention you can share Colab notebooks?
Here is a link to a notebook I built to multiply two numbers with a neural network.
https://colab.research.google.com/github/svpino/machine-learning/blob/master/multiplication.ipynb
The code it's not that interesting. But feel free to follow the link and run each cell to see how it works.
Good luck!
Here is a link to a notebook I built to multiply two numbers with a neural network.
https://colab.research.google.com/github/svpino/machine-learning/blob/master/multiplication.ipynb
The code it's not that interesting. But feel free to follow the link and run each cell to see how it works.
Good luck!