📋 PLANO DE ARQUITETURA PEDAGÓGICA DO 1º SEMESTRE

Auditoria, Reestruturação e Evolução Didática Integrada

Status: ✅ Aprovado pelo Usuário com Inclusões Acadêmicas (Turing, Von Neumann e Git Essencial)
Escopo: mod_01_fundamentos_da_computacao/ e mod_02_logica_e_algoritmos/
Princípio Fundamental: Tópicos (topicos/) são a BASE ÚNICA e FONTE DA VERDADE. Todos os outros eixos pedagógicos (slides/, quizzes/, exemplos de código, exercicios/ e projetos/) acompanham os tópicos em correspondência EXATA 1-para-1.
Padrões de Referência: ACM/IEEE CS2023, Harvard CS50, MIT 6.0001/6.004, Stanford CS106A/B e UC Berkeley CS61A/C.


1. 🎯 Macroarquitetura da Trilha (1º Semestre)

flowchart TD
    subgraph ETAPA1["Etapa 1 — Fundamentos da Computação (mod_01: F01 a F20)"]
        F1["Turing, Von Neumann, CPU, Barramentos, I/O"]
        F2["Bits, Bytes, Binário/Hex, IEEE 754, ASCII/UTF-8"]
        F3["Memória Stack/Heap, Linux, Terminal & Git Essencial"]
        F4["Modelos de Execução (C/Python/JVM), Tipagem 2D & snake_case"]
        F1 --> F2 --> F3 --> F4
    end

    subgraph ETAPA2["Etapa 2 — Lógica e Algoritmos (mod_02: L01 a L04)"]
        L1["Pensamento Computacional: IPO, Decomposição, Abstração, Padrões"]
        L2["Representação: Fluxogramas Mermaid & Pseudocódigo"]
        L3["Lógica Booleana & Tabela Verdade (Antes de Condicionais)"]
        L4["Teste de Mesa (Trace Table na Memória)"]
        L1 --> L2 --> L3 --> L4
    end

    subgraph ETAPA3["Etapa 3 — As Pontes Cognitivas (mod_02: L05 a L07)"]
        V1["VisualG (Ponte 1): Variável + Tipo + Atribuição (<-) + I/O"]
        P1["Python Básico: Type Hints (idade: int = 20) & Indentação 4 Espaços"]
        PS1["Portugol Studio (Ponte 2): Transição C-like com Chaves {} e Ponto-e-Vírgula ;"]
        V1 --> P1 --> PS1
    end

    subgraph ETAPA4["Etapa 4 — Linguagem C Estruturada (mod_02: L08 a L19)"]
        C1["L08-L10: main(), Tipos, sizeof(), printf/scanf com formatos e endereço &"]
        C2["L11-L15: Operadores, if/else, switch-case, loops while, do-while, for"]
        C3["L16-L19: Vetores 1D, Matrizes 2D, Strings (char[] com \\0), Structs"]
        C1 --> C2 --> C3
    end

    subgraph ETAPA5["Etapa 5 — Modularização & Ponte POO (mod_02: L20)"]
        M1["Funções, Protótipos, Parâmetros por Valor, Escopo, main() Limpo"]
        M2["Ponte Conceitual para Java & Programação Orientada a Objetos (2º Semestre)"]
        M1 --> M2
    end

    ETAPA1 --> ETAPA2 --> ETAPA3 --> ETAPA4 --> ETAPA5

    style ETAPA1 fill:#e1f5fe,stroke:#03a9f4,stroke-width:2px
    style ETAPA2 fill:#e8f5e9,stroke:#4caf50,stroke-width:2px
    style ETAPA3 fill:#fff3e0,stroke:#ff9800,stroke-width:2px
    style ETAPA4 fill:#e0f2f1,stroke:#009688,stroke-width:2px
    style ETAPA5 fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px

2. 🏛️ Matriz Curricular dos 20 Tópicos por Módulo

📘 MÓDULO 01 — Fundamentos da Computação (20 Tópicos: F01 a F20)

