Propostas com alunos

DEI - FCTUC
Gerado a 2024-04-28 18:25:51 (Europe/Lisbon).
Voltar

Titulo Estágio

CodeInsights

Áreas de especialidade

Engenharia de Software

Local do Estágio

DEI-FCTUC

Enquadramento

O processo de ensino/aprendizagem de programação apresenta diversos desafios quer para os docentes, quer para os alunos. Diversos estudos demonstraram que a forma de aprendizagem de programação passa por praticar frequentemente os conceitos que vão sendo apresentados ao longo das aulas com a supervisão de um docente.
Por forma a facilitar este processo de acompanhamento, foi criado o sistema CodeInsights que permite que o docente consiga monitorizar remotamente a performance das turmas e de cada aluno de forma individual. Do ponto de vista dos alunos, apenas é necessário que procedam à instalação de um plug-in no ambiente de desenvolvimento utilizado (e.g. Eclipse, IntelliJ, CLion, Atom, etc.). Sempre que compilarem o código e/ou guardarem os ficheiros, será enviado um snapshot do seu código para um servidor para ser analisado ficando a informação imediatamente disponível para os docentes. Aos docentes são, pois, disponibilizadas diversas ferramentas e visualizações que lhe permitam acompanhar a performance dos alunos e fornecer feedback personalizado sempre que necessário. O sistema permite ainda funcionalidades de auto-grading que permitem corrigir automaticamente as submissões dos alunos e fornecer-lhes de imediato algum feedback.
Por terem sido identificadas diversos aspetos que podem ser melhorados e diversas novas funcionalidades que podem ser implementadas, pretende-se proceder ao desenvolvimento de uma nova versão deste sistema. Em particular, pretende-se a sua integração com o LMS Moodle, sob a forma de um plugin.
No que diz respeito a tecnologias, a versão mais recente do sistema foi implementada utilizando PHP com linguagem de programação server-side e HTML/ CSS/ JavaScript (jQuery e Vanilla) como linguagens/tecnologias cliente-side. Além disso são utilizadas diversas outras bibliotecas de suporte a funcionalidades específicas (e.g. Google Charts, JSDiff). Será de esperar que na nova versão continuem a ser utilizadas estas mesmas tecnologias, não estando em todo o caso colocada de parte a possibilidade de virem a ser utilizadas outras, caso tal se justifique, nomeadamente em função da integração com o Moodle.

Objetivo

O estudante que vier a assumir esta proposta de projeto deverá:
- Familiarizar-se com a ferramenta já desenvolvida e com outras ferramentas com objetivos semelhantes já existentes.
- Analisar, planear, conceber e implementar as novas funcionalidades e as melhorias necessárias;
- Efetuar testes de performance/carga;
- Efetuar uma avaliação exploratória do ambiente com utilizadores;
- Escrever um artigo científico a submeter a uma conferência ou revista da área

Plano de Trabalhos - Semestre 1

- Análise da arquitetura e do código fonte da versão atual do sistema;
- Análise de plataformas de ensino/aprendizagem de programação com objetivos similares ao pretendido;
- Familiarização com as tecnologias necessárias ao desenvolvimento da nova versão da ferramenta;
- Identificação e especificação dos requisitos de novas funcionalidades e de melhorias às funcionalidades já disponibilizadas;
- Implementação de alguns dos requisitos previamente identificados;
- Escrita do relatório intermédio

Plano de Trabalhos - Semestre 2

- Continuação da implementação dos requisitos identificados;
- Realização de testes de performance/carga;
- Avaliação do ambiente envolvendo utilizadores;
- Escrita de um artigo científico sobre o projeto.
- Escrita da dissertação final

Condições

Este estágio poderá ser apoiado financeiramente através da atribuição de uma bolsa de investigação para alunos de mestrado.

Orientador

António José Mendes
toze@dei.uc.pt 📩