====== 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: [[01_curso_atual:usowiki]]. Sempre que desejar acessar sua página entre no menu lateral na sessão **Área Alunos** link [[01_curso_atual:alunos:start|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 {{:01_curso2009:material:modelo_help.txt|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// '' ...
'', veja a [[wiki:syntax#non-parsed_blocks|seção de sintaxe do Dokuwiki]]).
* Será que seu código é bom o suficiente? Veja [[http://www.nature.com/news/2010/101013/full/467753a.html|aqui]].
O que deve ter uma funcao
===== Etapas =====
==== Proposta ====
- Poste em sua página um texto curto com sua proposta de trabalho final.
- Prepare uma proposta alternativa ("plano B"), e também coloque na sua página.
- 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:
- ser uma tarefa geral ou aplicável recorrentemente;
- fornecer ao usuário algumas opções de variações na tarefa;
- 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 disciplina((no seu mestrado e doutorado tb")). 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:
- descreva claramente a tarefa que a função irá realizar, independente do contexto particular;
- 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 //
- 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!
- 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... //
- 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//
- 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.
- 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!
- 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 [[http://ecologia.ib.usp.br/bie5782/doku.php?id=05_curso_antigo:r2017:alunos:trabalho_final:carol.mendonca.bio:start|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 ====
- invista em uma boa proposta,
- use o fórum para postar dúvidas,
- lembre-se: os monitores querem ajudá-lo,
- não acabe com a paciência dos professores,
- 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:
- incentivá-los a cultivar o hábito saudável de sempre comentar seus códigos
- ajudar os monitores e professores a entender o código de vocês.
- 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
[[http://bie5782.138098.n3.nabble.com/Aviso-Importante-sobre-o-trabalho-final-td4026734.html|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 2019**((data prorrogada até dia 14 de junho devido a mudança na entrega das propostas))
* 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) chaves((antes do google, logicamente))? 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 [[01_curso_atual:notas2011]] .
__//**Pontos considerados na avaliação do trabalho final**//__
- a função roda o exemplo do help;
- a função cumpre a descrição da proposta acordada;
- há generalidade no seu uso;
- a documentação é adequada e informativa;
- demonstra domínio básico da linguagem;
- os comentários são informativos;
- há redundâncias no código;
- complexidade da tarefa executada;