Referência para alinhar o catálogo de skills com disciplinas (ACM CS1–CS3 e trilha WOK: PC1, AED I/II, técnicas).
Os slug em inglês refletem a padronização recomendada; até sincronizar o JSON com o banco, alguns nomes no cache podem diferir.
Papel na catalogação: use conceitos (skill_nature = concept) para tópicos “ensináveis” e
instrumentos (instrument) para algoritmos concretos ou padrões de exercício. Temas de enunciado ficam em context (temático).
Visão clássica por nível; útil para comparar com bibliografia internacional e com o courses.json (acm_level).
Variáveis, fluxo, estruturas básicas, vetores/strings, funções introdutórias, matrizes.
basic-programmingvariables, input-output, selection / condicionaiswhile-loop, for-looparrays (acesso e percurso simples)expressoes-precedencia-operadores (ou equivalente de expressões)do-while, nested-loopsstrings, charactersfunctions — definição, function-parameters, scope-lifetimevetor-varredura-busca-linearmatricesrecursion (introdução leve, sem exigir provas)foreach / iteradores (se a linguagem do curso usar)file-handling / E/S em arquivo (opcional por ementa)Complexidade, recursão, ordenação, busca, estruturas lineares e hash.
complexity (onde existir)recursion (exemplos clássicos)sorting — bubble-sort, selection-sort, insertion-sortbinary-searchstacks, queues, dynamic-arraymergesort, quicksortlista (listas encadeadas simples / duplas)hashing — mapa / conjunto, colisões (conceito)counting-sort, radix-sort, bucket-sortdeque / filas especiais (se no catálogo)two-pointers-array em vetor ordenadoÁrvores de busca, heaps, strings avançadas, grafos e fluxo.
nonlinear-structures — trees, binary-tree-traversals, bst-operationsgrafos — representação, BFS, DFStopological-sort (intro)minimum-spanning-tree + union-find-dsutree-rotations-avl / balanceamento (conforme ementa)priority-queue-heapford-fulkerson ou equivalente no catálogo)paradigms — greedy-algorithms, dynamic-programming (modelos introdutórios)trie-suffix, huffman-coding, lzw-compressionsegment-tree, fenwick-tree, lazy / persistentecentroid-decomposition, emparelhamento / coloração (se existir)digit-dp como extensão de dynamic-programmingcourses.json)
Alinhamento aos cursos Programação de Computadores, AED I, AED II e Técnicas Avançadas.
Até matrizes inclusive (curso cs1). Sem AED linear nem grafos.
basic-programming — variables, input-output, selection, loops (while, for)arraysstrings, characters, functions + function-parametersnested-loops, do-whilematrices (teto do PC1)expressoes-precedencia-operadores, io-formatacao-parsingrecursion leve; scope-lifetimesimulation-ad-hoc em problemas introdutóriosComplexidade, recursão, ordenação, busca binária, vetor dinâmico, listas, pilhas, filas.
complexityrecursionsorting — bubble-sort, selection-sort, insertion-sortbinary-searchstacks, queues, dynamic-arraymergesort, quicksortlista (simples / dupla)hashing (últimas semanas, conforme courses.json)counting-sort, radix-sort, bucket-sortprefix-sum-difference-array, two-pointers-arraydp-space-optimization em modelos muito simples (opcional)Hash, árvores, heaps, texto, grafos e estruturas avançadas.
hashing / mapastrees, binary-tree-traversals, bst-operationsgrafos — representação, BFS, DFScounting-sort, radix-sort, bucket-sort (bloco ordenação linear)tree-rotations-avl / rubro-negra (se na ementa)priority-queue-heap, huffman-codingtrie-suffix, lzw-compressiontopological-sort, SCC, minimum-spanning-tree, caminhos mínimos, fluxounion-find-dsusegment-tree, fenwick-tree, segment-tree-lazy, persistentecentroid-decomposition, tree-euler-tour, tree-lcadp-on-tree combinado com estruturasParadigmas e modelos para maratona / aprofundamento (curso tecnicas).
paradigms — greedy-algorithms, divide-and-conquerdynamic-programming — dp-states-transitions, dp-memoization, dp-tabulationknapsack-01, coin-change, longest-increasing-subsequence (base)dp-on-grid, dp-on-intervals, longest-common-subsequence, edit-distancedp-on-tree, dp-solution-reconstructionmeet-in-the-middle, simulation-ad-hoc, bitmask-subsets, dp-bitmaskmathematical-induction; ramo mathematics — prime-numbers, gcd-euclides, combinatóriagrafos (BFS/DFS, caminhos, MST) conforme semanasdigit-dp, matrix-chain-multiplication, subset-sum-partitiondp-dag-path, fluxo em redes, estruturas do AED II em problemas mistosgeometry) conforme catálogo| Tópico | PC1 | AED I | AED II | Técnicas |
|---|---|---|---|---|
| Variáveis / E/S / seleção / laços | ● | ○ reforço | — | — |
| Arrays, strings, funções, matrizes | ● | ○ | — | — |
| Complexidade + recursão | ○ | ● | ○ | ● |
| Ordenação + busca binária | — | ● | ○ linear | ● |
| Listas, pilhas, filas, vetor dinâmico | — | ● | ○ | ○ |
| Hash | — | ○ | ● | ○ |
| Árvores / heaps / texto | — | — | ● | ● |
| Grafos | — | — | ● | ● |
| Gulosa, D&C, PD, ad hoc | — | ○ | ○ | ● |
● = núcleo do curso; ○ = reforço ou transição; — = fora do escopo principal.
O detalhe por slug (Básicas / Desejadas / Avançadas) está nos cartões dos quadros 1 e 2 acima.