Universidade do Minho
Departamento de Informática

Tópicos

Avisos

2 Jul Já está disponível o formulário para candidatura online.

9 Mai Já está disponível o programa das JOIN'07, onde será feita a apresentação pública do Mestrado de Informática.

5 Mai A apresentação pública do Mestrado de Informática será feita nos próximos dias 10 e 11 de Maio no Anfiteatro A1 do Campus de Gualtar.

9 Mar As candidaturas decorrerão entre 11 de Junho e 3 de Setembro.

Programação Certificada

No quadro actual, em que a segurança dos sistemas assume um papel determinante, torna-se fulcral a capacidade de produzir código certificado: o produto final de um projecto de software deixa de consistir exclusivamente em aplicações executáveis, sendo necessariamente acompanhado de certificados que asseguram que essas aplicações possuem propriedades desejadas, sejam elas funcionais ou de segurança. Por exemplo, pode ser imperioso que um programa cumpra uma determinada política que o impeça de aceder a recursos que lhe são vedados. A Verificação Formal é a actividade que pretende estabelecer que um sistema se comporta, efectivamente, de acordo com a sua especificação, ou que o seu comportamento apresenta certas propriedades, ou ainda que não apresenta defeitos. Por outro lado, a emergência de novas áreas de aplicação como a bioinformática e a criptografia relança o papel fundamental do estudo dos algoritmos e das suas propriedades nas ciências da computação.

A presente UCE responde precisamente a estes imperativos cruciais. Pretende-se estabelecer competências a dois níveis:

  • Ao nível fundamental, pretende-se construír uma base sólida de conhecimentos, indispensáveis para a abordagem de alguns dos problemas mais sofisticados na área da Informática. Estes conhecimentos organizam-se em três áreas essenciais da Ciência da Computação: a Lógica e Semântica da Programação; os princípios das Linguagens de Programação; e o estudo dos Algoritmos e sua complexidade.

  • Ao nível aplicado, esta UCE atribui competências na área da Verificação Formal de sistemas informáticos e na utilização de ferramentas de verificação (baseadas em modelos ou em inferência lógica), bem como na utilização de técnicas avançadas no domínio das linguagens de programação (nomeadamente as funcionais, que se prestam particularmente ao raciocínio sobre programas).

Coordenação Científica

Resultados de Aprendizagem

  • Compreender os fundamentos da Teoria de Tipos, suas implicações nos sistemas de tipos de linguagens, e sua interpretação lógica; exprimir propriedades lógicas em sistemas de prova assistida, e conduzir demonstrações nesses sistemas.
  • Conhecer as principais classes de complexidade e as relações elementares entre estas.
  • Especificar, exprimir, e verificar a validade de propriedades (relativas à correcção ou outras) de sistemas de software, com recurso a ferramentas de prova assistida e verificadores de modelos.
  • Aplicar técnicas avançadas de programação, nomeadamente funcional, para a resolução de problemas concretos.
  • Reconhecer características dos problemas em áreas de aplicação diversas; utilizar algoritmos clássicos dessas áreas; analisar, comparar, e desenhar algoritmos.
  • Desenvolver projectos integrados de desenvolvimento e verificação de software.

Módulos

A presente UCE organiza-se em torno de 3 módulos temáticos, articulados entre si por um Seminário e Projecto Integrado que garante, por um lado, complementar os temas abordados nos diversos módulos com palestras pontuais de professores e investigadores convidados; por outro lado, permite a experimentação e aplicação prática dos resultados da aprendizagem no contexto de um projecto integrado. Os módulos referidos são

  • Fundamentos da Programação
  • Verificação de Software
  • Programação Avançada

Parcerias

  • Dep. Matemática, UM

r9 - 08 May 2007 - 09:00:50 - JoseBarros
This site is powered by the TWiki collaboration platform Copyright © by the contributing authors. Ideas, requests, problems? Send feedback.
Syndicate this site RSSATOM