Cálculo de Programas

Mestrado Integrado em Engenharia Informática e Licenciatura em Ciências da Computação

Tópicos

Avisos

22 Mai - O tinynew.gif teste desta disciplina terá lugar a 13 de Junho, em horário a definir. Será feito remotamente via BB pelo que, ao contrário do que estava inicialmente previsto, será um teste de consulta (“open-book”). Antes de mais, todos os alunos deverão de imediato verificar se têm acesso à sua página de CP no BB (LCC ou MiEI). Mais informações serão dadas sobre este assunto aqui e no Slack da disciplina.

18 Mai - Publicada no Material a tinynew.gif ficha nr.13 (última), destinada às aulas TP desta semana.

13 Mai - Disponibilizada em Material a gravação em vídeo da aula T13 de amanhã à tarde.

11 Mai - Publicada no Material a ficha nr.12, destinada às aulas TP desta semana.

7 Mai - Disponibilizada em Material a gravação em vídeo da aula T12 de hoje à tarde.

5 Mai - Publicada no Material a ficha nr.11, destinada às aulas TP desta semana.

30 Abr - Disponibilizada em Material a gravação em vídeo da aula T11 de hoje.

29 Abr - Trabalho prático: enunciado e material publicados em Material.

27 Abr - Publicada no Material a ficha nr.10, a preparar para as aulas TP desta semana.

22 Abr - Acaba de ser disponibilizada em Material a gravação em vídeo da aula T10 desta 5ª-feira.

20 Abr - Publicada no Material a ficha nr.9, a preparar para as aulas TP desta semana.

15 Abr - Acaba de ser disponibilizada em Material a gravação em vídeo da aula T9 desta 5ª-feira.

13 Abr - Publicada no Material a ficha nr.8, a preparar para as aulas TP da semana de 14-Abr.

31 Mar - Acaba de ser disponibilizada em Material a gravação em vídeo da aula T8 desta 5ª-feira.

24 Mar - Acaba de ser disponibilizada em Material a gravação em vídeo da aula T7 desta 5ª-feira.

20 Mar - Publicada no Material a ficha nr.6, a preparar para as aulas TP da semana de 23-Mar.

17 Mar - Acaba de ser disponibilizada em Material a gravação em vídeo da aula T6 desta 5ª-feira.

16 Mar - Aulas Teóricas T6: a gravação de vídeo das aulas de quinta-feira, 19-Março, irá ficar disponível amanhã em Material. Recomenda-se aos alunos que o vejam antes da sua aula. No horário das aulas T o docente estará on-line para responder a questões e dúvidas. O que for mais relevante será afixado na FAQs de Atendimento.

15 Mar - Foi enviada uma mensagem via BB a todos os alunos sobre o re-início das aulas - por favor vejam as vossas caixas de correio.

13 Mar - De acordo com a circular CPEEUM-01/2020, as aulas re-iniciam-se na próxima segunda-feira, 16-Mar, em modo de e-learning (on-line). Brevemente serão dadas aqui (e enviadas por email via BB) informações sobre esse novo formato das aulas da disciplina.

10 Mar - Trabalho prático: está aberta a inscrição dos grupos de trabalho, que deverá ser feita em https://form.di.uminho.pt/grupo_cp até dia 1 de Abril. NB: os grupos com alunos externos devem contactar a equipa docente antes de se inscreverem.

9 Mar - Por determinação superior, esta semana não haverá aulas, cf. despachos RT-23/24 da Reitoria. A equipa docente está disponível para acompanhar o estudo à distância dos alunos. Pf. estejam atentos às FAQs em Atendimento. Nas mensagens coloquem sempre "CP/1920" no assunto.

6 Mar - Publicada no Material a ficha nr.5, a preparar para as aulas TP da semana de 9-Mar.

28 Fev - Publicada no Material a ficha nr.4, a preparar para as aulas TP da semana de 2-Mar.

26 Fev - A aula de reposição do turno MiEI/TP1 do dia 28 de Fevereiro, 6.a-feira, 11h-13h, terá lugar na sala E2-1.03.

20 Fev - Não haverá aula do turno TP1 amanhã (6ª-feira, 14:00, MiEI, E3-2.03). Será dada uma aula de substituição no dia 28 de Fevereiro, 6.a-feira, das 11h-13h, em sala a divulgar posteriormente.

20 Fev - Publicada no Material a ficha nr.3, a preparar para as aulas TP da semana de 24-Fev.

13 Fev - Publicada no Material a ficha nr.2, a preparar para as aulas TP da semana de 17-Fev.

12 Fev - Alteração de sala do turno LCC/TP1 para a E1-1.20.

6 Fev - Publicada no Material a ficha nr.1, a preparar para as aulas TP da semana de 10-Fev.

28 Jan - Início das aulas: 5ª-feira, dia 6-Fev. Ver Sumários.

28 Jan - Criada esta página de avisos.

Education » CP » WebHome

Benvindo a Cálculo de Programas

Bem vindo à página da edição de 2019/20 de Cálculo de Programas. Eu chamo-me José Nuno Oliveira e sou o responsável por esta disciplina, que conta com uma equipa de docentes que investigam métodos que, como os que aqui se leccionam, estão na base da abordagem científica ao desenvolvimento de software. jno.png Fazemos parte do Laboratório HASLab (High-Assurance Software Laboratory) onde se encontra consolidado know-how em métodos formais de programação desde há mais de 30 anos.

A palavra "programa" vem do grego "programma", uma derivação de "prographein" = "pro" (antes) + "graphein" (escrever). Isto sugere que alguém que programa deve pensar antes no que vai fazer.

A indústria de software espera das universidades um ensino sistemático da programação, i.e. científico. FP na indústria Só assim haverá garantias de que não há erros de programação. Tal como noutros ramos da engenharia, para isso é preciso introduzir a noção de cálculo em programação, isto é, uma disciplina que nos ajude a pensar os programas, raciocinar sobre eles e obter versões eficientes sem introduzir erros.

A Universidade do Minho tem uma longa tradição nesta área de ensino. Com mais de 20 anos de leccionação, Cálculo de Programas é uma das cadeiras que ensinam tais competências. Mais do que tecnologia ensina-se método, que é afinal aquilo que a maioria dos programadores acaba por não ter.

Resultados da Aprendizagem

  • Programação composicional: aprender a escrever programas complexos por composição de programas mais simples (princípio da composicionalidade).

  • Programação construtiva: aprender a escrever programas funcionais com recurso a combinadores algébricos.

  • Transformação de programas: recurso à algebra da programação para se obter eficiência sem sacrifício da correcção.

  • Arquitectura da programação: Análise, compreensão e catalogação de programas: recurso à factorização em pares "fold" + "unfold" (hilomorfismos) como forma de se perceber a arquitectura dos algoritmos e sua taxonomia.

  • Síntese de programas: cálculo de ciclos-for a partir de definições indutivas da matemática.

  • Programação funcional avançada: construir e raciocinar sobre programas funcionais com efeitos sob a forma de mónades.

Página principal

Para ver todas as edições da disciplina entrar aqui.

r54 - 03 Feb 2020 - 11:32:41 - JoseNunoOliveira
This site is powered by the TWiki collaboration platform Copyright © by the contributing authors. Ideas, requests, problems? Send feedback.
Syndicate this site RSSATOM