{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Python para Ciências Computacionais e Engenharia" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "O conteúdo deste livro-texto é distribuído em capítulos, usando um caderno interativo _Jupyter_ para cada capítulo.\n", "Caso você ainda não tenha utilizado o _Jupyter_, leia este o restante deste documento antes de prosseguir.\n", "\n", "Você pode usar os links abaixo para ser redirecionado aos cadernos interativos para não apenas ler o material, mas também alterar todos os exemplos que desejar.\n", "\n", "- [01 Introdução](01-introducao.ipynb)\n", "- [02 Uma calculadora poderosa](02-calculadora-poderosa.ipynb)\n", "- [03 Tipos e estruturas de dados](03-tipos-estruturas-dados.ipynb)\n", "- [04 Introspecção](04-introspeccao.ipynb)\n", "- [05 Entrada e Saída](05-entrada-saida.ipynb)\n", "- [06 Fluxo de controle](06-fluxo-controle.ipynb)\n", "- [07 Funções e módulos](07-funcoes-modulos.ipynb)\n", "- [08 Ferramentas funcionais](08-ferramentas-funcionais.ipynb)\n", "- [09 Tarefas comuns](09-tarefas-comuns.ipynb)\n", "- [10 Do Matlab para Python](10-matlab-para-python.ipynb)\n", "- [11 _Shells_ para Python](11-shells-python.ipynb)\n", "- [12 Computação simbólica](12-computacao-simbolica.ipynb)\n", "- [13 Computação numérica](13-computacao-numerica.ipynb)\n", "- [14 Python numérico (numpy): _arrays_](14-python-numerico-numpy.ipynb)\n", "- [15 Visualização de dados](15-visualizando-dados.ipynb)\n", "- [16 Métodos numéricos usando Python (SciPy)](16-metodos-numericos-scipy.ipynb)\n", "- [17 Para onde ir a partir daqui?](17-proximos-passos.ipynb)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Usando os cadernos interativos (_notebooks_)\n", "\n", "Ao abrir um caderno interativo, você verá que poderá mover um bloco destacado (linha azul à esquerda) com as teclas do cursor para mover para cima e para baixo. Este bloco destaca uma célula. (Você também pode usar o mouse \n", "para selecionar uma célula.) Isso é chamado de [_modo de comando_](https://jupyter-notebook.readthedocs.io/en/stable/examples/Notebook/Notebook%20Basics.html#Command-mode).\n", "\n", "### Executando código\n", "\n", "Se você quiser executar uma célula (por exemplo, uma que contenha algum código Python), você pode pressionar _Shift + ENTER_. Se a célula criar alguma saída, ela será exibida abaixo da célula. \n", "\n", "### Editando código\n", "\n", "Se você quiser alterar o código na célula atualmente destacada, você deve pressionar ENTER. Isto mostra que você já entrou no modo de edição e o conteúdo da célula pode ser editado. Ao concluir suas alterações, caso deseje executá-las, use novamente o atalho _Shift + ENTER_. Observe que você também pode editar blocos de texto (ou entrar no [_modo de edição_](https://jupyter-notebook.readthedocs.io/en/stable/examples/Notebook/Notebook%20Basics.html#Edit-mode) de uma célula de texto sem intenção). Basta pressionar _Shift + ENTER_ para renderizar o texto novamente e voltar ao modo de comando.\n", "\n", "### Atenção: as alterações feitas no _mybinder_ são temporárias\n", "\n", "Se você usar este livro de texto interativamente no serviço _mybinder_, terá um recurso temporário na nuvem para executar os exemplos de código. As alterações feitas no caderno interativo serão perdidas quando a sua sessão For encerrada (ou seja, quando você fechar a janela ou se a execução do serviço parar de funcionar). Assim, a exploração interativa dos _notebooks_ é uma ótima opção para ajudar na aprendizagem de Python, computação e ciência de dados, mas não é recomendado que você escreva nenhum código nesses blocos de anotações que queira reutilizar no dia seguinte ou posterior." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Distribuição Python\n", "\n", "A distribuição Python recomendada para iniciantes é \n", "[Anaconda](https://www.continuum.io/downloads). Um tutorial acompanhado de algumas razões para esta escolha é fornecido [aqui](http://www.southampton.ac.uk/~fangohr/blog/installation-of-python-spyder-numpy-sympy-scipy-pytest-matplotlib-via-anaconda.html)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Sobre o livro-texto\n", "\n", "O texto _Uma introdução à Linguagem Python para Ciências Computacionais e Engenharia\n", "(Um guia para o iniciante em Python 3)_, é uma tradução do título original _Introduction to Python for Computational Science and Engineering\n", "(A beginner's guide to Python 3)_, escrito pelo professor Hans Fangohr, líder do Grupo de Modelagem Computacional da _Universidade de Southampton_, Inglaterra, quem gentilmente consentiu com esta tradução. \n", "\n", "A apostila, aqui formatada como livro interativo, tem o objetivo de servir como suporte ao aprendizado da linguagem Python para estudantes das ciências exatas que desejem adquirir uma \n", "formação computacional melhor.\n", "\n", "A motivação para traduzir este texto decorreu de dois fatores: i) demanda de alguns estudantes que, frequentemente, solicitavam aulas de computação no curso de Cálculo Numérico que ministro na Universidade Federal da Paraíba, a fim\n", "de que aprendessem algum sistema algébrico computacional prático e gratuito; ii) a sólida experiência do Prof. Hans Fanghor na área de pesquisa da relação ensino-aprendizagem em computação, cujos trabalhos têm me trazido inspiração na busca por uma metodologia de ensino de métodos numéricos mais moderna, ativa e cativante para os estudantes.\n", "\n", "O material pode ser baixado em _pdf_ e _ipynb_ (formato nativo de um _Jupyter Notebook_) na versão Python 3.0, pelos quais o estudante pode aprender a teoria praticando diretamente nos _notebooks_ no seu navegador de preferência, ou usar o _Live Code_ aqui mesmo.\n", "\n", "Este material estará em constante revisão e será atualizado neste [repositório](https://github.com/gcpeixoto/lecture-ipynb) do Github sempre que necessário. Uma vez que os links fornecidos mudam constantemente segundo o ritmo da internet, torna-se difícil coibir eventuais falhas com redirecionamento\n", "e referências. Portanto, o envio de sugestões e correções será muito bem-vindo.\n", "\n", "Prof. Gustavo Oliveira
\n", "[gcpeixoto.github.io](gcpeixoto.github.io)
\n", "Departamento de Computação Científica
\n", "Centro de Informática
\n", "Universidade Federal da Paraíba
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Material relacionado\n", "\n", "Você pode consultar o material do curso [https://gcpeixoto.github.io/FMECD](Fundamentos de Matemática e Estatística para Ciência de Dados - FMECD), organizado por mim e pela Profa. Andrea Rocha (DCC/UFPB). Nele há conteúdo complementar interessante. " ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.4" } }, "nbformat": 4, "nbformat_minor": 4 }