Programming theory
[Fechado]
Descrição da Oportunidade
A qualidade da programação é vulgarmente aferida segundo dois eixos nem sempre em sincronia. Por um lado, queremos que os programas sejam claros e estejam correctos, isto é, que façam aquilo que se pretende e não tenham erros. Por outro lado, deverão ser minimamente eficientes para terem utilidade prática nas situações concretas a que vão ser aplicados. Não é raro comprometer-se a correção quando a eficiência se procura de forma ad hoc. Mas também acontece que programas muito claros e abstratos são pouco eficientes. Curiosamente, o conceito que está subjacente aos dois eixos acima referidos é o mesmo: o de função matemática. De facto, o significado de um programa determinístico é uma função; e é um facto, também, que a teoria da complexidade algorítmica se baseia na análise do comportamento assintótico de funções que medem complexidade. O cálculo de programas funcionais recursivos tem testemunhado grandes desenvolvimentos nas últimas décadas, dando origem à chamada ‘álgebra de programação’, graças à qual podem ser obtidas implementações “corretas por construção” mais eficientes por cálculo. Mas não é comum analisar a eficiência destas implementações utilizando as mesmas técnicas de cálculo utilizadas para inferi-las.
Habilitações Académicas
Aluno em engenharia informática.
Requisitos Mínimos
- Média atual de licenciatura igual ou superior a 16 valores;- Background que inclua conhecimentos sólidos teoria algébrica da programação (vulg. cálculo de programas).
Fatores de Preferência
- Boa sensibilidade ao tema do projecto; - Criatividade e espírito crítico.
Período de candidatura
Desde 25 Oct 2024 a 08 Nov 2024
[Fechado]
Centro
Laboratório de Software Confiável