Cálculo de Programas

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

Tópicos

Avisos

16 Mar - Publicada no Material a tinynew.gif ficha nr.6, a preparar para as aulas TP da semana de 18-Mar. (Em CP segue-se o método 'Flipped Classroom'.)

12 Mar - Chama-se à atenção dos alunos dos turnos TP3 e TP5 do MiEI para as tinynew.gif 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 tinynew.gif "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