| English | Português |
Só cerca de metade dos alunos online da Open University (Reino Unido) termina o curso com aprovação. Este projeto pergunta quem não conclui, quando desiste e quão cedo um modelo de alerta precoce os consegue identificar. Usa o Open University Learning Analytics Dataset: 32 593 inscrições, 7 cursos, 2013–2014 e 10,6 milhões de registos de cliques.
Os notebooks e o código estão em inglês, para chegar a um público mais alargado.
Dados: OULAD (Kuzilek, Hlosta e Zdrahal, 2017), através do repositório UCI.
Resumo em linguagem simples: abre o dashboard online (código), uma página de síntese para quem não é técnico, em inglês e português.
Outros projetos: Dados da educação em Portugal · Previsão de toxicidade Tox21 · Porque param os ensaios clínicos
Muitos alunos desligam-se em silêncio. Entre os alunos ainda inscritos na semana 8 que não entraram na plataforma nessa semana, 47% acabam por reprovar e só 21% anulam formalmente a inscrição. Um modelo que só prevê desistências formais não os vê.

O comportamento pesa mais do que o perfil. O perfil sozinho prevê mal (ROC-AUC 0,63). Juntando a atividade online e os trabalhos, chega a 0,76 na semana 4 e 0,80 na semana 8, com o modelo treinado nos cursos de 2013 e testado nos de 2014.

src/build_dataset.py descarrega o OULAD; cria tabelas de alunos, cliques diários por tipo de atividade e trabalhos
src/features.py snapshot(dia): variáveis e alvos para todos os alunos ainda inscritos num dado dia
src/style.py estilo comum dos gráficos
notebooks/01_explore_oulad.ipynb resultados, perfil, momento da desistência, curvas de atividade, desligamento silencioso
notebooks/02_early_warning.ipynb escolha do alvo, AUC ao longo do tempo, vista do tutor, importância das variáveis, curso novo, equidade
figures/ gráficos exportados
course-completion-at-a-glance.html dashboard em linguagem simples
pip install -r requirements.txt
python src/build_dataset.py # descarrega 47 MB, cerca de um minuto
jupyter notebook notebooks/