Introdução ao Jupyter Notebook e a linguagem Python
O Projeto Jupyter (https://jupyter.org/) foi criado para desenvolver software de código aberto, padrões abertos e serviços para computação interativa e atualmente ele suporta mais de 40 linguagens de programação. Uma lista completa das linguagens suportadas dentro do ambiente pode ser encontrada em: https://github.com/jupyter/jupyter/wiki/Jupyter-kernels. O nome do projeto é uma referência às três principais linguagens de programação suportadas pelo Jupyter, Julia, Python e R, e também uma homenagem aos cadernos de anotações de Galileu que registram a descoberta das luas de Júpiter. A principal característica dos chamados Jupyter Notebooks são o fato deles tornarem-se caderno de anotações interativos. Nesses cadernos o pesquisador pode sistematizar sua análise de dados bem como a própria simulação, deixando registradas todas as etapas do desenvolvimento de um trabalho, o que no final pode facilmente se transformado no artigo. Os Jupyter Notebooks usam a linguagem de marcação de texto chamada de Markdown, a qual usa o LaTeX para escrever as equações. Todos os Notebooks podem ser exportados em HTML, PDF via LaTeX. LaTeX, etc.
O Python é uma linguagem simples, e versátil, muito dinâmica e com um vasto conjunto de bibliotecas que tem evoluído rapidamente. Esse é um dos grandes apelos da linguagem e também um dos seus pontos fracos. Há uma vasta coleção de bibliotecas dentre as quais pode-se citar: numéricas SciPy/Numpy, computação quântica Qutip, análise e tratamento de dados Pandas, análise de texto NLTK, ferramentas para biólogos Biopython, computação algébrica Sympy, engenharia similar ao Comsol é o "FEniCS project", similares ao LabView temos PyVisa, etc.
Iniciaremos com a instalação e configuração do Python e do Jupyter/JupyterLab. A seguir será apresentado o ambiente do Jupyter e a sua Linguagem o Markdown. Em seguida faremos uma breve introdução a linguagem de programação Python e algumas de suas bibliotecas científicas como:
- Matplotlib: biblioteca para fazer gráficos 2D e 3D de alta qualidade, exportando em diversos formatos, inclusive SVG.
- Scipy/Numpy: bibliotecas para computação científica, que implementa os diversos métodos numéricos, transformando o ambiente do Python em algo muito melhor do que os ambientes do Matlab, Scilab, Octave, etc.
As aulas serão:
- Aula 1 - Instalação e configuração do Python, Jupyter e algumas bibliotecas fundamentais.
- Aula 2 - Introdução ao ambiente do Jupyter, da sua linguagem o Markdown e a exportação dos documentos. Introdução à linguagem Python.
- Aula 3 - Noções da linguagem Python.
- Aula 4 - Biblioteca Matplotlib e exemplos de aplicações
- Aula 5 - Bibliotecas Numpy e Scipy com algumas aplicações