Cálculo de Programas

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

Tópicos

Avisos

13 Mai - Terão hoje lugar no CP1 (e não CP2), tinynew.gif 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.

Education » CP » WebHome

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

r49 - 07 Feb 2019 - 12:11:00 - JoseNunoOliveira
This site is powered by the TWiki collaboration platform Copyright © by the contributing authors. Ideas, requests, problems? Send feedback.
Syndicate this site RSSATOM