Submissão
Suas tarefas serão testadas automaticamente sempre que você realizar push e
houver alterações nos arquivos da tarefa. Um script de correção executará o
arquivo testar.py
automaticamente e guardará a saída no relatório da correção,
disponível na interface de notas. O script de teste é o mesmo disponível no
repositório, que você deverá usar para testar seus programas localmente. Não
altere o arquivo testar.py
nem os arquivos auxiliares. Esse script compilará
os programas utilizando a ferramenta make
de acordo com as regras do
Makefile
. Você pode alterar o arquivo Makefile
de modelo, se desejar, desde
que mantenha e utilize as flags de compilação.
Você pode solicitar a correção das suas tarefas clicando no botão na interface de notas, desde que seu programa tenha passado em um caso de teste mínimo (tipicamente o primeiro). O monitor irá corrigir a tarefa e possivelmente fará sugestões de melhorias. Depois de realizadas as correções sugeridas, você poderá solicitar a correção uma segunda vez, até o prazo da segunda chance indicado na tarefa. Só é possível solicitar a correção no máximo duas vezes, então, se você clicar no botão acidentalmente, peça para um monitor cancelar a solicitação.
Critérios gerais
Sua tarefa será avaliada tanto por um conjunto de casos de teste, quanto pela qualidade do código. Entre os principais critérios subjetivos de qualidade, analisaremos:
-
O uso apropriado de funções para abstrair subproblemas bem definidos, evitando repetição de código e facilitando a leitura.
-
A escolha de bons nomes de funções, variáveis, estruturas e arquivos.
-
O uso moderado de comentários para explicar algoritmos e trechos não triviais.
-
A ausência de vazamentos e outros erros de memória.
-
A correta utilização das estruturas de dados.
-
A eficiência e a correção dos algoritmos propostos.
Além dos critérios acima, a avaliação poderá levar em conta também outros critérios dependendo dos objetivos e complexidade da tarefa e que sirvam para educar os estudantes nas boas práticas de desenvolvimento de código e algoritmos.