ID Bloco Pedagógico Tópico Teórico Conceitos & Habilidades Centrais Recursos 1:1
F01 🧱 Fundamentos O que é Computação & Alan Turing Problemas, Computabilidade, Máquina de Turing, Modelo IPO Slide • Quiz • Exercício
F02 🧱 Fundamentos Arquitetura de Von Neumann & Hardware CPU (ULA, UC, Registradores), Memória de Programa Armazenado, Barramentos, Ciclo Fetch-Decode-Execute Slide • Quiz • Exercício
F03 🔢 Dados na Máquina Bits, Bytes e Sistemas Numéricos Binário, Octal, Hexadecimal, Conversões de Base e Aritmética Binária Slide • Quiz • Exercício
F04 🔢 Dados na Máquina Representação Numérica Avançada Inteiros com sinal, Complemento a 2, Overflow e Ponto Flutuante IEEE 754 Slide • Quiz • Exercício
F05 🔢 Dados na Máquina Representação de Caracteres e Texto Tabela ASCII, ISO-8859-1, Unicode, Codificação UTF-8 e Encodings Slide • Quiz • Exercício
F06 💾 Memória & SO Gestão de Memória no Computador Hierarquia de memória (Cache, RAM), Endereçamento e Memória Stack vs. Heap Slide • Quiz • Exercício
F07 💾 Memória & SO Fundamentos de Sistemas Operacionais Kernel, Processos, Threads, Escalonamento e Sistema de Arquivos Slide • Quiz • Exercício
F08 💾 Memória & SO Linux Essencial Filosofia UNIX, hierarquia /, permissões (chmod/chown) e navegação Slide • Quiz • Exercício
F09 🛠️ Ferramentas Terminal, CLI & Git Básico Shell (Bash/PowerShell) + Git Essencial (config, init, add, commit, push) e entrega via GitHub / Teams Slide • Quiz • Exercício
F10 🌐 Redes Redes e Internet Modelo Cliente-Servidor, IP, DNS, Portas, TCP/UDP e Protocolo HTTP/HTTPS Slide • Quiz • Exercício
F11 ⚙️ Linguagens Software e Linguagens de Programação Níveis de abstração (Baixo vs. Alto nível), Código-Fonte e Compilação Slide • Quiz • Exercício
F12 ⚙️ Linguagens Modelos de Execução Compilação Nativa (C) vs. Bytecode/Runtime (Python) vs. JVM (Java) Slide • Quiz • Exercício
F13 ⚙️ Linguagens Fundamentos de Tipagem Matriz 2D: Estática/Dinâmica $\times$ Forte/Fraca + Coerção de tipos Slide • Quiz • Exercício
F14 ⚙️ Linguagens Estilos Sintáticos e Convenções Família C-like ({ }, ;), Pascal e Python (4 espaços) + Padrão snake_case Slide • Quiz • Exercício
F15 📄 Formatos Linguagens de Marcação Estruturação de documentos com HTML5 semântico e Markdown Slide • Quiz • Exercício
F16 📄 Formatos Formatos de Troca de Dados JSON, YAML, XML, CSV e Arquivos Binários Slide • Quiz • Exercício
F17 📄 Formatos Linguagens de Template Renderização estática com Jekyll/Liquid, Jinja2 e tags de template Slide • Quiz • Exercício
F18 📄 Formatos Expressões Regulares (Regex) Reconhecimento de padrões, validação de strings e busca de texto Slide • Quiz • Exercício
F19 🔒 Segurança Segurança Básica da Informação Menor privilégio, funções Hash (SHA-256), integridade e credenciais Slide • Quiz • Exercício
F20 🏆 Integração Projeto Integrador de Fundamentos Mapeamento completo de um ecossistema de software com Git, Markdown e terminal Slide • Quiz • Projeto Integrador

📗 MÓDULO 02 — Lógica e Algoritmos do 1º Semestre (20 Tópicos: L01 a L20)

