Prof.: José Abel Hoyos Neto
Sala 29, Bloco F1 2º andar
Contato: hoyos@ifsc.usp.br
Turma 2024202 - Teórica
Local: Física - Lab. de computadores Salas 205 & 206 (LEF), Campus 1
Horário: 4ª's: 09h-12h
Horário de atendimento: Livre
Monitoria: Claudio Alves Pessoa Junior (pessoa.claudio@ifsc.usp.br)
Objetivo: Apresentar aos estudantes os métodos básicos para a resolução computacional de problemas científicos.
Descrição: O curso será feito no sistema operacional Linux e a linguagem de programação científica é exclusivamente o FORTRAN-77. As aulas terão caráter essencialmente prático, com os alunos executando tarefas relacionadas ao tema da aula (projetos).
Justificativa: Já está bem estabelecido que o conhecimento de programação numérica é ferramenta fundamental para qualquer pessoa que queira produzir ciência e tecnologia.
Ao final deste curso espera-se que o(a) aluno(a) esteja capacitado(a) a resolver problemas da Física elaborando um programa numérico (código fonte) em linguagen FORTRAN (FORmula TRANslator).
A razão para uso de tal linguagem é porque ela foi idealizada para o uso científico, e possui a mais extensa biblioteca de códigos numéricos para aplicação em ciência. Existem atualmente várias formulações do FORTRAN com facilidades e versatilidades crescentes (FORTRAN-90, FORTRAN-95, etc.). Por ser uma linguagem, o FORTRAN tem uma estrutura gramatical com sintaxe própria. Estas versões mais modernas do FORTRAN têm em sua base o FORTRAN-77.
A experiência de diversos docentes ministrando este curso desde sua criação em 2003 recomenda que primeiro seja aprendido o FORTRAN-77 com todas as suas regras de sintaxe. Uma vez aprendida esta linguagem, pode-se fazer com segurança qualquer programação, notadamente as de cunho científico, mas também outras mais gerais. Mais ainda, uma vez dominado o FORTRAN-77 tem-se condições de aprender mais facilmente outras linguagens de programação.
Por fim, enfatizamos que este é um curso de algorítimo científico. O objetivo principal é aprender a usar as ferramentas básicas de programação como laços ("do" e "do while) e condicionais ("if" e "else if") para produzir algorítimos e códigos eficientes. Por isso, não será permitida a utilização de comandos facilitadores nativos das versões mais recentes do FORTRAN como, por exemplo, comandos de multiplicação de vetores e matrizes (matmul) e alocação dinâmica de memória. Apenas comandos nativos do FORTRAN-77 serão permitidos.
Recursos computacionais:
Neste curso, é dever do(a) aluno(a) familiarizar-se com o sistema operacional Linux e com a linguagem de programação FORTRAN.
Guia rápido sobre Linux: clique aqui.
Guia rápido sobre FORTRAN: clique aqui.
Manuais mais completos podem ser encontrados na internet. Por exemplo, vide https://gcc.gnu.org/fortran/.
Livro texto: Computational Physics, 2ª ed., N. J. Giordano e H. Nakanishi.
Projetos disponibilizados durante o curso.
Ementa e outros detalhes, vide sistema Júpiter
Honestidade acadêmica:
É esperado de todos que se comportem como acadêmicos responsáveis. Desonestidade acadêmica como plagiarismo, sabotagem e cola (entre outros) é uma conduta inaceitável e será tratada com o devido rigor (vide o código de ética da USP em www.prg.usp.br/wp-content/uploads/CodigoEtica.pdf).
Necessidades especiais:
As instalações de IFSC são adaptadas para aqueles com necessidades especiais de locomoção. Em todo caso e se assim julgar necessário, você é encorajado a me procurar no começo do semestre para discutirmos quaisquer outras necessidades que possa ter referente à locomoção.
Saídas de emergência:
É seu dever se familiarizar com as saídas de emergência da sala de aula e do prédio em que se encontra.
Reclamações: Procure o serviço de graduação.
O cronograma não é definitivo e pode sofrer alterações. Recarregue esta página para ter a versão mais atual.
AULA | DIA | ASSUNTO |
01 | 07/08 | Projeto 1; tutorial, gráficos com grace |
02 | 14/08 | Projeto 1 |
03 | 21/08 | Projeto 2 |
04 | 28/08 | Projeto 2 |
04/09 | Não haverá aula (semana da pátria) | |
05 | 11/09 | EXAME 1 |
06 | 18/09 | Projeto 3 |
07 | 25/09 | Projeto 3 |
08 | 02/10 | EXAME 2 |
09 | 09/10 | Projeto 4 |
10 | 16/10 | Projeto 4 |
11 | 23/10 | Projeto 4 |
12 | 30/10 | EXAME 3 |
06/11 | Não haverá aula | |
13 | 13/11 | Projeto 5 |
20/11 | Não haverá aula (consciência negra) | |
14 | 27/11 | Projeto 5 |
15 | 04/12 | EXAME 4 |
Projeto 1 (prazo de entrega: 25/08): Introdução à programação (tarefa-3-entrada-1.in)
Projeto 2 (prazo de entrega: 17/09): Sistemas aleatórios
Projeto 3 (prazo de entrega: 08/10): Cálculo numérico
Projeto 4 (prazo de entrega: 12/11): Movimento oscilatório
Projeto 5 (prazo de entrega: 04/12): O problema de Kleper
última atualização: 09/12
Nr. USP | Faltas | E1 | E2 | E3 | E4 | P1 | P2 | P3 | P4 | P5 | NF |
13863967 | 3 | 8,4 | 6,4 | 9,0 | 0,0 | 9,0 | 8,0 | 9,0 | 10,0 | 9,0 | |
11244052 | 9,9 | 8,5 | 9,7 | 8,7 | 10,0 | 10,0 | 10,0 | 10,0 | 10,0 | 10,9 | |
10784290 | 5 | 2,1 | 2,4 | 4,0 | 1,7 | 9,0 | 8,0 | 1,0 | 1,7 | ||
13685920 | 3 | 9,8 | 9,7 | 9,7 | 0,0 | 9,0 | 10,0 | 7,0 | 2,0 | 10,5 | |
13874441 | 2 | 7,3 | 3,7 | 6,3 | 2,0 | 6,0 | 7,0 | 9,0 | 9,0 | 6,0 | 6,9 |
11238037 | 3 | 8,5 | 4,9 | 2,3 | 0,0 | 8,0 | 6,0 | 9,0 | 1,0 | 6,0 | |
11219303 | 15 | 0,0 | |||||||||
11820937 | 12 | 0,0 | |||||||||
11811760 | 3 | 5,8 | 7,1 | 3,7 | 4,7 | 9,0 | 8,0 | 5,0 | 8,0 | 6,8 | |
11319573 | 10 | 6,0 | 6,0 | 0,0 | |||||||
12689297 | 15 | 0,0 | |||||||||
13749757 | 4,2 | 3,0 | 3,7 | 2,3 | 8,0 | 8,0 | 9,0 | 8,0 | 3,6 | ||
14683930 | 2 | 8,8 | 5,9 | 9,0 | 0,0 | 9,0 | 8,0 | 9,0 | 7,0 | 8,9 | |
14585486 | 3 | 10,0 | 8,5 | 10,0 | 0,0 | 10,0 | 10,0 | 10,0 | 10,0 | 10,7 | |
14655491 | 1 | 8,7 | 2,1 | 8,7 | 4,3 | 8,0 | 8,0 | 5,0 | 3,0 | 8,0 | |
11815973 | 4 | 5,9 | 3,8 | 0,0 | 0,0 | 8,0 | 8,0 | 9,0 | 3,2 | ||
12558190 | 2 | 10,0 | 8,0 | 6,0 | 7,0 | 10,0 | 8,0 | 10,0 | 8,0 | 9,4 | |
14590631 | 1 | 10,0 | 7,5 | 9,3 | 0,0 | 9,0 | 8,0 | 10,0 | 10,0 | 10,0 | |
13864012 | 4 | 2,1 | 2,4 | 2,0 | 0,0 | 7,0 | 8,0 | 9,0 | 0,0 | ||
13671042 | 4 | 1,4 | 9,3 | 0,0 | 0,0 | ||||||
14783730 | 15 | 0,0 | |||||||||
14801420 | 8 | 0,0 | |||||||||
14603307 | 3 | 8,9 | 4,2 | 8,0 | 0,0 | 6,0 | 6,0 | 8,0 | 2,0 | 7,7 | |
13751295 | 3 | 8,0 | 4,5 | 6,3 | 8,0 | 8,0 | 5,0 | 4,0 | 7,0 | 8,2 | |
14605081 | 3 | 10,0 | 9,7 | 8,0 | 0,0 | 9,0 | 10,0 | 10,0 | 8,0 | 10,3 | |
12558655 | 3 | 8,0 | 4,1 | 6,7 | 0,0 | 9,0 | 9,0 | 10,0 | 9,0 | 7,0 | 7,6 |
10850453 | 12 | 6,5 | 4,2 | 4,3 | 0,0 | 9,0 | 10,0 | 10,0 | 7,0 | 6,1 | |
12696479 | 4 | 3,0 | 1,8 | 0,0 | 0,7 | 6,0 | 5,0 | 2,0 | 0,0 | ||
12702899 | 4 | 10,0 | 6,8 | 9,0 | 4,7 | 7,0 | 8,0 | 3,0 | 3,0 | 9,2 | |
14758908 | 7,7 | 9,0 | 5,3 | 7,0 | 7,0 | 9,0 | 7,0 | 5,0 | 8,7 | ||
12731015 | 3 | 7,2 | 3,9 | 0,0 | 2,0 | 8,0 | 7,0 | 9,0 | 5,0 | 4,4 | |
13696220 | 3 | 10,0 | 7,2 | 9,0 | 8,7 | 8,0 | 5,0 | 9,0 | 7,0 | 3,0 | 10,2 |
14610427 | 4 | 10,0 | 6,9 | 8,3 | 9,0 | 2,0 | 6,0 | 4,0 | 6,0 | 9,7 | |
14758954 | 2 | 8,0 | 4,0 | 6,3 | 6,0 | 9,0 | 8,0 | 9,0 | 8,0 | 7,8 | |
11811801 | 4 | 3,3 | 1,4 | 0,0 | 0,7 | 6,0 | 9,0 | 2,0 | 5,0 | 0,0 | |
11810561 | 4 | 10,0 | 2,8 | 4,3 | 4,7 | 8,0 | 6,0 | 3,0 | 1,0 | 6,9 |