Introdução à Física Computacional

  • Plano de ensino:
    1. Identificação da disciplina

    2. Objetivo Geral

    3. Ementa

    4. Programa

      1. O computador
        1. Breve história do computador
        2. Arquitetura do computador
        3. Sistemas operacionais
        4. Interação com o sistema operacional
        5. Linguagens de programação

      2. Algoritmos
        1. Conceito de algoritmo
        2. Pseudo-código

      3. Variáveis
        1. Conceito de tipagem: forte e dinâmica
        2. Definição de variável: conceito de atribuição
        3. Variáveis numéricas
          1. Simples
          2. Dupla
          3. Representação científica
        4. Variáveis lógicas (se suportado pela linguagem escolhida)
          1. Operadores relacionais
          2. Operadores lógicos
          3. Expressões lógicas
          4. Precedência
        5. Variáveis complexas (se suportado pela linguagem escolhida)
        6. Variáveis string
        7. Variáveis definidas pelo usuário (Type em Fortran 90-2008 ou struct em C)
        8. Números binários

      4. Operações matemáticas
        1. Operações simples (adição, subtração, produto, divisão, módula, etc.)
        2. Operações complexas (funções matemática como as trigonométricas, logarítmicas, etc.)
        3. Operações em nível de bits
        4. Precedência de operadores

      5. Estruturas de decisão
        1. Simples (if)
        2. Complexa (else)
        3. Específica (case)
        4. Estruturas aninhadas

      6. Estruturas de repetição
        1. Com contador (laço do em Fortran ou for em C)
        2. Com expressão lógica (while)
        3. Estruturas aninhadas

      7. Matrizes
        1. Estática
        2. Dinâmica (allocate em Fortran 90-2008 ou malloc em C)

      8. Entrada e saída para arquivos
        1. Abertura
        2. Leitura
        3. Escrita
        4. Uso de estruturas de repetição na leitura e/ou escrita

      9. Subprogramas
        1. Vantagens da modularização
        2. Escopo de variáveis e variáveis globais
        3. Funções
          1. Passagem por valor
          2. Passagem por referência
        4. Subrotinas
        5. Recursividade

    5. Bibliografia

      1. Chabay, Ruth W. e Sherwood, Bruce A. Matter and interactions, Wiley, 2010.

      2. Ellis, T. M. R., Philips, I. R., Lahey, Thomas M. Fortran 90 Programming, Addison-Wesley, 1994.

      3. Shildt, Herbert. C completo e total (3a. Ed.), Makron, 1997.

      4. Menezes, Nilo. N. C. Introdução à programação com Python: algoritmos e lógica de programação para iniciantes, Novatec, 2010.

      5. Morrisson, Michael. Use a cabeça: JavaScript, Alta Books, 2008.

      6. Stallings, William. Arquitetura e organização de computadores, Pearson, 2010.

    6. Metodologia

    7. Avaliação

      A média final será constituída pela frequência (50%) e por um trabalho final (50%). O trabalho final consiste na elaboração de um projeto de modelagem computacional, um programa para implementá-lo e um seminário em que o estudante terá que explicar para seu pares a solução desenvolvida para o problema em questão. Serão avaliados (a) dificuldade da proposta; (b) qualidade da modelagem; (c) qualidade da interface com o usuário.