MC346 - Paradigmas de Programação: Avaliação

      Criada: 2016-02-17
    

Os alunos serão avaliados em cada uma das linguagens cobertas no semestre e receberão uma nota específica para cada linguagem. A nota de aproveitamento será calculada em função das notas em cada linguagem. Caso a nota de aproveitamento seja menor que 5,0 (cinco), a aluna ou aluno deverá fazer o exame final para obter média suficiente para aprovação, de acordo com as regras da Universidade.

Em cada linguagem, haverá dois tipos de avaliação: a prova escrita e o projeto de programação. A prova escrita valerá 2/3 da nota da linguagem, enquanto que o projeto de programação dará os outros 1/3 da nota.

As provas escritas terão duração de 1:40 horas, sem consulta. Haverá três provas escritas, uma para cada linguagem.

Os projetos de programação consistem no desenvolvimento de programas para resolver problemas específicos. Para este semestre, teremos: (1) um projeto envolvendo parsing de expressões aritméticas para resolver equações do primeiro grau, (2) um projeto envolvendo seleção de retângulos no plano com área total máxima e que sejam mutuamente comparáveis segundo uma certa relação de ordem , e (3) um projeto envolvendo o cálculo de certos parâmetros de conexão para intervalos em uma reta.

Cada projeto deverá ser entregue na data designada no cronograma. Projetos entregues com atraso perderão pontos, a uma taxa de 0.0138889% por minuto de atraso, que equivale a uma taxa de 20% da nota por dia. Por exemplo, um projeto entregue com 36 horas (2160 minutos) de atraso perderá 30% da nota. Um atraso de 5 minutos perderá apenas 0.07%, praticamente desprezível. Após 5 dias, não vale mais a pena entregar o projeto.

Os códigos dos alunos serão analisados para ver se contém comandos espúrios e maliciosos, como tentativa de acesso a arquivos que não fazem parte do sistema sendo desenvolvido, tentativa de acesso à rede, etc. Quaisquer arquivos fonte que contiverem comandos considerados maliciosos serão descartados e o aluno que os tiver submetido receberá zero na disciplina como punição. Programas iguais ou muito parecidos serão passíveis da mesma punição. Além disso, cada aluno deverá ser capaz de explicar todo o seu código ao instrutor, em entrevista marcada especialmente para este fim. Caso o aluno não demonstre cabal conhecimento de seu próprio código, receberá também zero na disciplina.

A nota de aproveitamento será calculada com base nas notas de cada linguagem. Se a nota em alguma linguagem for menor que 4,0 (quatro), a nota de aproveitamento será igual à menor nota dentre as notas de linguagens. Se todas as notas de linguagens forem maiores ou iguais a 4,0 (quatro), então a nota de aproveitamento será a média aritmética das notas de linguagens Com isto, para escapar do exame, os estudantes deverão obter nota de aproveitamento maior ou igual a 5.0 (cinco), e também uma nota maior ou igual a 4.0 (quatro) em cada linguagem.

Desta forma, a nota final de cada estudante será dada por:

NomeSímboloFórmula
Nota final NF (NA + NE)/2, se fez exame
NA, caso contrário
Exame NE nota obtida no exame final (de 0 a 10)
Aproveitamento NA NPr/3 + NH/3 + NPy/3, se NPr ≥ 4 e NH ≥ 4 e NPy ≥ 4
mínimo(NPr, NH, NPy), se NPr < 4 ou NH < 4 ou NPy < 4
Nota de Prolog NPr (2*PePr + PrPr)/3
Nota de Haskell NH (2*PeH + PrH)/3
Nota de Python NPy (2*PePy + PrPy)/3
Prova escrita de Prolog PePr nota obtida na prova escrita sobre Prolog (de 0 a 10)
Prova escrita de Haskell PeH nota obtida na prova escrita sobre Haskell (de 0 a 10)
Prova escrita de Python PePy nota obtida na prova escrita sobre Python (de 0 a 10)
Nota do programa de Prolog PrPr nota obtida no projeto de programação Prolog (de 0 a 10).
Nota do programa de Haskell PrH nota obtida no projeto de programação Haskell (de 0 a 10).
Nota do programa de Python PrPy nota obtida no projeto de programação Python (de 0 a 10).

Caso NF seja maior que 10, será rebaixada para 10. Caso seja detectada fraude, a nota NF será zero para todos os envolvidos, sem prejuízo de outras sanções.


MC346 Home

© 2016 João Meidanis