O conteúdo deste livro-texto é distribuído em capítulos, usando um caderno interativo Jupyter para cada capítulo. Caso você ainda não tenha utilizado o Jupyter, leia este o restante deste documento antes de prosseguir.
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.
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 para selecionar uma célula.) Isso é chamado de modo de comando.
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.
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 de uma célula de texto sem intenção). Basta pressionar Shift + ENTER para renderizar o texto novamente e voltar ao modo de comando.
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.
O texto Uma introdução à Linguagem Python para Ciências Computacionais e Engenharia (Um guia para o iniciante em Python 3), é uma tradução do título original Introduction to Python for Computational Science and Engineering (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.
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 formação computacional melhor.
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 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.
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.
Este material estará em constante revisão e será atualizado neste repositório 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 e referências. Portanto, o envio de sugestões e correções será muito bem-vindo.
Prof. Gustavo Oliveira
gcpeixoto.github.io
Departamento de Computação Científica
Centro de Informática
Universidade Federal da Paraíba
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.