DOMjudge Educacional, Estratégia CS1–CS3 e Trilhas de Exercícios
Proposta arquitetural de ambiente educacional sobre o DOMjudge e estratégia multi-eixo de distribuição de exercícios por competências (CS1–CS3), dificuldade A–E e temáticas
Navegação rápida: ← Voltar ao Catálogo de TCC · Áreas e Trilhas de Pesquisa → · Metodologia e CEP →
Este documento sistematiza duas frentes complementares do ecossistema WOKDEX voltadas diretamente à prática docente e discente no CEFET-MG Campus Timóteo e nos projetos de extensão (ProgramAÇO / IPC / Maratona SBC):
- A concepção do Ambiente Educacional do DOMjudge (evoluindo um juiz de competições pontuais para uma plataforma contínua de ensino);
- A Estratégia de Distribuição de Exercícios, Temáticas e Trilhas de Aprendizagem articulando a progressão curricular CS1 → CS2 → CS3 (
acm_cs_levels.md), a escala A–E e o eixo motivacional de Temáticas (SkillThematica).
1. A Proposta do Ambiente Educacional sobre o DOMjudge
O DOMjudge padrão resolve com excelência a execução segura e escalável de competições no modelo ICPC (contests fechados, scoreboard por penalidade de tempo e veredito binário). Entretanto, para o cotidiano de disciplinas como Técnicas de Programação, Algoritmos e Estruturas de Dados (CS1–CS3) ou oficinas de extensão, o modelo competitivo puro impõe barreiras aos iniciantes.
Inspirado no conceptual_model.md e nos módulos educacionais documentados nos arquivos do projeto (cap05-instrumento-validacao-expandido.tex, cap05-gamificacao-contests.tex), o DOMjudge Educacional propõe preservar o motor de isolamento (JudgeHost / runguard / cgroups) e reorganizar a camada de experiência em quatro entidades:
Pilares do DOMjudge Educacional (Base do TCC 16)
- Polimorfismo Aula vs. Contest: um mesmo repositório de problemas pode alimentar listas semanais contínuas (sem relógio punitivo nem exposição pública de erros) ou simulados cronometrados (estilo OBI / Maratona SBC).
- Feedback Diagnóstico na Interface do Estudante: em vez de apenas
WAouTLE, a interface exibe a trilha de cenários WOKDEX (SAMPLE,FUNCTIONAL,MISCONCEPTION,PERFORMANCE), a faixa estimada A–E e dicas progressivas não reveladoras. - Progresso por Competência (
Skill) em vez de Contagem Bruta: resolver 10 problemas idênticos deEntrada e Saída(Nível E) não mascara uma lacuna emLaçosouRecursão; o painel acompanha cobertura real por tópico. - Desbloqueio e Navegação Não Linear: estudantes podem seguir a ordem curricular sugerida pelo docente ou desviar para uma trilha de reforço quando um padrão
MISCONCEPTIONse repete.
2. Matriz Curricular Integrada: O Modelo da Maratona (CS1 → CS2 → CS3)
A distribuição temática de conteúdos segue a metáfora progressiva documentada em cap04-ontologia-progresso-expandida.tex e detalhada nos arquivos curriculares cs1_estrutura_disciplinar.yaml, cs2_estrutura_disciplinar.yaml, cs3_estrutura_disciplinar.yaml e tecnicas_programacao_complementar.yaml:
| Estágio (Maratona) | Nível ACM / Disciplina | Faixas A–E | Tópicos Nucleares (WOKDEX) | Barreira Cognitiva Principal |
|---|---|---|---|---|
| 5K (Iniciante) | CS1 — Fundamentos (SDF) |
E → D | Introdução/Von Neumann; Variáveis e Precedência ([01, 458]); Entrada/Saída e Matemática ([02, 13]); Condicionais ([04, 05]); Laços while/for e Depuração ([07, 08, 03]). |
Construção do modelo mental de execução (fluxo sequencial, estado de variáveis e desvio). |
| 10K (Intermediário) | CS1 / Transição CS2 | D | Vetores ([10]), Caracteres e Strings ([09, 11]), Matrizes ([12]), Funções/Modularização ([14, 06]), Registros/structs e Ordenação básica ([16]). |
Abstração de dados e indexação composta (além de erros off-by-one em coleções). |
| Meia-Maratona | CS2 — AED & Complexidade (AL/Basic) |
D → C | Notação Big-O ([18]); Recursão e Divisão e Conquista ([15, 660]); Busca Linear/Binária ([20]); MergeSort ([22]); Pilhas, Filas, Listas, Set/Map/Priority Queue ([53–60]); Árvores Binárias; TADs; Primos e MDC ([43, 44]). |
Ponteiros, alocação, referências e salto de correção funcional para eficiência assintótica (TLE vs. AC). |
| Maratona (Elite) | CS3 — Técnicas Avançadas (AL/DS) |
B → A | Gulosos ([19]); Backtracking; Programação Dinâmica ([21, 24, 26, 27]); Grafos — Flood Fill, Dijkstra, MST, Floyd-Warshall, Fluxo ([30–37]); Union-Find ([59]); SegTree e BIT ([61, 62]); Combinatória, Teoria dos Números e Geometria ([49–51]). |
Pensamento não linear e modelagem de grafos/subestrutura ótima. |
3. Eixo Ortogonal de Temáticas (SkillThematica)
Um erro frequente em plataformas de exercícios é confundir dificuldade de domínio narrativo com dificuldade algorítmica. A taxonomia em hierarchy-thematic.md resolve isso rotulando cada problema simultaneamente com sua Skill computacional e sua SkillThematica, agrupadas em quatro grandes famílias motivacionais:
Ciências, Engenharia e Vocação Regional
- Subtemas (
hierarchy-thematic.md): Engenharia ([36]), Metalurgia ([117]— aderente ao polo industrial do Vale do Aço), Física/Projéteis ([32, 34]), Biologia/Mendel ([26, 27]), Química ([35]), Equações ([29, 30]) e Criptografia ([46]). - Uso pedagógico: ideal para contextualizar CS1/CS2 em cursos de Engenharia e mostrar aplicação concreta de vetores, matrizes e matemática computacional.
Vida Urbana, Cotidiano e Logística
- Subtemas: Cotidiano (
[44]), Comércio ([45]), Infraestrutura ([115]), Vida Urbana e Logística ([410]), Trânsito e Cidades ([411]), Entregas e Correios ([412]). - Uso pedagógico: reduz barreira de entrada no início de CS1 (enunciados familiares) e serve de ponte natural para Grafos, Menor Caminho e TSP no CS3.
Jogos, Estratégia e Ficção
- Subtemas: Jogos de Carta/Tabuleiro (
[37]), Xadrez ([41]), RPG e Medieval ([401]), Ficção Científica ([402]), Terror e Zumbis ([403]). - Uso pedagógico: altamente eficaz para simulações de estado, matrizes/tabuleiros, Flood Fill (
BFS/DFS), busca em profundidade/backtracking e teoria dos jogos (MinMax).
Esportes, Cultura Pop e Sociedade
- Subtemas: Esportes e Lazer (
[420]), Futebol ([421]), Corridas ([422]), Parques ([423]), Filmes/Séries ([431]), Música ([432]), Redes Sociais ([433]), História/Geografia/Português ([39, 42, 43]). - Uso pedagógico: amplia representatividade e engajamento (especialmente em ações como Meninas nas Exatas do ProgramAÇO), evitando listas monotemáticas ou excessivamente militarizadas.
4. Estratégia de Distribuição de Exercícios por Unidade
Para que uma lista semanal ou trilha autoguiada evite tanto o tédio quanto o bloqueio precoce, propõe-se distribuir cada Tópico (Unidade) segundo três regras operacionais (tema direto do TCC 17):
Regra 1 — Escada de Dificuldade (40% Aquecimento · 40% Consolidação · 20% Desafio)
Em qualquer tópico (ex.: [08] Repetição For em CS1 ou [32] BFS/DFS em CS3), uma bateria típica de 5 a 10 exercícios deve respeitar a curva:
| Camada da Lista | Proporção | Papel Pedagógico | Nível Relativo (Escala A–E) | Cenários WOKDEX Prioritários |
|---|---|---|---|---|
| 1. Aquecimento e Modelo Mental | ~40% | Validar sintaxe básica do conceito novo com enunciado direto (Cotidiano / Escola). | Nível base do tópico (ex.: E em CS1; D em CS2) |
SAMPLE + FUNCTIONAL elementar |
| 2. Consolidação e Casos de Borda | ~40% | Exigir combinação com pré-requisitos e tratamento de exceções (off-by-one, overflow, empate). | Nível pleno do tópico (ex.: D em CS1; C em CS2) |
MISCONCEPTION clássicos do tópico |
| 3. Desafio e Eficiência / Extensão | ~20% | Opcional/bônus para estimular otimização assintótica ou modelagem temática mais rica. | +1 degrau acima (ex.: C em CS1; B/A em CS3) |
PERFORMANCE (TLE) + restrições de escala |
Regra 2 — Rotação Temática com Baixa Carga Extrínseca
- Nos primeiros exercícios de um tópico novo (Camada 1), priorizar temáticas transparentes (Cotidiano, Comércio, Escola) para não somar dificuldade de interpretação textual à barreira sintática.
- Na Camada 2 e 3, rotacionar obrigatoriamente entre famílias de
SkillThematica(Engenharia/Metalurgia ↔︎ Jogos/Tabuleiro ↔︎ Logística ↔︎ Cultura Pop/Esportes), impedindo que o aluno associe erroneamente uma estrutura (ex.:Matriz) apenas a um único contexto (ex.: “só serve para tabela de notas”).
Regra 3 — Distribuição Espiral (70% Foco Atual · 20% Revisão Espaçada · 10% Síntese)
Em vez de isolar cada tópico em ilhas estanques, cada lista quinzenal inclui: * 70% de problemas da Skill principal da semana; * 20% de problemas de reforço resgatando tópicos de 2–3 semanas atrás (evitando esquecimento de laços/strings ao chegar em funções ou grafos); * 10% de problemas integradores preparatórios (ponte para a próxima etapa ou simulado).
5. As 5 Trilhas de Exercícios que o Aluno Pode Seguir
Com o DOMjudge Educacional e os metadados WOKDEX (Skill × SkillThematica × A–E), o estudante não fica restrito a uma única lista linear — ele pode percorrer (ou alternar entre) cinco trilhas estruturadas:
- Trilha 1 — Iniciação e Base Lógica (5K / OBI Iniciação & ProgramAÇO):
- Público: calouros com pouca experiência prévia, Ensino Técnico e escolas parceiras do ProgramAÇO / IPC.
- Percurso: Programação em Blocos (Scratch/Blockly — ver TCC 12) ou CS1 inicial (
[01, 02, 04, 07, 08]), níveis E–D, temáticas de Cotidiano, Jogos e Cultura Pop, sem limite punitivo de tempo.
- Trilha 2 — Formação Curricular Completa (10K / CS1 → CS2):
- Público: estudantes regulares de Engenharia de Computação cursando Programação I/II e AED1.
- Percurso: segue o espinhaço
cs1_estrutura_disciplinar.yaml→cs2_estrutura_disciplinar.yaml(vetores, strings, matrizes, funções, recursão, Big-O, busca binária, ordenação e estruturas lineares STL/TADs), níveis E → C.
- Trilha 3 — Trilha Adaptativa de Reforço Diagnóstico (Superação de Misconceptions):
- Público: estudantes que acumulam repetições de
WAouTLEem um mesmo cenário diagnóstico. - Funcionamento: quando o motor WOKDEX identifica um padrão recorrente (ex.: erro off-by-one em laços ou complexidade quadrática em busca), abre uma micro-trilha de 2–3 exercícios curtos focados exclusivamente naquela barreira antes de retornar à lista principal (conectada aos TCCs 08, 15 e 17).
- Público: estudantes que acumulam repetições de
- Trilha 4 — Competitiva e Algoritmos Avançados (Meia-Maratona & Elite / CS3 & SBC):
- Público: alunos de Técnicas de Programação (
tecnicas_programacao_complementar.yaml), times da Maratona SBC / Maratona Mineira e OBI Modalidade Programação Sênior. - Percurso:
CS2intensivo +CS3completo (Gulosos, DP clássica, Backtracking, GrafosBFS/DFS/Dijkstra/MST/Fluxo, SegTree/BIT, Teoria dos Números e Geometria), níveis C → A, alternando listas temáticas e simulados cronometrados de 3–5 horas.
- Público: alunos de Técnicas de Programação (
- Trilha 5 — Percursos por Interesse Temático (Engenharia, Logística ou Jogos):
- Público: estudantes que buscam maior conexão com sua área de afinidade enquanto cumprem os requisitos técnicos de CS1–CS3.
- Funcionamento: aplica um filtro de
SkillThematicasobre o catálogo (por exemplo, “Fio Engenharia & Vale do Aço” priorizando Metalurgia/Física/Infraestrutura/Logística, ou “Fio GameDev & Simulação” priorizando Tabuleiro/RPG/Ficção Científica), mantendo intactas as competências computacionais avaliadas.
TCCs Relacionados a Esta Frente
- TCC 16 — Ambiente Educacional do DOMjudge: Gestão de Disciplinas, Trilhas Contínuas (CS1–CS3) e Portal Pedagógico
- TCC 17 — Motor de Distribuição Curricular e Trilhas de Exercícios (CS1–CS3 × Temáticas × Escala A–E)
- TCC 08 — Motor Ontológico ACM CS2013–WOKDEX e Sistema de Recomendação Avaliado Offline
- TCC 12 — Extensão do WOKDEX Schema para Programação em Blocos (Scratch/Blockly) no ProgramAÇO/IPC
- TCC 14 — Engenharia de Usabilidade, Acessibilidade (WCAG) e Avaliação da Interface TEAM
- TCC 15 — Gamificação Orientada a Superação de Erros (
LevelUP+/Insígnias) e Estratégias de Dica