Minicurso

Introdução à computação científica com Python

RESUMO

O Python é uma linguagem de programação de alto nível, expressiva de tipagem dinâmica com suporte multi paradigma, suportando os modos imperativos, objetivo e funcionais.

Python conta com uma grande quantidade de estruturas de dados embutidas na linguagem, de forma clara e concisa, sem carregar excessivamente a notação.

A linguagem ganhou grande popularidade devido a um conjunto de funcionalidades que permite a elaboração de programas científicos similares ao Matlab/Octave mas contando com uma gama muito maior de bibliotecas que integram não somente as funções científicas, como as de sistema operacional e rede, permitindo assim a criação de programas completos.

Recentemente com a popularização da Inteligência artificial, o Python ganhou uma força adicional pois a maior parte das bibliotecas deste segmento são escritas em Python como Theano, Tensorflow, NLTK, Scikit.

Neste curso serão apresentados os conceitos iniciais da linguagem, desde sua mais básica introdução até a elaboração de programas simples que irão ajuda-lo na sua carreira como pesquisador e cientista.

OBSERVAÇÃO: É bem melhor que você tenha o Python instalado no seu computador antes de começar o curso. Se você usa o Windows, basta acessar o endereço do anaconda para baixar o instalador. Se você usa o Linux, pode ficar tranquilo que já tem tudo necessário para funcionar.

REQUISITOS

Não existem requisitos básicos para o curso, todos são bem vindos, mesmo aqueles sem qualquer experiência prévia com programação. Saber utilizar um editor de texto básico (como notepad no Windows ou gedit no Linux) é recomendável, também é interessante que saiba conceitos básicos do computador como abrir e salvar arquivos, navegar em diretórios. Conhecimento prévio em outras linguagens de programação podem ajudar. Conhecimento básico em matemática é desejável (números, operações algébricas, vetores, matrizes, operações em espaços vetoriais, contagem).

EMENTA

  • A linguagem Python, histórico e filosofia

  • Estruturas básicas

      • Variáveis e memória

      • Tipos (cadeias, inteiros, reais, listas)

      • Operadores aritméticos

      • Operadores lógicos

      • Estruturas de controle (laços e condicionais)

  • Funções, parâmetros e retorno

  • Objetos multi dimensionais

  • Biblioteca Numpy

      • O numpy array

      • Operações

      • Cortes e segmentação

      • Operadores lógicos

      • Estruturas de controle (laços e condicionais)

  • Análise de performance

  • Biblioteca Matplotlib

      • A estrutura de um gráfico

      • Elaborando gráficos básicos

      • Tipos de gráficos (linha, barra, setorial, histograma, nuvem)

      • Elaborando gráficos complexos

      • Grade de gráficos

      • Exportando gráficos para artigos

SOBRE O AUTOR

Igor Morgado é mestre em Ciências Computacionais pela UERJ, doutorando em ciências computacionais pelo mesmo programa, graduado em matemática (também pela UERJ). É programador por vocação, geofísico por profissão e matemático por formação. Gosta de criar jogos eletrônicos. Tem interesse em inteligência artificial, simulações físico-matemáticas e geometria computacional.