Projeto Final

O objetivo do trabalho de conclusão de curso, ou também chamado projeto final, é avaliar se o aluno, com o conhecimento adquirido durante o curso, possui a capaz de solucionar um problema utilizando técnicas computacionais. Durante o desenvolvimento da solução, o aluno deverá ser capaz de construir uma metodologia científica para validar sua solução e, assim, avaliá-la e compará-la com os métodos tradicionais da literatura.

Sumário

Temas

No caso dos alunos de graduação, os temas seguem a minha linha de pesquisa, mas, de preferência, trabalhos voltados para a aplicação. Entre ela, a preferência é para aplicações nas quais possuam um impacto dentro da sociedade, mostrando assim que o conhecimento acumulado, pode e deve ser utilizado para o bem estar das pessoas.

Os temas seguem duas grandes linhas de pesquisa. A primeira, sendo a principal, é Inteligência Artificial. Essa é uma grande área e possui diversas subáreas. Dentro dessa as principais são:

  • Aprendizado de Máquina
  • Sistemas de Recomendação
  • Mineração de Dados

Uma outra área que possuo interesse é sobre Projetos de Sistemas onde o aluno irá realizar estudos sobre arquitetura, projeto e modelagem de sistemas. Sendo que, nesta área, o objetivo não é direcionada para a construção de sistemas, e sim, avaliar e prosperar modernas arquiteturas que estão sendo utilizadas no mercado ou na literatura.

Apesar dessas minhas preferências, o aluno poderá trazer outros temas. Contudo, eles deverão ser avaliados pois precisarei possuir algum interesse direto ou indireto no assunto. Desta forma, a escolha do tema é um acordo entre o orientador e o(s) aluno(s). Como o período médio de desenvolvimento do trabalho é de um ano, então é aconselhado que os alunos possuam um real interesse no tema e, assim, o trabalho consiga ser desenvolvido de forma mais agradável.

O aluno deverá cursar certas disciplinas para a elaboração do projeto final em um determinado tema. Essas disciplinas irão ajudá-lo a entender a área como o todo e, desta forma, otimizar o seu tempo durante a elaboração do projeto final. Essas disciplinas serão ofertadas durante o curso como obrigatórias e optativas. Poderá existir exceções. Segue a lista de disciplinas necessárias do PPC de 2020:

Legenda: Negrito - obrigatórias; Itálico - optativas.

Primeiros Passos

O desenvolvimento do projeto final pode ser dividido em cinco etapas:

  • Escolha do tema
  • Revisão Bibliográfica
  • Leitura da literatura específica
  • Elaboração da proposta
  • Desenvolvimento do texto científico

Essas etapas foram estipuladas por mim, não necessariamente todas as pesquisas possuírão exatamente essas etapas de forma fechadas e não necessariamente nesse ordem estipulada. Existem alguns autores que definem a ordem, mas o objetivo aqui é ser simples para o aluno entender o processo de pesquisa de modo geral pois ela irá ajudar na condução do desenvolvimento do projeto. Caso queira se aprofundar, o aluno poderá ler o livro ”Writing for Computer Science[1]. Cada etapa será detalhada abaixo.

  • Escolha do tema: Essa etapa, diferentemente da pós-graduação, é feita de forma livre. Essa etapa virá da experiência dos alunos durante o curso, principalmente através das matérias cursadas. Como a duração do desenvolvimento do projeto final é de um ano, torna-se inviável conhecer superficialmente a área e desenvolver o trabalho durante esse prazo. Desta forma, é necessário que o aluno faça certas matérias específicas para poder escolher o tema. Por exemplo, se o aluno deseja seguir a área de Sistemas de Recomendação, ele deverá cursar a optativa Introdução à Sistemas de Recomendação. Inclusive, o projeto final poderá ser uma extensão do trabalho final da cadeira, otimizando bastante o processo de desenvolvimento;

  • Revisão Bibliográfica: Neste momento, o aluno irá estudar a literatura e realizar uma pesquisa exploratória sobre a área. Ela já irá parcialmente acontecer durante as matérias, mas poderá ser utilizada durante esse ano. Principalmente para relembrar e fortalecer os principais conceitos da área e facilitar a escrita do texto científico. É aconselhável que o aluno leia não só os livros e artigos bases, e sim outros projetos finais, dissertações e teses. Por consequência, ele irá começar a entender os padrões de escritas de textos científicos e irá ajudar bastante no desenvolvimento do seu texto;

  • Leitura da literatura específica: Uma fase importante na metodologia científica é a etapa de comparação da sua proposta com as outras da literatura. Assim, o aluno levantará quais são os trabalhos e como eles resolvem o mesmo problema que esteja atacando. Dependendo, poderão ser incluídos trabalhos semelhantes, ou seja, que resolvam problemas similares ou correlatos, melhorando sua comparação.

  • Elaboração da proposta: Estudo das possíveis contribuições, tendo em conta a literatura pesquisada dos passos anteriores, que possam ser exploradas. Por fim, elaborando uma proposta com uma contribuição para a área. No caso do projeto final, essa contribuição não precisará ser inovadora, única ou melhor que todos as abordagens levantadas na etapa anterior. O importante é a capacidade do aluno desenvolver, utilizando a metodologia científica, a resolução de um problema computacional. Essa etapa é crucial, pois ela irá determinar todos as etapas seguintes e, ela bem feita, otimizará o tempo do desenvolvimento em si da proposta. Nela está contida também a modelagem de como resolver o problema e a definição de quais ferramentas serão utilizadas;

  • Desenvolvimento: Essa etapa é autoexplicativa e irá ser o desenvolvimento em si da proposta. Em alguns casos, também haverá a necessidade de desenvolver, quando não disponíveis, as outras soluções da literatura. Desta forma, o aluno poderá conseguirá comparar sua solução com as demais;

  • Desenvolvimento do texto científico: Ao final, o aluno irá relatar todos os demais passos em um texto que será apresentado para a banca. Em outra seção, será discutido melhor sobre a construção desse relatório técnico;

Texto Acadêmico

O aluno deverá criar um relatório técnico que será entregue para uma banca julgadora para avaliar o seu trabalho. Esse relatório será constituído por uma monografia em que irá explicar a área, o problema, a solução e como ela se comportou em comparado as outras soluções da literatura. O aluno deverá escrever utilizando a ferramenta chamada LaTeX. Essa ferramente é um sistema de elaboração de texto em que não precisa se preocupar com a formatação, diferentemente dos editores WYSIWYG como Microsoft Word, LibreOffice Writer e Apple Pages.

O aluno deverá utilizar o template do meu repositório no GitHub. Primeiramente, deverá ser feito um fork do projeto e após poderá começar a escrita do projeto. A minha recomendação é utilizar o editor online OverLeaf. Essa ferramente é um editor online de LaTeX, não precisando configurar o ambiente para compilar o projeto. Além disso, ele possui integração com o GitHub, facilitando mais o desenvolvimento.

Neste template contém todo projeto configurado e, além disso, possui uma breve explicação do que escrever em cada capítulo e alguns exemplos de código em LaTeX para facilitar o seu uso. Em alguns posts deste site, eu explico como é a escrita científica. Segue abaixo os materiais:

Referências

[1] Zobel, Justin. Writing for computer science. 3rd ed. New York NY: Springer, 2014.