Cálculo de Programas

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

Tópicos

Avisos

03 Ago - As notas dos exames da época especial estão publicadas em Alunos.

23 Jul - O exame da época especial (24-Jul) será na sala CP2 0.20, das 9h às 11h.

10 Jul - Consulta dos exames: amanhã das 11h às 13h, na sala de reuniões do 2º andar do DIUM.

10 Jul - As notas finais e dos TPs estão publicadas em Alunos.

25 Jun - O horário das defesas dos TPs está disponível nesta página. Cada defesa demora 15 minutos. Cada grupo deverá comparecer na sala indicada 5 mins antes da hora.

21 Jun - Horário para os alunos verem os testes: segunda-feira, dia 25-Jun, das 16h às 18h.

20 Jun - Afixadas as classificações do teste de 6-Jun em Alunos.

18 Jun - As defesas orais dos TP desta disciplina terão lugar de 3 a 5 de Julho. Oportunamente será divulgado o escalonamento dos grupos (gerado aleatoriamente).

17 Jun - Entrega dos TP: ver instruções em Alunos. Data limite: 23 de Junho.

31 Mai - Avisam-se os alunos que a data de submissão do TP desta disciplina foi adiada para sábado, 23 de Junho. Oportunamente serão dadas aqui as instruções para a entrega.

20 Mai - Publicada no Material a ficha nr.13 (última), a preparar para as aulas TP da semana de 21-Mai.

06 Mai - Publicada no Material a ficha nr.12, a preparar para as aulas TP da semana de 07-Mai.

06 Mai - Chama-se à atenção que a aula de reposição do turno MiEI/TP2 será não será no E1 mas sim na sala 1.03 do E2 - ver Sumários.

29 Abr - Publicada no Material a ficha nr.11, a preparar para as aulas TP da semana de 30-Abr.

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

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

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

09 Abr - Chama-se a atenção para a mudança de sala do turno MiEI/TP2, cf. Horário.

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

03 Abr - A comunicação dos grupos de trabalho de CP deverá ser feita em http://www.di.uminho.pt/grupo_cp/ até dia 17 de Abril.

02 Abr - Publicada no Material a ficha nr.7, a preparar para as aulas TP da semana de 03-Abr.

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

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

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

03 Mar - Notas TP de 16/17 - ver Alunos.

27 Fev - Aviso: não haverá aula LCC/TP2 esta sexta-feira, 2-Março. O docente combinará com os alunos deste turno uma aula de substituição.

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

20 Fev - Chama-se a atenção para a mudança dos anfiteatros das aulas teóricas dos 2 cursos, cf. Horário.

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

01 Fev - Início das aulas: semana de 12-Fev. Começarão primeiro as aulas TP com uma ficha de revisão de PF (Programação Funcional).

01 Fev - Criada esta página de avisos.

Benvindo a Cálculo de Programas

Bem vindo à página da edição de 2017/18 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 se leccionam nesta disciplina, estão na base da abordagem científica ao desenvolvimento de software. jno.png Todos 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.

Cada vez mais, a indústria pede às universidades que ensinem a programar de forma sistemática e reflectida, capaz de evitar ao máximo erros de programação. 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. Prestes a completar 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.

r47 - 29 May 2019 - 14:42:38 - JoseNunoOliveira
This site is powered by the TWiki collaboration platform Copyright © by the contributing authors. Ideas, requests, problems? Send feedback.
Syndicate this site RSSATOM