Traduções desta página:

Ferramentas do usuário

Ferramentas do site


01_curso_atual:alunos:trabalho_final:start

Trabalho final

O curso do ano de 2020 foi adiado devido às restrições associadas à pandemia do Coronavírus e readapatado para uma versão totalmente remota. Devido a isso, o trabalho final será reorganizado, consistindo em atividade de exercicios na plataforma notaR.

O trabalho final da disciplina é criar uma função e sua página de ajuda, no formato usado pelo R. Cada aluno abrirá uma página no wiki para colocar seu trabalho. Caso ainda não tenha criado sua página, veja instruções em: Criando minha página no Wiki. Sempre que desejar acessar sua página entre no menu lateral na sessão Área Alunos link Wiki Alunos.

O que é?

  • O trabalho final consiste em publicar em sua página o código da função, o arquivo da função, e a página de ajuda.
  • A página de ajuda deve estar no formato do R (modelo disponível aqui).
  • O código da função e o texto de ajuda devem estar formatados como código em sua página (use o flag <code rsplus> … </code>, veja a seção de sintaxe do Dokuwiki).
  • Será que seu código é bom o suficiente? Veja aqui.

O que deve ter uma funcao

Etapas

Proposta

  1. Poste em sua página um texto curto com sua proposta de trabalho final.
  2. Prepare uma proposta alternativa (“plano B”), e também coloque na sua página.
  3. A equipe de professores e monitores postará na sua página a avaliação de viabilidade de sua proposta, e também dicas e sugestões.

A TAREFA

Sua função irá realizar uma tarefa, assim como um script de código. Para caracterizar uma tarefa como algo que merece ser colocado dentro de uma função, ou seja, ir além de um script, a tarefa deve ter algumas características:

  1. ser uma tarefa geral ou aplicável recorrentemente;
  2. fornecer ao usuário algumas opções de variações na tarefa;
  3. uma tarefa que saiba realizar, ou que possa aprender a realizá-la a tempo de entregar o trabalho.

A PROPOSTA

Passos para uma boa proposta

Uma boa proposta é um dos principais passos para um bom trabalho, não só nessa disciplina1). Investir em uma boa descrição da função vai poupar trabalho posterior e ajuda a valorizar seu trabalho final. Nossa experiência demonstra que boas propostas normalmente levam a bons/ótimos trabalhos e que propostas mal planejadas derivam trabalhos medianos, em geral com maior esforço associado. Abaixo algumas dicas e sugestões para a sua proposta:

  1. descreva claramente a tarefa que a função irá realizar, independente do contexto particular;
  2. evite iniciar a descrição da proposta com o seus dados e sua área de atuação, tente descrever a tarefa o mais independente possível do grupo taxonômico, área de atuação ou preferências religiosas ou sexuais!
    • troque: minha função ira tratar os dados da circunferência da barriga de coelhos da páscoa que coletei na semana santa e fazer um teste de permutação da diferença entre as médias do tamanho da pança de machos e fêmeas
    • por: a função irá tratar dados de duas variáveis quantitativas e gerar um teste de permutação da diferença entre as médias das variáveis
  3. caso sinta necessidade de explicar melhor a tarefa descrita no primeiro tópico, exemplifique o uso da função no contexto do seu trabalho (finalmente!), de preferência apenas como um dos usos da função!
  4. defina claramente os objetos e argumentos de entrada da função:
    • evite: entra os dados da planilha que coletei em campo
    • use: um vetor numérico quantitivo, um dataframe com variáveis x e y, um argumento lógico de exclusão de NA, um argumento que define o tipo de índice que será calculado com as seguintes opções…
  5. descreva claramente o objeto de saída e os gráficos gerados:
    • evite: vai gerar um analise de dados e um gráfico bonito
    • use: vai retornar um data-frame com as seguintes colunas…, uma lista com os seguintes resultados, um boxplot da variável y e um scatterplot de xy e a linha do modelo linear
  6. tente ser conciso, uma proposta muito longa dificulta a correção. Explicações específicas devem ser colocadas em linques externos. Caso tenha algum conceito importante e específico, crie um linque para uma fonte confiável.
  7. lembre-se: o R não faz mágica, se você não tem nenhum conhecimento sobre a tarefa que será executada pela sua função, vislumbramos dois caminhos: (1) aprender a fazer mágica; (2) pagar alguém que conheça a tarefa que será executada e domine o R! Desaconselhamos a buscar ambas as saídas: a mágica, porque não acreditamos e o programador porque vai sair caro!
  8. Buque uma tarefa factível, mas que ao mesmo tempo seja um desafio estimulante e que te tire da zona de conforto!

