Ambiente Educacional do DOMjudge: Gestão de Disciplinas, Trilhas Contínuas (CS1–CS3) e Portal Pedagógico
Extensão arquitetural sobre o DOMjudge para substituir o modelo rígido de contests pontuais por disciplinas, listas temáticas, evolução por Skill e console docente
Código: TCC 16 · Trilha: Trilha 1: Sistemas e Juízes · Status: Disponível · Modalidade: Sistema / Arquitetura Web + Pesquisa Aplicada · Perfil: Individual · Complexidade: Alta · Regime Ético: Sem CEP (Computacional na etapa técnica)
1. Contexto e Problema
O DOMjudge foi concebido originalmente para competições presenciais e cronometradas no estilo Maratona SBC/ICPC: sua unidade central é o contest temporizado com scoreboard competitivo e penalidade por tempo/tentativa incorreta. Mesmo com o plugin WOKDEX injetando diagnóstico pedagógico pós-julgamento (cap05-implementacao.tex), o ambiente nativo ainda carece de uma camada estruturada de Ambiente Educacional voltada ao semestre letivo e à prática contínua.
Nos materiais arquivados da tese (cap05-instrumento-validacao-expandido.tex, cap05-gamificacao-contests.tex e conceptual_model.md), delineou-se a visão de um DOMjudge Educacional organizado em Curso -> Tópico -> Problema -> Skill, com suporte a unidades contínuas (CS1, CS2, CS3), catálogo navegável por tema/dificuldade A–E, histórico formativo do estudante e visão docente de acompanhamento — arquitetura que nunca foi formalizada e validada como produto de engenharia separado do modo competitivo.
2. O que será feito (Objetivos Técnicos e Escopo)
- Especificar a arquitetura do DOMjudge Educacional preservando intacto o núcleo seguro de execução (
JudgeHost/DOMserverAPI v4) e adicionando a camada pedagógica de Disciplinas/Cursos, Listas Contínuas (Tópicos/Unidades), Trilhas (CS1–CS3 / OBI / ProgramAÇO) e Catálogo de Problemas por Skill e Temática; - Implementar o protótipo funcional (via extensão Symfony/Twig no DOMjudge ou portal sidecar Web integrado por REST/OAuth2 à API do DOMserver e ao motor WOKDEX) contemplando:
- Visão Estudante: trilhas organizadas por disciplina/tópico e nível A–E, histórico de evolução diagnóstica (
CE -> MISCONCEPTION -> FUNCTIONAL -> AC), filtros por temática (SkillThematica) e painel de progresso individual sem exposição punitiva em ranking; - Visão Docente: importação de pacotes WOKDEX, composição de listas/módulos semestrais ou simulados avaliativos (polimorfismo Aula vs. Contest), liberação escalonada de prazos/dicas e acompanhamento agregado por tópico;
- Visão Estudante: trilhas organizadas por disciplina/tópico e nível A–E, histórico de evolução diagnóstica (
- Conduzir avaliação técnica comparativa (funcionalidade, aderência aos requisitos de CS1–CS3, testes de integração ponta a ponta e desempenho sob carga simulada) em relação ao DOMjudge padrão e a alternativas como Moodle VPL.
3. Perguntas para você refletir
Se você se identifica com as questões abaixo, este tema pode ser uma boa escolha:
- Vale mais estender diretamente os templates/controladores Symfony do DOMserver ou construir um Portal Educacional desacoplado consumindo a API REST v4 e a fila de julgamentos do DOMjudge?
- Como modelar no mesmo banco o polimorfismo previsto em
conceptual_model.mdentre um Tópico Temático (lista de aula contínua sem penalidade) e um Tópico Avaliativo (prova ou simulado cronometrado)? - Que indicadores visuais substituem o scoreboard tradicional ICPC para motivar iniciantes sem gerar ansiedade competitiva?
4. Divisão Sugerida (TCC 1 e TCC 2)
- TCC 1: Levantamento de requisitos educacionais de CS1–CS3 e extensão (ProgramAÇO), análise da API v4 e estrutura interna do DOMjudge, modelagem conceitual (
Curso/Tópico/Problema/Skill) e arquitetura da solução. - TCC 2: Implementação dos fluxos de estudante e docente integrados ao
DOMserver/WOKDEX em Docker, testes automatizados de integração e benchmark de carga/desempenho (qualquer futuro estudo empírico com alunos ficará condicionado a CEP posterior).
5. Entregáveis e Métricas de Avaliação
6. Pré-requisitos e Tecnologias Sugeridas
- Base necessária: Engenharia de Software, Desenvolvimento Web (Back-end + Front-end), Banco de Dados SQL, APIs REST e Docker.
- Tecnologias e conceitos envolvidos: DOMjudge API v4, PHP/Symfony/Twig ou FastAPI/React/Next.js, PostgreSQL/MySQL, Docker Compose, modelagem WOKDEX.
7. Origem e Ponto de Partida
- Origem na pesquisa WOKDEX:
cap05-implementacao.tex(arquiteturaDOMserver/JudgeHoste extensão TEAM);apendices/arquivo-editorial/cap05-instrumento-validacao-expandido.tex(proposta histórica de Mini-App/interface estudante e visão docente sobre DOMjudge);apendices/arquivo-editorial/cap05-gamificacao-contests.tex(mapeamento de contests como unidades de aprendizagem);apendices/wokschema/0000-metadata-scheme/documentation/conceptual_model.md.
- Leia também o guia Estratégia de Distribuição e Trilhas CS1–CS3 e Metodologia e Ética.
8. Como demonstrar interesse
Antes de agendarmos uma conversa, prepare respostas curtas para:
- Por que esse tema chamou sua atenção?
- Você tende mais para estender o DOMjudge internamente (Symfony/Twig) ou construir um portal desacoplado sobre a API REST do DOMjudge?
- Qual sua disponibilidade semanal estimada para o TCC?