ID Bloco Pedagógico Tópico Teórico Conceitos & Habilidades Centrais Recursos 1:1
L01 💡 Pensamento Lógico Pensamento Computacional & IPO Decomposição, Abstração, Reconhecimento de Padrões e Algoritmização Slide • Quiz • Exercício
L02 💡 Pensamento Lógico Representação de Algoritmos Linguagem Natural, Fluxogramas Mermaid e Pseudocódigo estruturado Slide • Quiz • Exercício
L03 💡 Pensamento Lógico Lógica Booleana e Tabela Verdade Operadores relacionais e lógicos (NOT, AND, OR), Expressões Compostas e De Morgan Slide • Quiz • Exercício
L04 💡 Pensamento Lógico Teste de Mesa (Trace Table) Simulação e rastreamento mental de variáveis passo a passo na memória Slide • Quiz • Exercício
L05 🌉 Pontes Cognitivas VisualG (Ponte 1) Materialização de Variável + Tipo Primitivo + Atribuição (<-) + I/O Slide • Quiz • Exercício
L06 🐍 Python Básico Python com Type Hints & 4 Espaços 1ª Linguagem Real: idade: int = 20, f-strings, indentação obrigatória e I/O Slide • Quiz • Exercício
L07 🌉 Pontes Cognitivas Portugol Studio (Ponte 2) Transição para sintaxe C-like: chaves { }, ponto-e-vírgula ; e blocos explícitos Slide • Quiz • Exercício
L08 ⚡ Linguagem C C01: Estrutura do Programa C main(), #include <stdio.h>, Pré-processador, Compilação e return 0 Slide • Quiz • Exercício
L09 ⚡ Linguagem C C02: Variáveis, Tipos e sizeof() int, float, double, char, modificadores (unsigned, long) e sizeof() Slide • Quiz • Exercício
L10 ⚡ Linguagem C C03: Entrada e Saída Formatada printf (formatos %d, %.2f, %lf, %s) e scanf com operador de endereço & Slide • Quiz • Exercício
L11 ⚡ Linguagem C C04: Operadores e Expressões Aritméticos (+, -, *, /, %), Relacionais, Lógicos e Precedência Slide • Quiz • Exercício
L12 ⚡ Linguagem C C05: Estruturas Condicionais if, else, else if, condições compostas e aninhamento Slide • Quiz • Exercício
L13 ⚡ Linguagem C C06: Seleção Múltipla Estrutura switch-case com comandos break e default Slide • Quiz • Exercício
L14 ⚡ Linguagem C C07: Repetições com while e do-while Laços indeterminados, contadores, acumuladores e condições de parada Slide • Quiz • Exercício
L15 ⚡ Linguagem C C08: Repetições com for Laços determinados: inicialização, condição de teste, incremento e loops aninhados Slide • Quiz • Exercício
L16 📦 Estruturas de Dados C09: Vetores Unidimensionais (1D) Arrays 1D: declaração, indexação base zero, percurso, busca linear e ordenação Slide • Quiz • Exercício
L17 📦 Estruturas de Dados C10: Matrizes Bidimensionais (2D) Arrays 2D: linhas $\times$ colunas, laços aninhados, diagonais e matriz transposta Slide • Quiz • Exercício
L18 📦 Estruturas de Dados C11: Manipulação de Strings em C Vetor de char com terminador \0, leitura com fgets e funções de <string.h> Slide • Quiz • Exercício
L19 📦 Estruturas de Dados C12: Estruturas Heterogêneas (Structs) Agrupamento de dados (struct), tipos definidos pelo usuário (typedef) Slide • Quiz • Exercício
L20 🏛️ Modularização C13: Funções, Modularização & Ponte POO Protótipos, passagem por valor, escopo, main() limpo e ponte para Java & POO no 2º Semestre Slide • Quiz • Projeto Integrador

🌐 MÓDULO 02 — Catálogo de Especialização e Ecossistemas (Tópicos 21 a 38)


3. 📤 Workflow do Aluno: Git Básico, GitHub e Microsoft Teams

Todo exercício avaliativo segue o fluxo profissional de entrega:

  1. Configuração Inicial do Git (feita no Tópico F09):
    git config --global user.name "Seu Nome Completo"
    git config --global user.email "seu_email_estudante@dominio.com"
    
  2. Versionamento Local:
    git add Atividade_CapXX_SeuNome.c
    git commit -m "feat(exercicio): resolve atividade do capitulo XX"
    
  3. Publicação no GitHub & Envio no Microsoft Teams:
    git push origin main
    
    • Instruções de Entrega: O aluno anexa o arquivo ou envia o link do repositório/commit público no GitHub diretamente na tarefa correspondente do Microsoft Teams (Atividade Cap XX - Titulo).

4. 🧭 Diretrizes Estruturais Obrigatórias (Regras 31 a 44)