Cálculo de Programas

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

Tópicos

Avisos

26 Ago - Publicadas em Alunos as classificações do exame de época especial. Horário para consulta dos exames: 5ª feira, 29-Ago, às 17h00, na sala de reuniões do 2º piso do edifício E7.

20 Jul - Disponibilizada em Material correcção do exame de recurso.

17 Jul - Exame da época especial: terá lugar dia 24 de Julho de 2019, das 14h00-16h00, nas salas 1-2.17/2.18/2.19.

02 Jul - Publicadas em Alunos as classificações gerais após o exame de recurso.

01 Jul - Horário para consulta dos exames: 3ª feira, 02-Jul, às 11h30, na sala de reuniões do 2º piso do edifício E7.

01 Jul - Publicadas em Alunos as classificações do exame de recurso.

30 Jun - Notas do recurso: serão brevemente lançadas em Alunos

20 Jun - Disponibilizada em Material correcção do teste de 30 de Maio.

20 Jun - Notas TP: acabam de ser lançadas em Alunos, bem como os alunos admitidos ao exame de recurso.

19 Jun - Melhorias: oficialmente, as melhorias só podem ser feitas no exame da Época Especial.

19 Jun - Exame de recurso: terá lugar sábado, 22 de Junho de 2019, das 09h00-12h00, no Edif. 2, salas 1.01/1.03/1.05/1.07.

14 Jun - Horário para consulta dos testes: 3ª feira, 18-Jun, às 11h30, na sala E7 0.05.

14 Jun - Orais TP: terão lugar dias 17 e 19 de Junho, na sala DI 0.08, ver horário.

14 Jun - Publicadas em Alunos as classificações do teste.

11 Jun - Orais do TP: ver Alunos. Recomenda-se aos alunos que não têm fotografia no portal académico que a insiram rapidamente, pois com tantos alunos é impossível à equipa docente lembrar-se de quem são, o que pode vir a prejudicar a sua avaliação.

7 Jun - As defesas orais dos TP desta disciplina terão lugar nos dias 17 e 19 de Junho. Oportunamente será divulgado o escalonamento dos grupos (gerado aleatoriamente).

31 Mai - Entrega dos TP: ver instruções em Alunos. Data limite: 5 de Junho.

25 Mai - Terá lugar no anfiteatro A2 (do DIUM) uma aula suplementar para os turnos LCC-TP1 e MiEI-TP7 na próxima 2ª-feira às 10h-12h.

13 Mai - Terão hoje lugar no CP1 (e não CP2), sala 1.18, as aulas de reposição dos turnos TP3 e TP5 (MiEI) que estão em falta.

11 Mai - As aulas em falta dos turnos TP3 e TP5 (MiEI) serão repostas no dia 13-Mai, às 13h e 15h, respectivamente. Os alunos devem comparecer no serviço de apoio do CP2, onde terão indicação das respectivas salas.

03 Mai - Publicada no Material a ficha nr.11 (última), a preparar para as aulas TP da semana de 6-Mai.

29 Abr - Foram registados 83 grupos de alunos para a realização do TP, ver Alunos.

27 Abr - No próximo dia 3-Mai não haverá aulas do turno TP8 (MiEI). Oportunamente será anunciada uma aula de substituição.

22 Abr - Publicada no Material a ficha nr.10, a preparar para as aulas TP da semana de 23-Abr.

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

10 Abr - Hoje não haverá aulas dos turnos TP3 e TP5 (MiEI). Oportunamente serão anunciadas aulas de substituição.

08 Abr - Trabalho prático: a comunicação dos grupos deverá ser feita em http://www.di.uminho.pt/grupo_cp/ até dia 26 de Abril.

06 Abr - Publicada no Material a ficha nr.9, a preparar para as aulas TP da semana de 08-Abr.

01 Apr - A aula TP1 de LCC de hoje será na sala 1.09.

30 Mar - Publicada no Material a ficha nr.8, a preparar para as aulas TP da semana de 25-Mar.

27 Fev - Amanhã (28-Mar) não haverá aulas do turno TP2 de LCC. A aula de substituição será na sala E1-1.24, no dia 1 de Abril, das 11:00 - 13:00.

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

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

12 Mar - Chama-se à atenção dos alunos dos turnos TP3 e TP5 do MiEI para as aulas de reposição que terão lugar na sala E1-2.07 das 9h às 13h, ver Sumários.

11 Mar - Pede-se aos alunos que, sempre que enviarem mensagens para docentes desta disciplina, incluam a sigla "CP" (ou preferencialmente "CP/1819") no assunto das suas mensagens. As mensagens de quem não o fizer poderão passar despercebidas e ficar sem resposta alguma.

11 Mar - A aula TP1 de LCC de hoje será na sala 1.09.

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

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

26 Fev - Amanhã (27-Fev) não haverá aulas dos turnos TP3 e TP5 (MiEI). Motivo: doença do docente. Oportunamente serão anunciadas aulas de substituição.

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

18 Fev - A aula TP1 de LCC de hoje será na sala 1.09.

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

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

24 Jan - Início das aulas: semana de 4-Fev.

24 Jan - Criada esta página de avisos.

Benvindo a Cálculo de Programas

Bem vindo à página da edição de 2018/19 da disciplina 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 qualificados na investigação de 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 neste tipo de ensino. Com 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.

r52 - 01 Jun 2019 - 10:57:46 - JoseNunoOliveira
This site is powered by the TWiki collaboration platform Copyright © by the contributing authors. Ideas, requests, problems? Send feedback.
Syndicate this site RSSATOM