Cálculo de Programas

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

Tópicos

Avisos

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

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

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

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

31 Mar - Avisa-se que não haverá aula teórica na próxima 2ª feira dia 3 de Abril (docente em serviço em Lisboa).

31 Mar - Publicadas no Material várias bibliotecas em Haskell de apoio ao estudo de catamorfismos e seu papel na programação.

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

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

16 Mar - Os alunos que pretendam usufruir da nota do TP do ano passado (cf. Regime de Avaliação) devem enviar ao responsável pela disciplina uma mensagem até 24-Abril; aqueles que o já tiverem feito não precisam de re-enviar mensagem.

13 Mar - Publicado na Bibliografia mais um capítulo ( 344K) dos apontamentos.

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

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

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

25 Fev - Não haverá aulas na terça-feira, dia 28, devido à tolerância de ponto (Despacho RT-14/2017)

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

14 Fev - Mudança de sala: a partir de 17-Fev (inclusive) a aula teórica de LCC passa para o anfiteatro A2.

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

1 Fev - Início das aulas: 6 de Fevereiro. Na primeira semana só haverá aulas teóricas.

1 Fev - Criada esta página de avisos.

Education » CP » WebHome

Benvindo a Cálculo de Programas

Bem vindo à página da edição de 2016/17 da disciplina de Cálculo de Programas. O meu nome é 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 não tem de facto.

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.

r43 - 27 Apr 2017 - 21:55:37 - JoseNunoOliveira
This site is powered by the TWiki collaboration platform Copyright © by the contributing authors. Ideas, requests, problems? Send feedback.
Syndicate this site RSSATOM