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

[object Object]
Feedback Formativo
Ensino de Lógica e Extensão
Sem CEP
Data de Publicação

14/11/2026

Data de Modificação

14/11/2026

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)

  1. Especificar a arquitetura do DOMjudge Educacional preservando intacto o núcleo seguro de execução (JudgeHost / DOMserver API 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;
  2. 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;
  3. 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.md entre 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 (arquitetura DOMserver/JudgeHost e 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:

  1. Por que esse tema chamou sua atenção?
  2. Você tende mais para estender o DOMjudge internamente (Symfony/Twig) ou construir um portal desacoplado sobre a API REST do DOMjudge?
  3. Qual sua disponibilidade semanal estimada para o TCC?
De volta ao topo