Cálculo de Programas

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

Tópicos

Avisos

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 tinynew.gif 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 tinynew.gif 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