Paradigmas de Linguagens Computacionais (IF686)
Erro em Lua: Não é possível criar o processo: proc_open(/dev/null): failed to open stream: Operation not permitted
A disciplina visa apresentar paradigmas alternativos ao imperativo. Ao final do semestre, os alunos devem apresentar uma compreensão mais refinada do significado das diversas construções utilizadas em linguagens de programação modernas e uma visão crítica das características dessas linguagens. Através dessa visão crítica, deverão ser capazes de, dado um conjunto de problemas, escolher, entre as várias linguagens existentes, as mais eficazes para resolver esses problemas. É importante frisar, porém, que o curso não visa ensinar uma linguagem específica, embora tenha uma ênfase particular na linguagem Haskell como um exemplo do paradigma funcional, e em Java como um exemplo do paradigma concorrente (com alguns exemplos de Haskell também) . Os alunos serão avaliados por meio de exercícios escolares (provas), listas de exercícios e de um projeto.
Ementa
- Paradigma funcional;
- Paradigma concorrente.
Avaliação
A avaliação dos aspectos teóricos da disciplina se dará através de dois exercícios escolares (provas). Alunos que faltarem a uma das provas (mas não a ambas) têm, mediante justificativa da falta, direito a fazer uma prova de segunda chamada. Esta última substitui a prova à qual o aluno faltou. A avaliação prática da disciplina se dará através de um projeto e de uma ou mais provas práticas. O projeto será realizado por equipes (3 a 5 integrantes, idealmente 4) e envolve o projeto e a implementação de um interpretador escrito na linguagem Haskell para uma linguagem imperativa simples. O projeto deverá ser apresentado no laboratório, por toda a equipe. Os alunos também serão avaliados através de uma ou mais provas práticas. A média dessas provas práticas corresponde à quarta nota da disciplina. Para fins de segunda chamada, cada etapa da prova prática corresponde a uma falta em uma prova. Logo, um aluno que faltar qualquer uma das etapas precisará justificar sua falta para ter direito à segunda chamada. É importante ressaltar que alunos têm direito a faltar, com justificativa, no máximo uma prova por semestre. A segunda falta em uma prova implica em reprovação automática.
A média do semestre será calculada da seguinte maneira:
Sejam P1 a nota de um aluno na primeira prova, P2 a nota na segunda, PJ a nota do projeto e PP a média das notas das provas práticas. A média desse aluno será calculada da seguinte maneira:
Média = (P1 + P2 + PJ+ PP)/4.
Adicionalmente, ao longo do semestre, o professor passará várias listas de exercícios. Tais listas, quando devidamente respondidas, resultarão em pontos extras. Mais especificamente, cada lista vale entre 0,1 e 0,2 ponto na média do semestre. De um modo geral, para ganhar os pontos, cada dupla de alunos deve responder corretamente pelo menos 80% das questões da lista. Duplas que respondem menos que 30% da lista perdem entre 0,2 e 0,4 ponto na média do semestre. Caso seja detectado que uma lista foi copiada, considera-se que tanto a dupla que copiou quanto a que foi copiada não entregaram a lista.
Se Média >= 7, o aluno será considerado aprovado por média. Se 3 <= Média < 7, o aluno deverá fazer a prova final. Neste caso, se (Média + Pf)/2 >= 5, onde Pf é a nota do aluno na prova final, o aluno será considerado aprovado. Caso contrário, será considerado reprovado.
Fraudes: Caso fraudes sejam detectadas em qualquer uma das avaliações (teórica ou prática), o aluno imediatamente receberá nota 0 (zero) nessa avaliação. O mesmo acontecerá no caso de faltas não-justificadas a qualquer um dos exercícios escolares ou à apresentação dos projetos.