#ficadica Caso ainda esteja na dúvida de como escrever sua proposta, olhe as propostas dos coleguinhas dos anos anteriores! Explore!

Aqui vai um bom exemplo de proposta da ex-aluna e atual monitora Carol Mendonça

Cópia de código

O código livre tem como premissa que as pessoas podem utilizar o código alheio para modificar e disseminar.

Entretanto, se apoderar de código alheio sem o devido crédito ao autor, além de moralmente condenável, será interpretado como plágio pela equipe da disciplina. Incorporar parte de código de outros na sua função é permitido, desde que as linhas ou partes do código copiado sejam indicados claramente, assim como citada a fonte, tanto no código como na documentação da função.

Além disso, a função deve conter parte considerável de código de autoria própria, afinal, o trabalho avalia a capacidade de produzir uma função.

Caso a equipe entenda que houve plágio, definido aqui como cópia total ou parcial de código sem a indicação da fonte, a nota do trabalho será zero, o que ocasiona a reprovação do aluno. Caso a fonte esteja citada, a equipe avaliará se há construção de código próprio suficiente para caracterizar o bom desempenho do aluno, nesse caso a cópia não ocasionará nenhum penalidade ao aluno, e sua função será avaliada normalmente.

Minha função

  1. invista em uma boa proposta,
  2. use o fórum para postar dúvidas,
  3. lembre-se: os monitores querem ajudá-lo,
  4. não acabe com a paciência dos professores,
  5. não esqueça: vc. irá sobreviver!

O Código

TODAS AS LINHAS DO CÓDIGO DEVEM POSSUIR COMENTÁRIOS EXPLICATIVOS! TODAS!!

Os objetivos dessa exigência são:

  1. incentivá-los a cultivar o hábito saudável de sempre comentar seus códigos
  2. ajudar os monitores e professores a entender o código de vocês.
  3. ajudar futuros alunos que consultem suas funções a entender o código também.

A regra é clara: toda linha de código devem ter um comentário explicando o que a linha faz. Além disso, comentários gerais no começo ou no meio da função são bem vindos. A idéia é explicar cada passo da lógica da sua função. As únicas linhas de código que dispensam comentários são abre chaves e fecha chaves.

No Fórum tem um exemplo de uma função bem simples com comentários em todas as linhas Exemplo

A formatação do Trabalho Final

No inicio dessa página Trabalho Final há uma indicação clara sobre o formato de postagem da função e do help. Isso ajuda muito na correção e permite que usuários vejam o código da função sem a necessidade de baixar o arquivo em seus computadores.

São exigências muito simples de formatação, qualquer dúvida poste no fórum, converse com um monitor ou veja página dos alunos de outros anos.

Prazos

Os prazos foram mudados. Fique atento aos novos prazos.

  • Proposta (primeira versão): 07 de junho de 2019
  • Revisão final da proposta pelos professores e monitores: 12-14 de junho de 20192)
  • Produto final 01 de julho 2019

Quanto vale minha função?

Não sabemos! Uma boa função pode ter um valor inestimável. Imagine que sua função busque e ordene páginas web a partir de palavra(as) chaves3)? Valeria uma fortuna em 1995! No caso da disciplina, o trabalho final tem peso 7/10 na nota final, veja pesos da avaliação em Avaliação .

Pontos considerados na avaliação do trabalho final

  1. a função roda o exemplo do help;
  2. a função cumpre a descrição da proposta acordada;
  3. há generalidade no seu uso;
  4. a documentação é adequada e informativa;
  5. demonstra domínio básico da linguagem;
  6. os comentários são informativos;
  7. há redundâncias no código;
  8. complexidade da tarefa executada;
1)
no seu mestrado e doutorado tb“
2)
data prorrogada até dia 14 de junho devido a mudança na entrega das propostas
3)
antes do google, logicamente
01_curso_atual/alunos/trabalho_final/start.txt · Última modificação: 2020/09/23 17:14 por adalardo