Cálculo de Programas

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

Tópicos

Avisos

17 Jun - Entrega dos TP: ver instruções em tinynew.gif 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 instruiçõ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 tinynew.gif 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 Alunostinynew.gif .

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.

Education » CP » WebHome

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. jno1.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.

r46 - 01 Feb 2018 - 13:44:25 - JoseNunoOliveira
This site is powered by the TWiki collaboration platform Copyright © by the contributing authors. Ideas, requests, problems? Send feedback.
Syndicate this site RSSATOM