====== Trabalho final ======
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: [[bie5782:01_curso_atual:usowiki]]. Sempre que desejar acessar sua página entre no menu lateral na sessão **Área Alunos** link [[bie5782: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 {{:bie5782: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 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!**
==== 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): **01 de junho de 2017**
* Revisão final da proposta pelos professores e monitores: **09 de junho de 2017**
* Produto final **25 de junho 2017**
===== 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 [[bie5782: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;