Prof.: José Abel Hoyos Neto
Sala 29, Bloco F1 2º andar
Contato: hoyos@ifsc.usp.br
Turma 2026202 - Teórica
Local: Física - Lab. de computadores Salas 205 & 206 (LEF), Campus 1
Horário: 4ª's: 09h30-12h
Horário de atendimento: Livre
Monitoria: Guilherme Santana de Almeida (guilherme.guin2@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-77.
Guia rápido sobre Linux: clique aqui.
Manuais mais completos podem ser encontrados na internet. Por exemplo, vide free code camp.
Guia rápido sobre FORTRAN: clique aqui.
Manuais mais completos podem ser encontrados na internet. Por exemplo, vide https://gcc.gnu.org/fortran/ e https://fortran-lang.org/.
Bibliografia:
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 | 05/08 | Projeto 1; tutorial, gráficos com grace, gráficos com python, arquivo de dados auxiliar |
| 02 | 12/08 | Projeto 1 |
| 03 | 19/08 | Projeto 2 |
| 04 | 26/08 | Projeto 2 |
| 05 | 02/09 | EXAME 1 (P1+P2) |
| 09/09 | Não haverá aula (semana da pátria) | |
| 06 | 16/09 | Projeto 3 |
| 07 | 23/09 | Projeto 3 |
| 08 | 30/09 | EXAME 2 (P1+P2+P3) |
| 09 | 07/10 | Projeto 4 |
| 10 | 14/10 | Projeto 4 |
| 11 | 21/10 | Projeto 4 |
| 28/10 | Não haverá aula (consagração ao funcionário público) | |
| 04/11 | Não haverá aula (aniversário municipal) | |
| 12 | 11/11 | EXAME 3 (P1+...+P4) |
| 13 | 18/11 | Projeto 5 |
| 14 | 25/11 | Projeto 5 |
| 15 | 02/12 | EXAME 4 (P1+...+P5) |
Projeto 1 (prazo de entrega: 18/08): Introdução à programação (tarefa-3-entrada-1.in)
Projeto 2 (prazo de entrega: 15/09): Sistemas aleatórios
Projeto 3 (prazo de entrega: 06/10): Cálculo numérico
Projeto 4 (prazo de entrega: 17/11): Movimento em 2D
Projeto 5 (prazo de entrega: 01/12): O problema de Kleper
última atualização: 09/09
| Nr. USP | Faltas | E1 | E2 | E3 | E4 | P1 | P2 | P3 | P4 | P5 | NF |
| 14777201 | 1 | 9,8 | 4,3 | 0,0 | |||||||
| 17024443 | 9,5 | 9,1 | 0,0 | ||||||||
| 16814178 | 1 | 10,0 | 9,3 | 0,0 | |||||||
| 16862885 | 9,8 | 7,7 | 0,0 | ||||||||
| 11370237 | 10,0 | 4,8 | 0,0 | ||||||||
| 15574562 | 10,0 | 4,6 | 0,0 | ||||||||
| 14569550 | 9,5 | 10,0 | 0,0 | ||||||||
| 15452913 | 1 | 8,8 | 10,0 | 0,0 | |||||||
| 16985426 | 8,5 | 9,0 | 0,0 | ||||||||
| 11844771 | 1 | 0,0 | 8,9 | 0,0 | |||||||
| 15523724 | 1 | 9,5 | 7,5 | 0,0 | |||||||
| 11219303 | 9,0 | 10,0 | 0,0 | ||||||||
| 11820937 | 3,3 | 6,1 | 0,0 | ||||||||
| 16875994 | 1 | 8,3 | 8,0 | 0,0 | |||||||
| 14581947 | 1 | 10,0 | 8,3 | 0,0 | |||||||
| 13685659 | 9,5 | 7,7 | 0,0 | ||||||||
| 14654771 | 9,0 | 2,7 | 0,0 | ||||||||
| 11224268 | 1 | 0,0 | 7,5 | 0,0 | |||||||
| 12681987 | 9,5 | 7,7 | 0,0 | ||||||||
| 14592352 | 9,5 | 0,0 | 0,0 | ||||||||
| 13817440 | 5 | 0,0 | 0,0 | 0,0 | |||||||
| 16910130 | 1 | 9,0 | 3,6 | 0,0 | |||||||
| 12541761 | 1 | 0,0 | 0,0 | 0,0 | |||||||
| 16894881 | 9,5 | 6,4 | 0,0 | ||||||||
| 14801420 | 1 | 0,0 | 0,0 | 0,0 | |||||||
| 12560317 | 1 | 9,5 | 6,9 | 0,0 | |||||||
| 14604632 | 9,5 | 8,7 | 0,0 | ||||||||
| 15587222 | 9,5 | 8,9 | 0,0 | ||||||||
| 16899396 | 9,5 | 9,0 | 0,0 | ||||||||
| 15527072 | 1 | 10,0 | 8,0 | 0,0 | |||||||
| 16820881 | 10,0 | 8,3 | 0,0 | ||||||||
| 14610862 | 9,5 | 5,4 | 0,0 |