
Projecto Integrado
Programação Imperativa &
Arquitectura de Computadores
Enunciado
| Regulamento
Ultima Modificação:
24 Jan 2006
departamento
de informática |
 |
Notas
-
Este documento descreve o único tema disponível para a realização do projecto
integrado das disciplinas em epígrafe
- Os assuntos referentes à organização do trabalho e à
realização, entrega e avaliação do projecto, são descritos em
regulamento próprio.
Enunciado
Índice
-
Objectivos de
formação e resultados de aprendizagem
-
Formato de
Imagem PNM
- PBM: Portable BitMap Format
- PGM: Portable GrayMap Format
- PPM: Portable PixMap Format
-
Primeira fase (Fase 1)
-
Segunda fase (Fase 2)
-
Terceira fase (Fase 3)
Este projecto tem como objectivos principais a
formação genérica e específica de estudantes num tema em fundamentos de
computação em áreas de informática afins e interligadas (a programação
imperativa e a arquitectura de computadores). O tema seleccionado para esta
instância lectiva foi o processamento de imagem.
No contexto deste projecto, as imagens a processar estarão sempre no formato PNM
(Portable aNyMap) que se descreve na secção seguinte.
Os objectivos de formação genérica incluem:
(i) a pesquisa, análise e selecção de informação, (ii) o treino de
trabalho de grupo na resolução de problemas, (iii) o desenvolvimento da
capacidade de análise e compreensão de textos em língua inglesa, e (iv) o
desenvolvimento da capacidade de comunicação escrita e oral.
Os objectivos de formação específica incluem:
(i) a análise da especificação e do problema, (ii) o desenvolvimento
de algoritmos e consequente programação numa linguagem imperativa, (iii)
a execução e realização de testes de conformidade, (iv) a análise da
execução desses programas numa dada arquitectura de computadores (IA-32), e
(v) a aplicação de técnicas de optimização de algoritmos/programas/códigos,
com vista a melhorar o desempenho.
A avaliação dos resultados esperados de
aprendizagem irão verificar se as/os estudantes conseguem demonstrar ter
adquirido o seguinte conjunto de competências genéricas e específicas:
- competências genéricas
- a capacidade de trabalho em
grupo e respectiva comunicação efectiva e eficiente entre os elementos do
grupo;
- a capacidade de comunicação
escrita e oral na apresentação e discussão dos processos usados e resultados
obtidos;
- a capacidade de utilização
de utilitários genéricos de informática em ambiente Linux e de elaboração de
documentos anotados
- competências específicas de
Programação Imperativa
- a capacidade de desenvolver
algoritmos para resolver problemas, de forma criativa, criteriosa e crítica,
e inserida/o num grupo de trabalho
- o conhecimento e a
capacidade de codificar algoritmos e estruturas de dados segundo os
princípios da programação estruturada
- a capacidade e aptidões
práticas para gerar, executar e testar programas codificados em C, usando um
conjunto adequado de utilitários (GNU)
- o conhecimento e as aptidões
de desenvolver e aplicar testes de conformidade e de analisar situações de
fronteira na execução de programas
- capacidade e aptidões na
produção de documentação adequada à manutenção por terceiros dos programas
desenvolvidos
- competências específicas de
Arquitectura de Computadores
- a capacidade de pesquisar,
seleccionar, analisar e interpretar a informação necessária para completar a
especificação inicial do projecto (em língua inglesa, e relacionada com
formas de representação de informação) (Fase1);
- o conhecimento e a
capacidade de identificar e descrever formas de representação binária de
informação gráfica (Fase1);
- o conhecimento e a
capacidade de identificar, compreender e caracterizar as técnicas de
codificação de estruturas típicas de controlo e dos métodos de acesso e
manipulação de dados estruturados, no processo de compilação de uma
linguagem imperativa (gcc) (Fase2);
- a aptidão para efectuar a
análise de código em assembly e utilizar ferramentas de baixo nível
de depuração (gdb) de programas (Fase2);
- o conhecimento, a capacidade
e a aptidão para a aplicação de técnicas de engenharia inversa a código
binário (Fase2);
- o conhecimento e a
capacidade de identificar e descrever métricas que caracterizem o desempenho
da execução dos programas específicos deste trabalho (Fase 3);
- aptidões na aplicação de
técnicas de análise de desempenho baseadas no profiling de aplicações
(Fase 3);
- capacidades e aptidões para
descrever, aplicar e avaliar técnicas de optimização de desempenho
independentes e dependentes da máquina (Fase 3).
O PNM é um formato de imagem muito simples, fácil
de ler a partir de um ficheiro e também fácil de escrever para um ficheiro.
Actualmente uma imagem PNM pode pertencer a uma de três famílias, abaixo
explicadas: PBM, PGM e PPM. Cada família tem duas representações: uma textual e
uma compactada.
Embora não seja um requisito da especificação
PNM, existe a convenção de que a imagem deve ser armazenada de cima para baixo e
da esquerda para a direita. Cada pixel da imagem é armazenado num byte, valor 0
= preto, valor 255 = branco. Os componentes de cor são armazenados na ordem
habitual RGB ("red", "green" and "blue"), um valor para o nível de vermelho, um
valor para o nível de verde e um valor para o nível de azul.
PBM: Portable BitMap Format
Esta família corresponde a imagens contendo
apenas duas cores, branco (1) e preto (0), normalmente designadas por bitmaps.
A sua forma textual pode ser descrita da seguinte
maneira:
- qualquer linha iniciada pelo carácter # é um
comentário; os comentários só poem aparecer nas linhas do cabeçalho, ou seja,
antes dos valores dos pontos da imagem.
- a primeira linha contem o identificador do
tipo da imagem: P1
- a segunda linha contem um par de valores que
definem respectivamente o decimal correspondente ao número de colunas (largura
da imagem em pixeis), por exemplo: 9, e o decimal correspondente ao número de
linhas (altura da imagem em pixeis), por exemplo: 7
- as linhas restantes contêm uma lista de
valores decimais, em que cada valor corresponde a um pixel da imagem e estão
organizadas de acordo com os valores definidos nas linhas anteriores. Com os
exemplos dados nos itens anteriores teríamos 7 linhas cada uma com 9 valores
separados por espaço (cada valor corresponde a um byte, 0-255, que no caso das
imagens do tipo P1 apenas assume valores no intervalo [0,1])
Um exemplo de uma imagem neste formato poderia
ser:
P1
# PBM example
9 7
0 0 0 0 0 0 0 0 0
0 1 1 1 1 0 0 1 0
0 1 0 0 1 0 0 1 0
0 1 1 1 1 0 0 1 0
0 1 0 0 0 0 0 1 0
0 1 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0 0
Se analisar um pouco a imagem que esta representa
um banner com fundo preto e letras a branco. Neste caso, a imagem contem a
string "PI". Note também que, para este caso do banner, a primeira linha, a
última linha, a primeira e última colunas são pretas e que entre duas letras há
duas colunas pretas de separação.
A sua forma compactada resulta da constatação de
que um byte é uma sequência de 8 0's e 1's. Assim, um byte pode guardar 8 pixeis
da imagem. A única alteração ao formato é o identificador que passa a: P4.
A seguir apresenta-se o exemplo anterior agora
compactado:
P4
# PBM example
9 7
0 0
121 0
73 0
121 0
65 0
65 0
0 0
Note que, apenas para efeitos de visualização,
introduziram-se espaços entre os valores da forma compactada. Nas formas
compactadas PNM, não há espaços de separação entre os valores. A informação é
guardada em ficheiro em bytes sequenciais.
PGM: Portable GrayMap Format
Esta família corresponde a imagens definidas com
vários níveis de cinzento.
A sua forma textual pode ser descrita da seguinte
maneira:
- qualquer linha iniciada pelo carácter #
corresponde a um comentário e deverá ser ignorada.
- a primeira linha contem o identificador do
tipo da imagem: P2
- a segunda linha contem um par de valores que
definem respectivamente o decimal correspondente ao número de colunas (largura
da imagem em pixeis), por exemplo: 9, e o decimal correspondente ao número de
linhas (altura da imagem em pixeis), por exemplo: 7
- a terceira linha contem o maior valor decimal
que é possível encontrar para a definição de um pixel: [0,65536] (2 elevado a
16), vamos designá-lo por MAX. Normalmente, tenta-se que o intervalo seja
[0,255] pois apenas nesta situação se pode falar em compactação e no formato
P5. Se MAX estiver no intervalo [0,255] é utilizado apenas um byte por
cada pixel da imagem. Caso contrário, MAX esteja no intervalo [256,65535], são
utilizados dois bytes por cada pixel da imagem; o byte mais
significativo aparece primeiro.
- as linhas restantes contêm uma lista de
valores decimais, em que cada valor corresponde a um pixel da imagem e estão
organizadas de acordo com os valores definidos nas linhas anteriores. Com os
exemplos dados nos itens anteriores teríamos 7 linhas cada uma com 9 valores
separados por espaço (cada valor corresponde a um pixel: 0-MAX).
- cada linha não deverá ter mais de 70 valores.
- o valor 0 corresponde à cor preta e o valor
MAX corresponde à cor branca.
Um exemplo de uma imagem neste formato poderia
ser:
P2
# PBM example
9 7
15
0 0 0 0 0 0 0 0 0
0 15 15 15 15 0 0 12 0
0 15 0 0 15 0 0 12 0
0 15 15 15 15 0 0 12 0
0 15 0 0 0 0 0 12 0
0 15 0 0 0 0 0 12 0
0 0 0 0 0 0 0 0 0
Se analisar um pouco a imagem que esta representa
um banner com fundo preto e letras a branco. Neste caso, a imagem contém
a string "PI". Note também que, para este caso do banner, a
primeira linha, a última linha, a primeira e última colunas são pretas e que
entre duas letras há duas colunas pretas de separação.
A sua forma compactada resulta da eliminação dos
espaços nas linhas da imagem e apenas para o caso em que MAX está no intervalo
[0,255]. A única alteração ao formato é o identificador que passa a: P5.
PPM: Portable PixMap Format
Esta secção ficará em branco. Espera-se que os
alunos "investiguem" e que a preencham um pouco à semelhança das outras.
Nesta fase, pretende-se que as/os estudantes
executem as seguintes tarefas:
- Pesquisar a Web para caracterizar sucintamente
os formatos de imagem JPEG e GIF (avaliação exclusiva
de AC), e para completar o enunciado na descrição do formato PPM;
- Procurar na Web produtos que, em ambiente
Linux (preferencial) convertam ficheiros de imagem/gráficos em formato JPEG ou
GIF para um dos formatos PNM (PBM, PGM ou PPM), e testar pelo menos um dos
produtos que satisfaça os requisitos (avaliação
exclusiva de AC);
- Desenvolver um conjunto de algoritmos
elementares para transformar imagens PNM; mais concretamente, seguindo a
descrição feita na secção anterior pretende-se transformar imagens do tipo P2,
P3, P5 e P6 em imagens do tipo P1 ou P4 (avaliação
exclusiva de PI);
- Codificar os algoritmos propostos,
documentando-os adequadamente (avaliação exclusiva de
PI);
- Preparar um conjunto de ficheiros de entrada
para teste, que permita validar, além de outras, as de condições limite (avaliação
exclusiva de PI);
- Criar programas executáveis, usando o ambiente
de desenvolvimento da GNU, e seleccionando o nível de optimização -O2 ;
- Integrar e testar o produto final (da Fase 1)
usando comandos da shell para (i) leitura de um ficheiro JPEG ou GIF e sua
conversão para PNM, (ii) leitura de um ficheiro PNM (P2, P3, P5 ou P6) e sua
conversão para noutro ficheiro PNM (P1 ou P4) e (iii) visualização da imagem
usando ImageMagick (avaliação exclusiva de PI);
- Refinar o interface com o utilizador,
construindo um menu de operações e permitindo mais que uma operação em cada
sessão (avaliação exclusiva de PI);
- Apresentar os resultados destas tarefas num
relatório redigido redigido conforme as regras definidas no
regulamento; a sua estrutura deverá
conter, para além do título e lista de autores, um resumo (máx. 600
caracteres), uma introdução com caracterização do problema a resolver, uma
breve exposição/relato dos aspectos relevantes de cada uma das fases/tarefas,
as conclusões, uma lista da bibliografia pertinente para a resolução do
trabalho, e, em anexo, uma listagem do código.
A título de curiosidade, apresentam-se algumas
das operações que se poderão oferecer ao utilizador (se tiver tempo utilize a
sua imaginação para criar mais):
- Compactar P1 em P4
- Descompactar P4 em P1
- Binarizar P2 em P1
- Binarizar P3 em P1
- Descompactar e Binarizar P5 em P1
- Descompactar e Binarizar P6 em P1
Nesta fase, pretende-se que as/os estudantes
executem as seguintes tarefas:
- Corrigir e/ou completar as tarefas solicitadas
na 1ª fase e que não foram realizadas, ou foram-no de modo menos correcto ou
adequado; estas incluem: (i) a produção de textos sobre JPEG/GIF/PPM, (ii) a
selecção/teste de conversores JPEG/GIF para PNM (PBM, PGM ou PPM), (iii) o
desenvolvimento dos algoritmos e respectiva codificação, teste e integração
(com os comentários pertinentes) na transformação de imagens do tipo P2, P3,
P5 e P6 em imagens do tipo P1 ou P4 , e (iv) a produção de um texto em LaTeX
para posterior integração no relatório da 2ª fase e respectiva compilação para
PDF.
- Desenvolver um conjunto adicional de
algoritmos para: (i) efectuar sobre imagens PNM as operações de rodar,
negativo, média-vizinhos e binarização-adaptativa
(opcional), em que a descrição destas operações se encontra a seguir; e (ii)
procurar os objectos contidos numa imagem colorindo-os com cores diferentes, à
medida que os encontra (esta operação é apenas para imagens P1 e o resultado
deverá ser uma imagem P3), de acordo com as indicações dadas no fim. Do ponto
de vista de interface com o utilizador, estas novas operações solicitadas
devem ser integradas com as conversões iniciais no menu de opções da Fase 1,
permitindo mais que uma operação em cada sessão (avaliação exclusiva de PI).
- Codificar os algoritmos propostos,
comentando-os e documentando-os adequadamente (avaliação exclusiva de PI).
- Criar programas executáveis, usando o ambiente
de desenvolvimento da GNU, e seleccionando o nível de optimização -O2.
- Preparar um conjunto de ficheiros de entrada
para teste dos algoritmos/código das funções solicitadas, que permita validar,
além de outras, as condições limite (avaliação exclusiva de PI).
- Analisar o código assembly produzido
pelo gcc
no processo de compilação (apenas) do código C de uma das funções pedidas
(média-vizinhos, no formato P5), dedicando uma secção do relatório a esta
análise, com a seguinte informação: (i) apresentação do código em assembly,
claramente identificando o corpo da função e as componentes de arranque e
término da função, e incluindo comentários no corpo da função semelhantes a
código C; (ii) identificação dos registos e/ou células de memória onde foram
alocadas as variáveis locais da função; (iii) apresentação da estrutura e
conteúdo da stack frame no início da execução do corpo da função;
algumas destas tarefas deverão também ser executadas durante a defesa do
trabalho (avaliação exclusiva de AC).
- Efectuar o reverse engineering de uma
função que converte uma imagem P6 noutra P6, modificada: dado o
executável obter
uma possível versão do código da função em C, estruturada de uma forma
correcta e elegante (avaliação exclusiva de AC).
- Integrar e testar o produto final (da Fase 2)
usando comandos da shell para (i) leitura de um ficheiro JPEG ou GIF e
sua conversão para PNM, (ii) leitura de um ficheiro PNM e aplicação de uma das
operações pedidas, gerando um outro ficheiro PNM e (iii) visualização da
imagem usando ImageMagick (avaliação exclusiva de PI).
- Apresentar os resultados destas tarefas num
relatório redigido conforme as regras definidas no
regulamento; a estrutura do relatório deverá ser
idêntica à solicitada na Fase 1 ("conter, para além do título e lista de
autores, um resumo (máx. 600 caracteres), uma introdução com caracterização do
problema a resolver, uma breve exposição/relato dos aspectos relevantes de
cada uma das fases/tarefas, as conclusões, uma lista da bibliografia
pertinente para a resolução do trabalho, e, em anexo, uma listagem do código")
e deverá incluir uma versão reformulada/corrigida/completa do relatório da
Fase 1.
- Preparar uma apresentação oral do trabalho de
grupo feito até à data, (sem slides!) que não deverá ocupar mais de 5 min do
tempo de defesa do trabalho.
Detalhe das operações de manipulação de imagem
acima referidos (para PI):
- rodar()
a imagem é rodada 90 graus para a direita.
- negativo()
o valor dos pixeis da imagem é invertido de acordo com a fórmula:
MAX - valor_corrente
- media-vizinhos(nvizinhos)
cada pixel da imagem vai tomar um novo valor que será igual à média dos
valores dos seus
nvizinhos vizinhos, de acordo com a seguinte
interpretação: nvizinhos=2
inclui os vizinhos da esquerda e direita;
nvizinhos=4 inclui os
vizinhos da esquerda, direita, cima e baixo; e
nvizinhos=8
inclui os vizinhos anteriores e ainda os quatro das diagonais.
- bin-adapt()
esta operação será opcional e consiste em criar uma nova versão das conversões
para P1; em vez de se considerar o valor médio
(Max/2) como o valor de threshold para a
binarização, considere-se o valor médio da diferença entre o valor máximo e a
média dos pixeis da imagem ((Max-Média)/2).
Relativamente à procura de objectos em imagens a
preto-e-branco e sua coloração, os objectos a procurar são pixeis contíguos
(horizontal, vertical ou diagonalmente) com o mesmo valor, e podem ser pontos,
linhas ou áreas; por exemplo, se se considerar uma imagem P1 com as letras "PI"
em cima, o resultado seria uma P3 com o "P" a uma cor (azul, por exemplo) e o
"I" a outra cor (vermelho, por exemplo).
Nesta fase final, pretende-se que as/os estudantes
executem as seguintes tarefas:
- Corrigir e/ou completar as tarefas solicitadas
nas 1ª e 2ª fases e que não foram realizadas, ou foram-no de modo menos
correcto ou adequado.
- Complementar as tarefas das fases anteriores
com novas tarefas, para avaliação exclusiva em PI, conforme descrição
efectuada na página dessa disciplina e apenas para as/os estudantes que
pretendam obter classificação superior a Bom.
- Complementar as tarefas das fases anteriores
com novas tarefas, para avaliação exclusiva em AC, conforme descrição
detalhada feita a seguir a esta lista de tarefas, e apenas destinada a quem
pretender uma classificação Razoável ou superior.
- Elaboração de um texto, por cada elemento do
grupo de trabalho, com uma dimensão aproximada de 1 página A4, contendo: (i)
uma visão pessoal da sua participação no projecto (e o seu papel em cada um
dos temas das 2 disciplinas), (ii) uma reflexão crítica sobre o projecto como
um todo, e (iii) a uma autoavaliação pessoal do trabalho efectuado pelo grupo
e por si, no âmbito do projecto. Este texto deverá ser enviado, em PDF, por
correio electrónico, a cada um dos responsáveis das 2 disciplinas, no prazo
estabelecido para entrega do relatório.
- Elaboração e entrega do relatório final
(tarefa obrigatória para aprovação no projecto) nas seguintes condições: (i)
de acordo com o modelo de referência disponibilizado no início, (ii) submetido
conforme estipulado no regulamento, e (iii) contendo uma descrição de todas as
fases do projecto, de um modo integrado e coerente.
A tarefa nova prevista para AC contém várias
fases:
- compilação (sem e com optimização activada), execução e registo de resultados
da função de processamento de imagem disponibilizada
(para imagens PPM/P6, sendo fornecidas, para efeitos de teste, uma imagem
obtida por uma câmara digital, em JPEG, com 3 resoluções:
1200x1600,
600x800, e 120x160); a imagem
resultante deverá ser a original rodada de 90º para a direita;
- análise crítica dos resultados a das medições
efectuadas;
- análise do código fornecido, para posterior
optimização do desempenho;
- modificação do código para melhoria dos
macro-tempos de execução (leitura e escrita de ficheiros);
- melhoria do código da função de rotação, para
melhoria dos tempos de execução (em CPE's), por vários passos, e: (i) registo
de novos tempos de execução, (ii) interpretação/explicação das melhorias
obtidas.
Topo...
Regulamento
Caracterização do Projecto
- O projecto consiste na realização de um
trabalho prático em grupo, integrando conteúdos de 2 disciplinas, e com
entrega faseada de resultados.
- O projecto é único para cada ano lectivo, e a
não aprovação no projecto conduz à classificação de "Não Admitido" na pauta
final de exame.
- O projecto conterá questões e tarefas
específicas para cada uma das disciplinas, devidamente especificadas no
enunciado do projecto
.
- O projecto deverá ser submetido através do
sistema de submissões de trabalhos de PI compactado em ZIP e com uma
designação consoante a fase e o nº de grupo (com a indicação de "Fasen"
seguido da identificação do grupo; por ex., "Fase2-3.1");
a documentação a submeter deverá constar de: (i) relatório redigido em LaTeX,
segundo a estrutura e modelo definidos para os relatórios (ver em 5.),
(ii) relatório compilado para PDF, (iii) ficheiro(s) com o código e/ou
conjunto de testes, e (iv) eventual informação adicional.
- Para os
estudantes apenas inscritos em AC, a informação disponibilizada na página de PI
como material de apoio à produção de documentos em LaTeX é a seguinte: (i)
Monografia introdutória ao LaTeX por Alberto Simões,
(ii)
Página HTML
com o manual do LaTeX e (iii)
Modelo TeX para relatórios.
- Os resultados do projecto serão avaliados em 3
fases distintas ao longo do semestre: nas semanas 5, 9 e 13 (datas indicadas
adiante).
- As questões e tarefas a efectuar pelos grupos
que se encontram inscritos a apenas uma das disciplinas serão devida e
atempadamente acauteladas, e por contacto directo com o docente responsável da
respectiva disciplina.
O Projecto como trabalho de grupo
- O projecto deverá ser realizado por grupos de
3 elementos, devendo estes estarem inscritos às mesmas disciplinas (ou às 2,
ou todos apenas a uma delas). Em casos excepcionais, devidamente justificados
e aceites pelo docente responsávels de cada uma das disciplinas, será possível
a realização do projecto com menos elementos.
- A organização, planeamento e coordenação das
actividades do trabalho de grupo é da inteira responsabilidade dos seus
elementos. Os slides apresentados na sessão de introdução ao trabalho de grupo
estão aqui
disponíveis.
- Cada grupo é responsável pela manutenção de um
caderno de projecto contendo os dados mais pertinentes à elaboração do
projecto, e que servirá de base à elaboração dos relatórios para avaliação.
- O Dep. Informática assegura diverso apoio
extra-lectivo à preparação do projecto, nomeadamente:
- Postos de trabalho em laboratórios Unix (com
MacOS ou Linux), quando disponíveis.
- Uma sala no CP-II (2.202) para trabalho em
grupo, nas quartas, das 14h00 - 18h00.
- Uma sala no DI (0.02) para trabalho em
grupo, com supervisão e apoio de um monitor (estudante do 4º ano de MCC),
nas quartas, das 14h00 - 18h00.
- Um laboratório de Informática no DI (0.12)
com 12 postos de trabalho em Linux, para trabalho em grupo, com supervisão e
apoio de um monitor (estudante do 4º ano de MCC), nas quartas, das 14h00 -
18h00.
Metodologia de avaliação do Projecto
- A avaliação do projecto consiste na
verificação da aquisição individual dos conhecimentos, capacidades e aptidões
especificadas no enunciado do trabalho, e decorrerá num laboratório do DI.
- Os elementos que serão utilizados na avaliação
incluem:
- O relatório, cuja versão
electrónica deverá ser submetida com 24h de antecedência, e a versão
impressa entregue aquando da defesa do trabalho; o relatório de cada uma das
fases do projecto deverá incluir o relatório da fase anterior, com eventuais
correções e melhorias.
- Eventual apresentação formal oral (tarefa a
definir explicitamente no enunciado).
- O programa desenvolvido de acordo com as
especificações, em condições de ser apresentado (não são admitidos erros de
compilação), e respectiva bateria de testes.
- A defesa do trabalho (obrigatória) junto a
um computador, na presença de todos os elementos do grupo, durante um tempo
estimado de 20 min; em situações de ausência de um elemento, devidamente
justificadas, poderá haver uma posterior defesa individual do trabalho.
- A avaliação do trabalho do grupo é da inteira
responsabilidade das equipas de examinadores; a avaliação individual toma em
consideração a opinião dos elementos do grupo, para além do desempenho
individual na defesa do trabalho.
- O calendário para a realização das defesas dos
trabalhos (ou fases do projecto) é o seguinte:
- Fase 1, quarta 30-Mar-05: 8h00-10h00 para os
grupos inscritos no turno de sexta de manhã; 14h00-16h00 para os grupos
inscritos no turno de terça; 16h00-19h00 para os grupos inscritos nos turnos
de sexta à tarde.
- Fase 2, sexta 29-Abr-05: no horário das
sessões laboratoriais; os grupos com sessões na terça defenderão o seu
trabalho em conjunto com os de sexta de manhã.
- Fase 3, sexta 04-Jun-05: no horário das
sessões laboratoriais; os grupos com sessões na terça defenderão o seu
trabalho em conjunto com os de sexta de manhã.
- A ordem de defesa dos trabalhos é coincidente
com a ordem de inscrição dos grupos, e será atempadamente divulgada.
- A classificação final do projecto será, em
princípio, por patamares:
- Não Aprovado - não
apresentação de projecto ou resultados com um nível elevado de insatisfação
de requisitos.
- Fraco (<10) - com
diversas falhas, mas que não inviabiliza a ida a exame teórico (lacunas
sérias em conhecimentos ou na utilização de ferramentas, deficiências graves
no programa apresentado, ... )
- Aprovado (10) - cumpre, no
limite, os requisitos mínimos especificados nos resultados de aprendizagem
(há coisas que não estão bem)
- Razoável (entre 11 e 14) -
cumpre razoavelmente os requisitos especificados nos resultados de
aprendizagem
- Bom (entre 15 e 18) -
cumpre bem os requisitos especificados nos resultados de aprendizagem
- Excelente (19 ou 20) -
excede os requisitos especificados nos resultados de aprendizagem
- Para cada uma das fases de avaliação do
projecto os grupos serão informados do seu desempenho, com feedback
adequado para melhorarem os seus resultados, de acordo com um modelo de
classificação similar.
- A classificação individual final será um valor
de compromisso entre a classificação obtida pelo grupo no projecto e a
impressão individual que cada elemento produziu nas equipas de examinadores
e a opinião manifestada pelos restantes elementos do grupo de trabalho.
Situações de excepção
- As dúvidas que surgirem na sequência de
ambiguidades ou lacunas no enunciado do projecto e/ou deste regulamento,
deverão ser apresentadas a um dos docentes responsáveis de PI ou AC,
preferencialmente por email. Quando necessário, o esclarecimento dessas
situações far-se-á por divulgação por email (usando a mailing list com
os inscritos a AC e/ou PI), com eventual inclusão de um aviso na página Web da
disciplina.
- Caso sejam detectadas situações fraudulentas
(desde plágio de outro grupo ou de um outro qualquer local, a comportamento
fraudulento de um dos elementos do grupo), as partes envolvidas ficarão
sujeitas a acções ou procedimentos disciplinares seguindo a hierarquia
institucional e de acordo com a gravidade demonstrada.
Topo...
Página mantida por
aproenca@di.uminho.pt
Ultima Modificação:
24 Jan 2006