====== 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;