Universidade Tecnológica Federal do Paraná
Campus Siqueira Campos
Revolução Digital:
Desvendando Algoritmos, Reconectando Humanidade
Material Didático para Professores do 1º ao 3º Ano

CARTA DE ABERTURA

ATENÇÃO, TURMA DO 1º ANO! 🕵️‍♂️

Lembram do bimestre passado? Vocês construíram sites. Codaram. Se sentiram os deuses do HTML.

Pois bem. Esqueçam tudo.

Agora a parada é OUTRA. Agora vocês não vão mais criar sites vocês vão DESMONTAR a Matrix.

Sabem aquele feed infinito que vocês rolam sem nem pensar? Aquele vídeo que aparece do nada e é exatamente o que vocês queriam ver? Aquele anúncio de tênis que apareceu cinco minutos depois de vocês falarem sobre tênis com um amigo?

Coincidência?

ACHAM QUE É COINCIDÊNCIA?!

Não, meus caros. É ALGORITMO. É DADO. É VIGILÂNCIA DIGITAL travestida de comodidade.

Neste bimestre, vocês vão:

  • Descobrir quem realmente manda no feed de vocês (spoiler: não são vocês).
  • Analisar o que as empresas sabem sobre vocês (spoiler: mais do que a sua mãe).
  • Construir um protótipo de conscientização digital pode ser um robô, uma campanha, um jogo ou um app que vai sacudir a galera.
  • E, no final, vocês vão descobrir que o maior poder não é ter dados é saber o que fazer com eles.

MAPEAMENTO BIMESTRE

Semana Título da Aula Habilidades BNCC (Mat) Habilidades BNCC (LP) Habilidades BNCC (Outras) Pilares do Pensamento Computacional
1 "O Algoritmo Invisível" Como uma linha de código decide o que você vê EM13MAT101 EM13LP01 EM13CO23 Abstração
2 "Dados: O Novo Petróleo" Quem lucra com sua vida digital EM13MAT102 EM13LP02 EM13CO26 Reconhecimento de Padrões
3 "A Economia da Atenção" Por que seu cérebro é o produto EM13MAT201 EM13LP04 EM13CO24 Decomposição
4 "Bolhas, Vieses e Fake News" Como o algoritmo te engana EM13MAT301 EM13LP05 EM13CO23 Reconhecimento de Padrões
5 "LGPD e Privacidade" Seus dados, suas regras EM13MAT302 EM13LP07 EM13CO26 Abstração
6 "Netiqueta e Cyberbullying" O que você faz quando ninguém está vendo EM13MAT401 EM13LP08 EM13CO25 Algoritmos
7 "Protótipo da Conscientização" Do brainstorm à obra‑prima EM13MAT402 EM13LP09 EM13CO02 Todos os Pilares
8 "Mão na Massa" Construindo o projeto (parte 1) EM13MAT501 EM13LP10 EM13CO03 Decomposição + Algoritmos
9 "Mão na Massa" Construindo o projeto (parte 2) EM13MAT501 EM13LP10 EM13CO05 Reconhecimento de Padrões + Abstração
10 "A Grande Estreia" Pitch e lançamento do projeto EM13MAT501 EM13LP11 EM13CO07 Todos os Pilares

PLANO SINTÉTICO

Semana Título da Aula Conceito Atividade Principal
1 "O Algoritmo Invisível" Algoritmos de recomendação não são neutros eles são programados para prender sua atenção. "Quem Manda no Feed?" simulação onde os alunos viram o algoritmo e decidem o que mostrar para diferentes perfis.
2 "Dados: O Novo Petróleo" Seus dados valem dinheiro e você está dando eles de graça. "Caça aos Dados" os alunos listam TUDO que sabem sobre si mesmos e descobrem que as empresas sabem muito mais.
3 "A Economia da Atenção" Redes sociais são máquinas de vender atenção e seu cérebro é a fábrica. "O Dilema da Atenção" exibição de trechos do documentário + debate sobre gatilhos emocionais.
4 "Bolhas, Vieses e Fake News" O algoritmo te coloca numa bolha e te alimenta com o que você já acredita. "Caça à Fake News" os alunos analisam posts reais e identificam padrões de desinformação.
5 "LGPD e Privacidade" A Lei Geral de Proteção de Dados te dá poder mas você precisa saber usar. "Julgamento Digital" simulação de casos reais de violação de dados.
6 "Netiqueta e Cyberbullying" O que você faz online importa e tem consequências. "Teatro do Cyberbullying" encenação de situações e construção de planos de ação.
7 "Protótipo da Conscientização" Hora de criar algo que vai mudar o jogo. Brainstorm e planejamento cada grupo escolhe o problema e a solução.
8 "Mão na Massa" (parte 1) Código, design, conteúdo tudo junto. Desenvolvimento do protótipo robô, campanha, jogo ou app.
9 "Mão na Massa" (parte 2) Testes, ajustes e polimento. Refinamento do projeto feedback e melhorias.
10 "A Grande Estreia" Mostre ao mundo o que você construiu. Pitch e apresentação cada grupo apresenta seu projeto para a turma.

PLANOS DE AULA 2º BIMESTRE

Clique em cada semana e veja os detalhes completos com códigos comentados, minuto a minuto e muito mais.

🎯 Título

"O Algoritmo Invisível" ou "Como uma linha de código decide o que você vai pensar hoje (e você nem sabia que estava sendo programado)"

🎯 Objetivos Operacionais

  • Compreender o conceito de algoritmo como sequência lógica de passos e sua onipresença no cotidiano digital.
  • Identificar como algoritmos de recomendação funcionam nas principais plataformas (YouTube, TikTok, Instagram, Spotify, Netflix).
  • Analisar criticamente o viés algorítmico e o efeito bolha como mecanismos de controle de atenção.
  • Simular o papel de um algoritmo de recomendação em um jogo de curadoria.
  • Bônus: entender que algoritmo não é mágica é matemática disfarçada de decisão e, muitas vezes, interesse econômico travestido de neutralidade.

📚 Conteúdo Programático

  • O que é um algoritmo? Definição, exemplos do cotidiano (receitas, rotas, instruções) e sua presença invisível na vida digital.
  • Algoritmos de recomendação Como eles "sabem" o que você gosta: coleta de dados, histórico, comportamento, interações.
  • O viés algorítmico Por que algoritmos não são neutros: eles refletem os vieses de quem os programou e dos dados com que foram treinados.
  • O efeito bolha (filter bubble) Como você fica preso no que já concorda e deixa de ver o que é diferente.
  • Curadoria algorítmica vs. curadoria humana Quem decide o que você vê? Uma máquina ou uma pessoa com critérios?
  • O papel dos dados de treinamento Como vieses históricos e culturais são incorporados aos algoritmos.
  • A economia política dos algoritmos Quem lucra com o que você vê? Por que o algoritmo te mostra isso e não aquilo?

🧩 Pilares do Pensamento Computacional trabalhados na aula

Pilar Aplicação na aula
Abstração Compreender o algoritmo como um modelo simplificado de decisão que reduz a complexidade do mundo a variáveis (curtidas, tempo de tela, cliques).
Decomposição Dividir o funcionamento de um algoritmo de recomendação em partes: coleta de dados → processamento → predição → exibição.
Reconhecimento de Padrões Identificar padrões de comportamento que os algoritmos detectam para recomendar conteúdo (ex.: se você curte X, provavelmente gosta de Y).
Algoritmos Compreender que a recomendação é fruto de uma sequência de passos programados e que essa sequência pode ser questionada, desmontada e até subvertida.

📜 Habilidades BNCC e RCP-PR

BNCC Matemática e suas Tecnologias:

Código Habilidade
EM13MAT101 Interpretar criticamente situações que envolvam a variação de grandezas, pela análise dos gráficos das funções representadas e das taxas de variação, com ou sem apoio de tecnologias digitais.
EM13MAT201 Interpretar dados estatísticos apresentados em diferentes mídias e suportes, avaliando a confiabilidade das informações e as implicações éticas do uso de dados.

BNCC Linguagens e suas Tecnologias:

Código Habilidade
EM13LP01 Analisar o contexto de produção, circulação e recepção de textos, considerando as diferentes linguagens, mídias e suportes.
EM13LP04 Analisar os efeitos de sentido decorrentes do uso de recursos linguísticos e multissemióticos em diferentes textos, considerando a função social e os efeitos de sentido pretendidos.

BNCC Computação (Complemento à BNCC) Resolução CNE/CEB nº 2/2022:

Código Habilidade
EM13CO04 Reconhecer e aplicar os princípios da abstração, decomposição, reconhecimento de padrões e algoritmos na resolução de problemas.
EM13CO23 Analisar criticamente as experiências em comunidades virtuais e as relações advindas da interação e comunicação com outras pessoas, bem como seus impactos na sociedade.

RCP-PR Referencial Curricular do Paraná (2025) Eixo Cultura Digital:

O Referencial Curricular do Paraná para o Ensino Médio (2025) estrutura a Educação Digital em três eixos: Pensamento Computacional, Mundo Digital e Cultura Digital. Este plano de aula está ancorado no eixo Cultura Digital, que diz respeito às habilidades para "desenvolver a consciência e a ética no uso de informações e tecnologias computacionais, com compreensão dos impactos da transformação digital na sociedade". A habilidade EM13CO23 está diretamente alinhada à proposta de análise crítica das comunidades virtuais e seus impactos.

💻 Código Comentado

Esta seção apresenta um exemplo prático de código que os alunos poderão explorar, comentado linha a linha para compreensão do funcionamento de um algoritmo de recomendação simplificado.

# ============================================================
# ALGORITMO DE RECOMENDAÇÃO SIMPLIFICADO (VERSÃO DIDÁTICA)
# ============================================================
#
# Este código simula, de forma extremamente simplificada, como
# um algoritmo de recomendação decide o que mostrar para um usuário.
#
# NA VIDA REAL: milhões de variáveis, redes neurais, dados
# massivos e interesses bilionários.
# AQUI: só para entender a lógica por trás da "mágica".
# ============================================================

# 1. BANCO DE DADOS DO USUÁRIO (o que o algoritmo "sabe" sobre você)
# Na vida real, isso vem do seu histórico de navegação, curtidas,
# tempo de visualização, localização, dispositivo, hora do dia...

usuario = {
    "nome": "João",
    "idade": 16,
    "interesses": ["futebol", "jogos", "humor"],  # baseado no que ele curtiu
    "historico": [  # o que ele já assistiu/curtiu
        {"titulo": "Melhores gols de 2024", "categoria": "futebol", "curtiu": True},
        {"titulo": "Gameplay de Minecraft", "categoria": "jogos", "curtiu": True},
        {"titulo": "Receita de bolo de chocolate", "categoria": "culinaria", "curtiu": False},
    ]
}

# 2. BANCO DE DADOS DE CONTEÚDO (o que o algoritmo pode te mostrar)
# Na vida real: milhões de vídeos, posts, anúncios, músicas...

conteudos = [
    {"id": 1, "titulo": "Golaço de falta - Brasileirão 2025", "categoria": "futebol"},
    {"id": 2, "titulo": "Tutorial de Python para iniciantes", "categoria": "programacao"},
    {"id": 3, "titulo": "Melhores momentos - Copa do Mundo", "categoria": "futebol"},
    {"id": 4, "titulo": "Novo jogo da Rockstar - análise", "categoria": "jogos"},
    {"id": 5, "titulo": "Como fazer miojo gourmet", "categoria": "culinaria"},
    {"id": 6, "titulo": "Prank com amigos - pegadinha épica", "categoria": "humor"},
    {"id": 7, "titulo": "Documentário sobre mudanças climáticas", "categoria": "ciencia"},
]

# 3. FUNÇÃO DE RECOMENDAÇÃO (o coração do algoritmo)
# É aqui que a "mágica" acontece. Na vida real, isso é uma
# rede neural com bilhões de parâmetros. Aqui, é uma simples
# contagem de interesses em comum.

def recomendar(usuario, conteudos):
    """
    Recomenda conteúdos com base nos interesses do usuário.
    PASSO A PASSO (ALGORITMO):
    1. Para cada conteúdo disponível...
    2. ...conte quantos interesses do usuário ele atende.
    3. Ordene os conteúdos do mais relevante para o menos relevante.
    4. Retorne os 3 primeiros (top 3).
    """
    # DECOMPOSIÇÃO: vamos analisar cada conteúdo individualmente
    recomendacoes = []
    for conteudo in conteudos:
        # RECONHECIMENTO DE PADRÕES: o conteúdo tem algo a ver
        # com os interesses do usuário?
        pontuacao = 0
        # Verifica se a categoria do conteúdo está nos interesses do usuário
        if conteudo["categoria"] in usuario["interesses"]:
            pontuacao += 1  # cada interesse compatível = +1 ponto
        # Verifica se o usuário já curtiu algo similar no histórico
        for item in usuario["historico"]:
            if item["categoria"] == conteudo["categoria"] and item["curtiu"]:
                pontuacao += 0.5  # curtiu algo similar = +0.5 ponto
        recomendacoes.append({
            "conteudo": conteudo,
            "pontuacao": pontuacao
        })
    # ALGORITMO: ordenar do maior para o menor (os mais relevantes primeiro)
    recomendacoes.sort(key=lambda x: x["pontuacao"], reverse=True)
    # ABSTRAÇÃO: retornamos apenas os 3 melhores (simplificamos o resultado)
    return recomendacoes[:3]

# 4. EXECUTANDO O ALGORITMO
print("=" * 50)
print("🤖 ALGORITMO DE RECOMENDAÇÃO EM AÇÃO")
print("=" * 50)
print(f"\n👤 Usuário: {usuario['nome']}")
print(f"📌 Interesses: {', '.join(usuario['interesses'])}")
print(f"📜 Histórico: {len(usuario['historico'])} itens")
print("\n⏳ Processando...")
print("-" * 50)

resultados = recomendar(usuario, conteudos)

print("\n🎯 TOP 3 RECOMENDAÇÕES:")
for i, resultado in enumerate(resultados, 1):
    conteudo = resultado["conteudo"]
    print(f"\n{i}. {conteudo['titulo']}")
    print(f"   📂 Categoria: {conteudo['categoria']}")
    print(f"   ⭐ Relevância: {resultado['pontuacao']} pontos")

print("\n" + "=" * 50)
print("💡 REFLEXÃO:")
print("- O algoritmo te mostrou o que você QUER ver,")
print("  não necessariamente o que você PRECISA ver.")
print("- Se você só vê futebol, vai achar que o mundo")
print("  inteiro só fala de futebol. Isso é uma BOLHA.")
print("=" * 50)

# ============================================================
# DESAFIO PARA OS ALUNOS:
# 1. O que acontece se adicionarmos um conteúdo de uma
#    categoria que o usuário NUNCA viu?
# 2. Como o algoritmo poderia ser modificado para recomendar
#    algo que o usuário NÃO conhece, mas poderia gostar?
# 3. Quem lucra com esse algoritmo? O usuário ou a plataforma?
# ============================================================

⏱️ Detalhamento Minuto a Minuto (50 min)

Minuto Atividade Descrição
0-5 Gancho Explosivo 🧨 Professor entra com um vídeo no YouTube e pergunta: "Por que esse vídeo apareceu exatamente agora? O YouTube leu sua mente? Ou será que tem algo a mais?" Mostra dois feeds radicalmente diferentes para o mesmo perfil. Choque garantido. Silêncio. Olhares. "Não é coincidência. É engenharia."
5-10 Exposição Dialógica 🗣️ O que é um algoritmo? Analogia: "Algoritmo é uma receita de bolo mas em vez de bolo, ele produz decisões." Mostrar exemplos: Netflix, TikTok, Spotify, Google. Destacar que algoritmo não é neutro ele foi programado por alguém com vieses, treinado com dados que carregam preconceitos históricos.
10-15 O Jogo "Quem Manda Aqui?" 🎮 Cada grupo (4-5 alunos) recebe um perfil fictício (ex: "João, 16 anos, ama futebol, jogos e humor, mora em cidade pequena, classe média") e um feed com 20 conteúdos variados. Os grupos decidem: "O que mostrar primeiro? Em que ordem? O que NÃO mostrar? Por quê?"
15-25 Apresentação das Curadorias 🎤 Cada grupo apresenta sua "curadoria algorítmica" e justifica as escolhas. Professor provoca: "Por que você mostrou isso primeiro? O que você quer que João sinta? O que você quer que ele faça? Quanto tempo você quer que ele fique na plataforma?"
25-35 Debate: Bolhas e Vieses 🔥 Professor conduz debate com perguntas provocadoras: "O que acontece se João só vê conteúdo de futebol? Ele vai saber que existe basquete? Ele vai achar que o mundo inteiro gosta de futebol? Isso é uma bolha. E quem coloca ele lá? O algoritmo. E por que colocam ele lá? Porque é lucrativo."
35-40 Análise do Código 💻 Professor projeta o código comentado (acima) e explica linha por linha. Alunos acompanham e fazem perguntas. "Não é mágica. É matemática. É decisão. É poder."
40-45 Mural de Dúvidas 📌 Cada aluno escreve em um post-it: "O que eu quero descobrir sobre algoritmos?" Colam no mural. Professor não responde apenas organiza. As perguntas vão guiar as próximas semanas.
45-48 Check-in Emocional 😱 Professor pergunta: "Como você se sente depois de pensar que um algoritmo pode te manipular? Ansioso? Curioso? Indignado? Paranoico? Empoderado?" Cada aluno escolhe um emoji para representar.
48-50 Fechamento + Provocação 🚀 "Se o algoritmo decide o que você vê, será que ele também decide o que você pensa? Na semana que vem: quem lucra com os seus dados? Spoiler: não é você."

♿ Orientações para Adaptações e Inclusão Exemplos Práticos

"Um algoritmo que não considera todo mundo é um algoritmo quebrado. Uma aula que não inclui todo mundo é uma aula fracassada."

Público Adaptações Sugeridas
Deficiência Visual Use descrições verbais detalhadas dos feeds e conteúdos; forneça materiais em braille ou áudio; use fontes grandes (mínimo 16px) e alto contraste no projetor; descreva o código em voz alta.
Deficiência Auditiva Garanta legendas em todos os vídeos; use feedback visual para todas as instruções; disponibilize roteiro escrito completo; use recursos visuais (slides, imagens) para reforçar conceitos.
Deficiência Motora Cartões físicos podem ser manipulados com ajuda; permita respostas verbais em vez de escritas; grupos com papéis definidos (um relata, outro organiza, etc.); garanta navegação por teclado e botões com tamanho adequado (mínimo 44px).
TDAH Divida a atividade em sprints curtos (5-10 min); use cronômetros visuais; forneça checklist de tarefas; minimize distrações no ambiente.
TEA Envie perguntas com antecedência; use ambiente com poucos estímulos sensoriais; forneça roteiros sociais para o debate; use linguagem clara e direta.
Altas Habilidades Desafio extra: "Pesquise sobre vieses algorítmicos em IA (ex: viés de gênero em sistemas de recrutamento, viés racial em reconhecimento facial) e traga um exemplo real para a próxima aula."

📊 Critérios Operacionais de Avaliação com pontuação

Critério Descrição Pontuação
Participação no Debate Contribuiu com ideias e perguntas relevantes durante a discussão. 0-2
Jogo "Quem Manda Aqui?" Participou ativamente da simulação e justificou escolhas com argumentos coerentes. 0-3
Mural de Dúvidas Escreveu uma pergunta relevante, reflexiva e original sobre algoritmos. 0-2
Check-in Emocional Refletiu honestamente sobre o impacto emocional do tema. 0-1
Colaboração Trabalhou bem em grupo, respeitando as ideias dos colegas e contribuindo para o resultado coletivo. 0-2
Total 0-10

"Se você acha que o algoritmo é só uma linha de código, você já perdeu o jogo. Ele é uma linha de código que decide o que você vai pensar. E isso, meus caros, é poder." 🧠

🎯 Título

"Dados: O Novo Petróleo" ou "Quem lucra com a sua vida digital (e você nem sabia que estava sendo minerado)" 🛢️

🎯 Objetivos Operacionais

  • Compreender o valor econômico dos dados pessoais no capitalismo de vigilância.
  • Identificar quais dados são coletados, por quem e com quais finalidades.
  • Analisar o perfilamento comportamental e a vigilância digital como mecanismos de controle e lucro.
  • Conhecer o caso Cambridge Analytica como marco histórico de manipulação em massa.
  • Bônus: entender que você não é o cliente você é o produto e, pior, a matéria-prima.

📚 Conteúdo Programático

  • O que são dados pessoais? Nome, idade, localização, interesses, histórico de navegação, lista de contatos, fotos, mensagens, hábitos de consumo, biometria...
  • Coleta de dados Quem coleta (Big Techs, governos, terceiros), como coleta (rastreamento, cookies, geolocalização, reconhecimento facial) e para quê.
  • Perfilamento comportamental Como empresas constroem seu "clone digital" : um modelo preditivo do que você vai fazer, comprar, pensar e votar.
  • Vigilância digital Você está sendo observado o tempo todo. No celular, no computador, na rua (câmeras), no carro (GPS).
  • Estudo de caso: Cambridge Analytica Como dados de 87 milhões de pessoas foram usados para manipular eleições (EUA 2016, Brexit).
  • O modelo de negócio das plataformas Dados + anúncios = dinheiro. Quanto mais dados, mais dinheiro. Quanto mais tempo de tela, mais dados.
  • Capitalismo de Vigilância (Zuboff) O mercado de comportamentos futuros.

🧩 Pilares do Pensamento Computacional trabalhados na aula

Pilar Aplicação na aula
Reconhecimento de Padrões Identificar padrões de coleta de dados: onde, quando e como seus dados são capturados (sempre que você clica, sempre que você para, sempre que você volta).
Abstração Compreender o perfil digital como uma abstração de você um modelo simplificado que permite à máquina prever seu comportamento.
Decomposição Dividir o ecossistema de coleta de dados em partes: quem coleta → o que coleta → como usa → quem lucra.
Algoritmos Entender que os dados alimentam algoritmos que tomam decisões sobre você e que essas decisões têm consequências reais.

📜 Habilidades BNCC e RCP-PR

BNCC Matemática e suas Tecnologias:

Código Habilidade
EM13MAT102 Analisar tabelas, gráficos e amostras de pesquisas estatísticas apresentadas em diferentes meios de comunicação, identificando inadequações que possam induzir a erros de interpretação.
EM13MAT201 Interpretar dados estatísticos apresentados em diferentes mídias e suportes, avaliando a confiabilidade das informações e as implicações éticas do uso de dados.

BNCC Linguagens e suas Tecnologias:

Código Habilidade
EM13LP02 Estabelecer relações entre as partes de um texto, identificando repetições ou substituições que contribuem para a continuidade do texto e a construção de sentido.

BNCC Computação (Complemento à BNCC) Resolução CNE/CEB nº 2/2022:

Código Habilidade
EM13CO23 Analisar criticamente as experiências em comunidades virtuais e as relações advindas da interação e comunicação com outras pessoas, bem como seus impactos na sociedade.
EM13CO26 Aplicar os conceitos e pressupostos do direito digital em sua conduta e experiências com o cotidiano da cultura digital, bem como na produção e uso de artefatos computacionais.

RCP-PR Referencial Curricular do Paraná (2025) Eixo Cultura Digital:

Este plano de aula está ancorado no eixo Cultura Digital do RCP-PR, que aborda as "dimensões sociais, éticas e legais do uso das tecnologias", com foco em "segurança e privacidade" e "proteção de dados pessoais, reconhecimento de riscos no ambiente online". A habilidade EM13CO26 está diretamente alinhada à aplicação dos conceitos de direito digital no cotidiano.

💻 Código Comentado

Esta seção apresenta um código que simula a coleta e o perfilamento de dados para que os alunos entendam, na prática, como suas informações são processadas.

# ============================================================
# SIMULADOR DE COLETA E PERFILAMENTO DE DADOS
# ============================================================
#
# Este código simula como uma plataforma coleta dados sobre
# você e constrói um "perfil" para te classificar e te vender
# para anunciantes.
#
# NA VIDA REAL: isso acontece em milissegundos, com milhares
# de variáveis, sem você saber, sem você consentir de verdade.
# ============================================================

# 1. COLETA DE DADOS (o que a plataforma "raspa" de você)
# Tudo o que você faz, clica, curte, compartilha, pesquisa,
# onde você está, com quem você está, a que horas...

class ColetorDeDados:
    """
    Simula a coleta de dados de um usuário.
    Na vida real, isso é feito por cookies, pixels de rastreamento,
    SDKs de terceiros, e centenas de outras tecnologias invisíveis.
    """
    def __init__(self):
        # Banco de dados do usuário (começa vazio)
        self.dados_usuario = {
            "informacoes_basicas": {},
            "comportamento": [],
            "interesses": [],
            "localizacao": [],
            "dispositivos": []
        }

    def coletar_dados_basicos(self, nome, idade, genero, cidade):
        """
        Coleta dados que você fornece "voluntariamente" ao se cadastrar.
        """
        self.dados_usuario["informacoes_basicas"] = {
            "nome": nome,
            "idade": idade,
            "genero": genero,
            "cidade": cidade,
            "data_coleta": "hoje"  # na vida real: timestamp exato
        }
        print(f"📥 Coletados dados básicos de {nome}")

    def rastrear_clique(self, item, categoria, tempo_gasto):
        """
        Rastreia o que você clica, quanto tempo você gasta,
        e o que isso diz sobre você.
        """
        registro = {
            "item": item,
            "categoria": categoria,
            "tempo_gasto": tempo_gasto,  # em segundos
            "timestamp": "agora"
        }
        self.dados_usuario["comportamento"].append(registro)
        # Atualiza interesses com base no comportamento
        if categoria not in self.dados_usuario["interesses"]:
            self.dados_usuario["interesses"].append(categoria)
        print(f"🖱️ Clique rastreado: {item} ({categoria}) - {tempo_gasto}s")

    def rastrear_localizacao(self, latitude, longitude):
        """
        Rastreia onde você está. Sim, seu celular faz isso o tempo todo.
        """
        self.dados_usuario["localizacao"].append({
            "lat": latitude,
            "lon": longitude,
            "timestamp": "agora"
        })
        print(f"📍 Localização registrada: {latitude}, {longitude}")

    def obter_perfil(self):
        """
        Constrói o perfil do usuário com base em todos os dados coletados.
        Este é o "clone digital" que a plataforma vende para anunciantes.
        """
        perfil = {
            "nome": self.dados_usuario["informacoes_basicas"].get("nome", "Anônimo"),
            "idade": self.dados_usuario["informacoes_basicas"].get("idade", "Desconhecida"),
            "cidade": self.dados_usuario["informacoes_basicas"].get("cidade", "Desconhecida"),
            "interesses_identificados": list(set(self.dados_usuario["interesses"])),
            "total_cliques": len(self.dados_usuario["comportamento"]),
            "tempo_medio_por_clique": self._calcular_tempo_medio(),
            "locais_visitados": len(self.dados_usuario["localizacao"]),
            "classificacao_anunciante": self._classificar_para_anuncios()
        }
        return perfil

    def _calcular_tempo_medio(self):
        """Calcula o tempo médio gasto por clique."""
        if not self.dados_usuario["comportamento"]:
            return 0
        total = sum(registro["tempo_gasto"] for registro in self.dados_usuario["comportamento"])
        return total / len(self.dados_usuario["comportamento"])

    def _classificar_para_anuncios(self):
        """
        Classifica o usuário para segmentação de anúncios.
        Isso é o que as plataformas VENDEM.
        """
        interesses = set(self.dados_usuario["interesses"])
        if "futebol" in interesses and "jogos" in interesses:
            return "PÚBLICO ALVO: Jovens gamers + esportes"
        elif "moda" in interesses or "beleza" in interesses:
            return "PÚBLICO ALVO: Moda e estilo de vida"
        elif "tecnologia" in interesses or "programacao" in interesses:
            return "PÚBLICO ALVO: Tech enthusiasts"
        else:
            return "PÚBLICO ALVO: Geral (menos valioso para anunciantes)"

# ============================================================
# SIMULAÇÃO
# ============================================================
print("=" * 60)
print("🕵️ SIMULADOR DE COLETA DE DADOS")
print("=" * 60)
print("\n⚠️ ATENÇÃO: Isso é uma SIMULAÇÃO do que acontece")
print(" na vida real, o tempo todo, com você.")
print(" A diferença? Na vida real, você não vê o código.")
print("=" * 60)

# Criando o "coletor"
coletor = ColetorDeDados()

# 1. Você se cadastra (fornece dados "voluntariamente")
print("\n📝 PASSO 1: Você se cadastra na plataforma")
print("-" * 40)
coletor.coletar_dados_basicos("João Silva", 16, "Masculino", "Curitiba")

# 2. Você começa a usar a plataforma (clica, curte, compartilha)
print("\n🖱️ PASSO 2: Você interage com a plataforma")
print("-" * 40)
coletor.rastrear_clique("Melhores gols de 2024", "futebol", 45)
coletor.rastrear_clique("Gameplay de novo jogo", "jogos", 120)
coletor.rastrear_clique("Tutorial de Python", "programacao", 90)
coletor.rastrear_clique("Notícia sobre política", "noticias", 15)  # pouco tempo = pouco interesse
coletor.rastrear_clique("Review de tênis Nike", "moda", 30)

# 3. A plataforma rastreia sua localização
print("\n📍 PASSO 3: A plataforma rastreia sua localização")
print("-" * 40)
coletor.rastrear_localizacao(-25.4284, -49.2733)  # Curitiba
coletor.rastrear_localizacao(-23.5505, -46.6333)  # São Paulo (você viajou?)

# 4. A plataforma constrói seu PERFIL
print("\n📊 PASSO 4: A plataforma constrói seu PERFIL DIGITAL")
print("=" * 60)
perfil = coletor.obter_perfil()

print(f"\n👤 PERFIL DO USUÁRIO:")
print(f"  Nome: {perfil['nome']}")
print(f"  Idade: {perfil['idade']} anos")
print(f"  Cidade: {perfil['cidade']}")
print(f"\n🎯 INTERESSES IDENTIFICADOS:")
for interesse in perfil['interesses_identificados']:
    print(f"  - {interesse}")
print(f"\n📈 MÉTRICAS DE COMPORTAMENTO:")
print(f"  Total de cliques rastreados: {perfil['total_cliques']}")
print(f"  Tempo médio por clique: {perfil['tempo_medio_por_clique']:.1f} segundos")
print(f"  Locais visitados (rastreados): {perfil['locais_visitados']}")
print(f"\n💰 CLASSIFICAÇÃO PARA ANÚNCIOS:")
print(f"  {perfil['classificacao_anunciante']}")

print("\n" + "=" * 60)
print("💡 REFLEXÃO:")
print("- A plataforma SABE mais sobre você do que você imagina.")
print("- Esse perfil é VENDIDO para anunciantes.")
print("- Você não é o cliente. Você é o PRODUTO.")
print("- E o pior? Você deu esses dados DE GRAÇA.")
print("=" * 60)

# ============================================================
# DESAFIO PARA OS ALUNOS:
# 1. Liste 10 coisas que a plataforma sabe sobre você
#    que você NUNCA contou a ela diretamente.
# 2. O que você pode fazer para reduzir a coleta de dados?
# 3. Pesquise: o que é a LGPD e como ela te protege?
# ============================================================

⏱️ Detalhamento Minuto a Minuto (50 min)

Minuto Atividade Descrição
0-5 Gancho Provocador 🎯 Professor pergunta: "Quem aqui já falou sobre um tênis e, 5 minutos depois, apareceu um anúncio de tênis no celular? Quem já sentiu que o celular está ouvindo vocês?" Silêncio. Olhares. Risos nervosos. "Não é coincidência. É dado. E não, o celular não está ouvindo ele está rastreando."
5-10 Exposição Dialógica 🗣️ O que são dados? "Dados são rastros digitais. Toda vez que você clica, curte, compartilha, pesquisa, para, volta, hesita você deixa um rastro. E alguém está coletando." Analogia: "Dados são o novo petróleo quem tem mais dados, tem mais poder. E quem tem mais poder, tem mais dinheiro."
10-15 Caça aos Dados Coletiva 🔍 Professor pergunta: "O que as empresas sabem sobre você?" Alunos levantam coletivamente: nome, idade, localização, interesses, histórico de navegação, lista de amigos, fotos, mensagens, hábitos de consumo, horários, dispositivos... Professor anota no quadro. A lista cresce. E cresce. E cresce. Choque coletivo.
15-20 Categorização Colaborativa 📋 Professor divide o quadro em 3 colunas: Públicos, Privados e Sensíveis. Alunos ajudam a categorizar os dados. Debate: "O que é público? O que é privado? O que é sensível? Quem decide? Você decide ou a plataforma decide por você?"
20-28 Vídeo: Cambridge Analytica 📺 Exibição de vídeo curto (5-8 min) sobre o caso Cambridge Analytica. Silêncio na sala. Professor não interrompe. Deixa o vídeo falar. O peso da realidade.
28-35 Debate Pós-Vídeo 🔥 Perguntas-guia: "O que te chocou mais? Você sabia que isso aconteceu? Isso pode acontecer de novo? O que impede? O que você faria se seus dados fossem usados assim? Você confia nas plataformas que usa?"
35-40 Dinâmica "O que eu dou de graça" 💸 Cada aluno escreve em um post-it 3 dados pessoais que ele compartilha online sem pensar. Cola no mural. Professor lê alguns em voz alta (sem identificar). A turma percebe o quanto compartilha. Silêncio constrangedor.
40-45 Análise do Código 💻 Professor projeta o código comentado e explica como funciona a coleta e o perfilamento. "Não é ficção científica. É o que acontece agora, enquanto você lê isso."
45-48 Reflexão Individual Escrita ✍️ Cada aluno escreve: "O que eu vou mudar na forma como compartilho meus dados depois de hoje?" (pode ser anônimo).
48-50 Fechamento + Provocação 🚀 "Seus dados valem dinheiro. Você está dando eles de graça. Quem está lucrando? Na semana que vem: por que seu cérebro é o verdadeiro produto?"

♿ Orientações para Adaptações e Inclusão Exemplos Práticos

Público Adaptações Sugeridas
Deficiência Visual Descreva o vídeo verbalmente; use materiais em braille ou áudio; leia os post-its em voz alta; use alto contraste e fontes grandes.
Deficiência Auditiva Garanta legendas no vídeo; forneça transcrição escrita completa; use feedback visual para todas as instruções.
Deficiência Motora Permita respostas verbais em vez de escritas; post-its podem ser preenchidos com ajuda; garanta acessibilidade física na sala.
TDAH Divida em blocos curtos (5-10 min); use cronômetros visuais; forneça checklist de tarefas.
TEA Envie o vídeo com antecedência; use perguntas estruturadas; mantenha ambiente calmo com poucos estímulos.
Altas Habilidades Desafio extra: "Pesquise sobre a Lei Geral de Proteção de Dados (LGPD) e traga 3 direitos que você tem. Compare com a GDPR europeia."

📊 Critérios Operacionais de Avaliação com pontuação

Critério Descrição Pontuação
Participação no Debate Contribuiu com ideias e perguntas relevantes e críticas. 0-2
Categorização de Dados Ajudou a classificar dados corretamente e justificou as escolhas. 0-2
Reflexão Escrita Escreveu uma reflexão coerente, sincera e com propostas concretas de mudança. 0-3
Post-it "O que eu dou de graça" Participou da dinâmica com honestidade e autoconsciência. 0-1
Colaboração Trabalhou bem em grupo, respeitando as ideias dos colegas. 0-2
Total 0-10

"Se você não está pagando pelo produto, você É o produto. E o preço? Seus dados. Sua atenção. Sua vida. Sua liberdade." 🛢️

🎯 Título

"A Economia da Atenção" ou "Por que seu cérebro é o verdadeiro produto (e as redes sociais são a fábrica)" 🧠

🎯 Objetivos Operacionais

  • Compreender o conceito de economia da atenção como motor do capitalismo digital.
  • Identificar gatilhos emocionais usados por redes sociais para prender sua atenção.
  • Analisar os impactos das redes sociais na saúde mental (ansiedade, depressão, isolamento, FOMO).
  • Refletir sobre vício digital e bem-estar digital como práticas de resistência.
  • Bônus: entender que o tempo de tela não é o problema o que você faz com ele é. E, mais importante, o que é feito com você enquanto você está lá.

📚 Conteúdo Programático

  • O que é a economia da atenção? Seu tempo + sua atenção = dinheiro. Plataformas competem pela sua atenção porque ela é finita e valiosa.
  • Gatilhos emocionais Notificações, rolagem infinita, curtidas, comparação social, FOMO (Fear Of Missing Out), validação social, dopamina.
  • Vício digital Como as redes são projetadas para te prender (design persuasivo, dark patterns, recompensas variáveis).
  • Impactos na saúde mental Ansiedade, depressão, isolamento social, distúrbios de sono, baixa autoestima.
  • Bem-estar digital Estratégias para um uso consciente, intencional e ético da tecnologia.
  • O documentário "O Dilema das Redes" como referência central.
  • A arquitetura da dependência Como as plataformas usam psicologia comportamental para criar hábitos.

🧩 Pilares do Pensamento Computacional trabalhados na aula

Pilar Aplicação na aula
Decomposição Dividir os gatilhos emocionais em categorias: notificações, rolagem, curtidas, comparação, FOMO. Cada um é uma peça da engenharia da dependência.
Reconhecimento de Padrões Identificar padrões de uso que indicam dependência (ex.: pegar o celular sem motivo, ver notificações o tempo todo, rolar sem parar).
Abstração Compreender a economia da atenção como um modelo abstrato: atenção → dados → anúncios → dinheiro.
Algoritmos Entender que os algoritmos são programados para maximizar o tempo de tela e que isso tem consequências na sua saúde mental.

📜 Habilidades BNCC e RCP-PR

BNCC Matemática e suas Tecnologias:

Código Habilidade
EM13MAT201 Interpretar dados estatísticos apresentados em diferentes mídias e suportes, avaliando a confiabilidade das informações e as implicações éticas do uso de dados.
EM13MAT401 Aplicar conceitos matemáticos na compreensão e resolução de problemas de outras áreas do conhecimento, com ou sem apoio de tecnologias digitais.

BNCC Linguagens e suas Tecnologias:

Código Habilidade
EM13LP04 Analisar os efeitos de sentido decorrentes do uso de recursos linguísticos e multissemióticos em diferentes textos, considerando a função social e os efeitos de sentido pretendidos.

BNCC Computação (Complemento à BNCC) Resolução CNE/CEB nº 2/2022:

Código Habilidade
EM13CO24 Identificar e reconhecer como as redes sociais e artefatos computacionais em geral interferem na saúde física e mental de seus usuários.

RCP-PR Referencial Curricular do Paraná (2025) Eixo Cultura Digital:

Este plano de aula está ancorado no eixo Cultura Digital do RCP-PR, com foco na "análise crítica da informação" e na capacidade de "avaliar a veracidade, a credibilidade e a intenção das informações", bem como na compreensão dos "impactos da transformação digital na sociedade".

💻 Código Comentado

Esta seção apresenta um código que simula os gatilhos emocionais usados pelas plataformas para que os alunos entendam como são programados para ficarem presos.

# ============================================================
# SIMULADOR DE GATILHOS EMOCIONAIS
# ============================================================
#
# Este código simula como as plataformas usam gatilhos
# emocionais para prender sua atenção.
#
# NA VIDA REAL: isso é chamado de "design persuasivo" ou
# "arquitetura da dependência". E funciona. Muito bem.
# ============================================================

import random
import time

class PlataformaDeAtencao:
    """
    Simula uma plataforma de rede social que usa gatilhos
    emocionais para maximizar o tempo de tela do usuário.
    """
    def __init__(self, nome):
        self.nome = nome
        self.gatilhos_ativos = []
        self.tempo_total = 0
        self.interacoes = 0

    def ativar_gatilho(self, gatilho):
        """
        Ativa um gatilho emocional na plataforma.
        Cada gatilho é uma estratégia de design para te prender.
        """
        self.gatilhos_ativos.append(gatilho)
        print(f"🔔 Gatilho ativado: {gatilho['nome']}")
        print(f"   Descrição: {gatilho['descricao']}")

    def simular_uso(self, minutos):
        """
        Simula o uso da plataforma por X minutos.
        A cada interação, um gatilho é acionado.
        """
        print(f"\n📱 Usando {self.nome} por {minutos} minutos...")
        print("-" * 50)
        for minuto in range(minutos):
            # A cada minuto, um gatilho pode ser acionado
            if random.random() < 0.4:  # 40% de chance por minuto
                gatilho = random.choice(self.gatilhos_ativos)
                self._acionar_gatilho(gatilho)
                self.interacoes += 1
            self.tempo_total += 1
            time.sleep(0.1)  # só para efeito de simulação
        print("-" * 50)
        print(f"⏱️ Tempo total: {self.tempo_total} minutos")
        print(f"🔄 Interações: {self.interacoes}")

    def _acionar_gatilho(self, gatilho):
        """
        Aciona um gatilho emocional específico.
        Cada gatilho tem um efeito psicológico diferente.
        """
        print(f"\n⚡ GATILHO ACIONADO: {gatilho['nome']}")
        print(f"   {gatilho['efeito']}")
        # Alguns gatilhos têm efeitos colaterais (ansiedade, FOMO, etc.)
        if gatilho['nome'] == "Notificação":
            print("   🔴 Você recebeu uma notificação! (você precisa ver agora)")
        elif gatilho['nome'] == "Rolagem Infinita":
            print("   🔄 Mais conteúdo está carregando... e mais... e mais...")
        elif gatilho['nome'] == "Curtidas":
            print("   ❤️ Alguém curtiu sua foto! (você se sente validado)")
        elif gatilho['nome'] == "Comparação Social":
            print("   👀 Seu amigo está viajando! (por que você não está lá?)")
        elif gatilho['nome'] == "FOMO":
            print("   😱 Você está perdendo algo importante! (todo mundo está vendo)")
        elif gatilho['nome'] == "Recompensa Variável":
            print("   🎰 Você ganhou um prêmio! (mas só se continuar rolando)")

# ============================================================
# CATÁLOGO DE GATILHOS EMOCIONAIS
# ============================================================
gatilhos = [
    {
        "nome": "Notificação",
        "descricao": "Alertas que interrompem sua atenção e criam urgência",
        "efeito": "Você sente a necessidade de verificar imediatamente"
    },
    {
        "nome": "Rolagem Infinita",
        "descricao": "Conteúdo que nunca acaba sempre tem mais um pouco",
        "efeito": "Você perde a noção do tempo e continua rolando"
    },
    {
        "nome": "Curtidas",
        "descricao": "Validação social em forma de coração",
        "efeito": "Você busca aprovação e volta para ver quantas curtiu"
    },
    {
        "nome": "Comparação Social",
        "descricao": "Mostrar a vida perfeita dos outros",
        "efeito": "Você se sente inadequado e continua olhando"
    },
    {
        "nome": "FOMO",
        "descricao": "Fear Of Missing Out medo de estar perdendo algo",
        "efeito": "Você fica para não perder nada (e perde tudo)"
    },
    {
        "nome": "Recompensa Variável",
        "descricao": "Prêmios imprevisíveis como um caça-níquel",
        "efeito": "Você continua porque \"dessa vez pode ser diferente\""
    }
]

# ============================================================
# SIMULAÇÃO
# ============================================================
print("=" * 60)
print("🧠 SIMULADOR DE ECONOMIA DA ATENÇÃO")
print("=" * 60)
print("\n⚠️ ATENÇÃO: Isso é uma SIMULAÇÃO do que as")
print(" plataformas fazem com você o tempo todo.")
print(" A diferença? Na vida real, você não vê os gatilhos.")
print("=" * 60)

# Criando a plataforma
plataforma = PlataformaDeAtencao("InstaBookTok")

# Ativando os gatilhos (na vida real, todos estão ativos o tempo todo)
print("\n🔧 CONFIGURANDO GATILHOS...")
print("-" * 40)
for gatilho in gatilhos:
    plataforma.ativar_gatilho(gatilho)

# Simulando o uso
print("\n" + "=" * 60)
plataforma.simular_uso(10)  # 10 minutos de uso

print("\n" + "=" * 60)
print("💡 REFLEXÃO:")
print("- Você entrou para ver uma coisa e ficou 10 minutos.")
print("- Cada minuto, um gatilho diferente te prendeu.")
print("- Você não percebeu o tempo passar.")
print("- Isso não é acidente. É engenharia.")
print("- E a pergunta que fica: quem está no controle,")
print("  você ou o algoritmo?")
print("=" * 60)

# ============================================================
# DESAFIO PARA OS ALUNOS:
# 1. Quais gatilhos você reconhece no seu uso diário?
# 2. Quanto tempo você gasta por dia em redes sociais?
# 3. O que você pode fazer para retomar o controle?
# 4. Pesquise: o que é "design persuasivo"?
# ============================================================

⏱️ Detalhamento Minuto a Minuto (50 min)

Minuto Atividade Descrição
0-5 Gancho Impactante 💥 Professor pergunta: "Quem aqui já pegou o celular para ver uma coisa e, 40 minutos depois, estava vendo vídeo de gato? Quem aqui já sentiu que o celular chama vocês?" Risos nervosos. "Não é culpa de vocês. É engenharia. É design. É psicologia aplicada."
5-10 Exposição Dialógica 🗣️ O que é a economia da atenção? Analogia: "Sua atenção é um produto. As redes sociais são a fábrica. Os anúncios são o que eles vendem. E você? Você é a matéria-prima."
10-18 Exibição de Trechos 📺 Exibição de trechos selecionados de "O Dilema das Redes" (8 min). Foco nos gatilhos emocionais e no design viciante. Silêncio. Impacto.
18-25 Debate Guiado 🔥 Perguntas: "O que te chamou mais atenção? Você já sentiu algo parecido? Como as redes são projetadas para te prender? O que é 'economia da atenção'? Quais são os gatilhos emocionais que você reconhece?"
25-30 Caça aos Gatilhos 🎯 Professor distribui cartões com gatilhos emocionais (notificações, rolagem infinita, curtidas, comparação social, FOMO). Alunos identificam quando e como cada gatilho já os afetou. Histórias reais. Vulnerabilidade compartilhada.
30-35 Análise do Código 💻 Professor projeta o código comentado e explica como os gatilhos são programados. "Não é mágica. É código. É algoritmo. É manipulação."
35-40 Plano de Bem-Estar Digital 📝 Cada aluno escreve 3 ações concretas para melhorar sua relação com a tecnologia: "O que vou parar de fazer? O que vou começar a fazer? O que vou continuar fazendo?"
40-45 Compartilhamento Coletivo 🗣️ Alguns alunos compartilham seus planos. A turma aplaude. Inspiração coletiva. "Não é sobre desligar tudo. É sobre decidir como e quando usar."
45-48 Diário de Reflexão ✍️ Cada aluno escreve: "Como eu me sinto depois de assistir a esse documentário? O que eu vou mudar?"
48-50 Fechamento + Provocação 🚀 "Seu cérebro é o produto. Mas você pode decidir como ele é usado. Na semana que vem: como o algoritmo te coloca numa bolha e como sair dela."

♿ Orientações para Adaptações e Inclusão Exemplos Práticos

Público Adaptações Sugeridas
Deficiência Visual Descreva as cenas do documentário verbalmente; forneça roteiro escrito; use áudio-descrição se disponível.
Deficiência Auditiva Garanta legendas no documentário; forneça transcrição completa; use feedback visual para todas as instruções.
Deficiência Motora Permita respostas verbais; use grupos com papéis definidos; garanta acessibilidade física.
TDAH Divida em blocos curtos (5-10 min); use cronômetros visuais; forneça checklist de tarefas.
TEA Envie o documentário com antecedência; use perguntas estruturadas; mantenha ambiente calmo.
Altas Habilidades Desafio extra: "Pesquise sobre 'design persuasivo' e traga 3 exemplos de interfaces que usam gatilhos emocionais. Analise como eles funcionam."

📊 Critérios Operacionais de Avaliação com pontuação

Critério Descrição Pontuação
Participação no Debate Contribuiu com ideias e perguntas relevantes e reflexivas. 0-2
Identificação de Gatilhos Identificou corretamente gatilhos emocionais e relatou experiências reais. 0-2
Plano de Bem-Estar Digital Criou um plano coerente, realista e com ações concretas. 0-3
Diário de Reflexão Escreveu uma reflexão sincera, profunda e com autocrítica. 0-2
Colaboração Trabalhou bem em grupo, respeitando as ideias dos colegas. 0-1
Total 0-10

"Seu cérebro não é uma máquina de pensar é uma máquina de ser hackeada. E as redes sociais são os melhores hackers do mundo." 🧠

🎯 Título

"Bolhas, Vieses e Fake News" ou "Como o algoritmo te engana (e você nem percebe que está sendo enganado)" 🎭

🎯 Objetivos Operacionais

  • Compreender o conceito de bolha digital (filter bubble) e viés algorítmico como mecanismos de isolamento e controle.
  • Identificar padrões de desinformação em posts, notícias e conteúdos virais.
  • Analisar criticamente a confiabilidade de fontes e a intencionalidade por trás da desinformação.
  • Desenvolver um algoritmo passo a passo para identificação de fake news.
  • Bônus: entender que a bolha não é acidental ela é lucrativa. Quanto mais você fica nela, mais você clica, mais dinheiro eles ganham.

📚 Conteúdo Programático

  • O que são bolhas digitais? Você só vê o que já concorda, o que já consome, o que já acredita. O mundo lá fora fica invisível.
  • Viés algorítmico O algoritmo te mostra o que você quer ver não o que é verdade. E muitas vezes, o que você quer ver não é verdade.
  • Fake news O que são, como se espalham e por que funcionam (apelo emocional, confirmação de crenças, ausência de freios).
  • Padrões de desinformação Títulos sensacionalistas, ausência de fontes, apelo emocional extremo, imagens manipuladas, datas falsas, autores falsos.
  • Curadoria algorítmica vs. pensamento crítico Quem decide o que é verdade? O algoritmo ou você?
  • Como sair da bolha? Dicas práticas: seguir fontes diversas, verificar informações, questionar sempre.
  • A economia política da desinformação Quem ganha com a confusão? Quem lucra com a polarização?

🧩 Pilares do Pensamento Computacional trabalhados na aula

Pilar Aplicação na aula
Reconhecimento de Padrões Identificar padrões de desinformação que se repetem em diferentes contextos: títulos chamativos, fontes ausentes, apelos emocionais, imagens fora de contexto.
Abstração Criar um modelo simplificado de como uma fake news se espalha: criação → impulsionamento → viralização → desmentido (tarde demais).
Decomposição Dividir o processo de verificação de notícias em passos concretos: fonte → data → autor → evidências → outras fontes.
Algoritmos Desenvolver um algoritmo (passo a passo) para identificar fake news uma "receita" que qualquer um pode seguir.

📜 Habilidades BNCC e RCP-PR

BNCC Matemática e suas Tecnologias:

Código Habilidade
EM13MAT301 Resolver e elaborar problemas do cotidiano, da Matemática e de outras áreas do conhecimento, que envolvem equações lineares, inequações e sistemas, com ou sem apoio de tecnologias digitais.
EM13MAT201 Interpretar dados estatísticos apresentados em diferentes mídias e suportes, avaliando a confiabilidade das informações e as implicações éticas do uso de dados.

BNCC Linguagens e suas Tecnologias:

Código Habilidade
EM13LP05 Produzir textos de diferentes gêneros, considerando a adequação ao contexto de produção e circulação, a composição, a estilística e a variedade linguística.
EM13LP07 Analisar, em textos de diferentes gêneros, marcas que expressam a posição do enunciador frente àquilo que é dito.

BNCC Computação (Complemento à BNCC) Resolução CNE/CEB nº 2/2022:

Código Habilidade
EM13CO23 Analisar criticamente as experiências em comunidades virtuais e as relações advindas da interação e comunicação com outras pessoas, bem como seus impactos na sociedade.
EM13CO04 Reconhecer e aplicar os princípios da abstração, decomposição, reconhecimento de padrões e algoritmos na resolução de problemas.

RCP-PR Referencial Curricular do Paraná (2025) Eixo Cultura Digital:

Este plano de aula está ancorado no eixo Cultura Digital do RCP-PR, que aborda a "análise crítica da informação" e a capacidade de "avaliar a veracidade, a credibilidade e a intenção das informações". A habilidade EM13CO23 está diretamente alinhada à análise crítica das experiências em comunidades virtuais e seus impactos sociais.

💻 Código Comentado

Esta seção apresenta um código que simula a formação de bolhas e a propagação de fake news para que os alunos entendam, na prática, como a desinformação se espalha.

# ============================================================
# SIMULADOR DE BOLHAS E FAKE NEWS
# ============================================================
#
# Este código simula como algoritmos de recomendação criam
# bolhas e como fake news se espalham dentro dessas bolhas.
#
# NA VIDA REAL: isso acontece em escala global, em milissegundos,
# com bilhões de pessoas, sem que ninguém veja o código.
# ============================================================

import random

# ============================================================
# 1. SIMULAÇÃO DE BOLHA DIGITAL
# ============================================================
class BolhaDigital:
    """
    Simula uma bolha digital um grupo de pessoas que só
    consomem conteúdo que confirma suas crenças.
    """
    def __init__(self, nome, crenca_central):
        self.nome = nome
        self.crenca_central = crenca_central  # ex: "futebol é o melhor esporte"
        self.membros = []
        self.conteudos_consumidos = []

    def adicionar_membro(self, pessoa):
        """Adiciona uma pessoa à bolha."""
        self.membros.append(pessoa)
        print(f"👤 {pessoa} entrou na bolha '{self.nome}'")

    def recomendar_conteudo(self, conteudo):
        """
        Recomenda um conteúdo apenas se ele estiver alinhado
        com a crença central da bolha.
        """
        if conteudo["alinhamento"] == self.crenca_central:
            self.conteudos_consumidos.append(conteudo)
            print(f"📰 BOLHA '{self.nome}' consumiu: {conteudo['titulo']}")
            return True
        else:
            print(f"🚫 BOLHA '{self.nome}' REJEITOU: {conteudo['titulo']}")
            return False

# ============================================================
# 2. SIMULAÇÃO DE FAKE NEWS
# ============================================================
class FakeNews:
    """
    Simula uma notícia falsa, com seus atributos e seu potencial
    de viralização dentro de bolhas.
    """
    def __init__(self, titulo, conteudo, alinhamento, nivel_apelo_emocional, fonte):
        self.titulo = titulo
        self.conteudo = conteudo
        self.alinhamento = alinhamento  # ex: "futebol é o melhor esporte"
        self.nivel_apelo_emocional = nivel_apelo_emocional  # 0 a 10
        self.fonte = fonte
        self.viralizacao = 0
        self.compartilhamentos = 0

    def tentar_viralizar(self, bolha):
        """
        Tenta viralizar dentro de uma bolha.
        Quanto maior o apelo emocional, maior a chance.
        """
        if bolha.crenca_central == self.alinhamento:
            # Dentro da bolha, a fake news se espalha fácil
            chance = self.nivel_apelo_emocional / 10
            if random.random() < chance:
                self.viralizacao += 1
                self.compartilhamentos += random.randint(1, 10)
                print(f"🔥 FAKE NEWS VIRALIZOU na bolha '{bolha.nome}'!")
                print(f"   Título: {self.titulo}")
                print(f"   Compartilhamentos: +{self.compartilhamentos}")
                return True
        return False

# ============================================================
# 3. SIMULAÇÃO
# ============================================================
print("=" * 60)
print("🎭 SIMULADOR DE BOLHAS E FAKE NEWS")
print("=" * 60)
print("\n⚠️ ATENÇÃO: Isso é uma SIMULAÇÃO do que acontece")
print(" na vida real, o tempo todo, com milhões de pessoas.")
print(" A diferença? Na vida real, você não vê o mecanismo.")
print("=" * 60)

# Criando bolhas
print("\n📌 CRIANDO BOLHAS...")
print("-" * 40)
bolha_futebol = BolhaDigital("Futebolistas", "futebol é o melhor esporte")
bolha_politica = BolhaDigital("Política", "política é sobre poder")
bolha_tecnologia = BolhaDigital("Tech Lovers", "tecnologia salva o mundo")

# Adicionando membros
bolha_futebol.adicionar_membro("João")
bolha_futebol.adicionar_membro("Pedro")
bolha_futebol.adicionar_membro("Maria")
bolha_politica.adicionar_membro("Ana")
bolha_politica.adicionar_membro("Carlos")
bolha_tecnologia.adicionar_membro("Lucas")
bolha_tecnologia.adicionar_membro("Julia")

# Criando conteúdos (alguns verdadeiros, outros falsos)
print("\n📰 CRIANDO CONTEÚDOS...")
print("-" * 40)
conteudos = [
    {
        "titulo": "Brasil vence campeonato de futebol",
        "alinhamento": "futebol é o melhor esporte",
        "verdadeiro": True
    },
    {
        "titulo": "Jogador famoso traiu a esposa com modelo",
        "alinhamento": "futebol é o melhor esporte",
        "verdadeiro": False  # FAKE NEWS!
    },
    {
        "titulo": "Político roubou dinheiro público",
        "alinhamento": "política é sobre poder",
        "verdadeiro": True
    },
    {
        "titulo": "Político adversário é alienígena",
        "alinhamento": "política é sobre poder",
        "verdadeiro": False  # FAKE NEWS!
    },
    {
        "titulo": "Novo smartphone revoluciona o mundo",
        "alinhamento": "tecnologia salva o mundo",
        "verdadeiro": True
    },
    {
        "titulo": "Inteligência Artificial vai destruir a humanidade",
        "alinhamento": "tecnologia salva o mundo",
        "verdadeiro": False  # FAKE NEWS!
    }
]

# Simulando recomendações e viralização
print("\n🔄 SIMULANDO RECOMENDAÇÕES E VIRALIZAÇÃO...")
print("=" * 60)
for conteudo in conteudos:
    print(f"\n📌 Analisando: '{conteudo['titulo']}'")
    print(f"   Alinhamento: {conteudo['alinhamento']}")
    print(f"   Verdadeiro: {conteudo['verdadeiro']}")
    print("-" * 40)
    # Recomendar para cada bolha
    for bolha in [bolha_futebol, bolha_politica, bolha_tecnologia]:
        if bolha.crenca_central == conteudo["alinhamento"]:
            if conteudo["verdadeiro"]:
                print(f"✅ BOLHA '{bolha.nome}' consumiu conteúdo VERDADEIRO")
            else:
                print(f"⚠️ BOLHA '{bolha.nome}' consumiu FAKE NEWS!")
                # Fake news tem mais chance de viralizar
                if random.random() < 0.7:  # 70% de chance
                    print(f"🔥 FAKE NEWS VIRALIZOU na bolha '{bolha.nome}'!")

print("\n" + "=" * 60)
print("💡 REFLEXÃO:")
print("- Dentro da bolha, você só vê o que confirma suas crenças.")
print("- Fake news se espalham MAIS RAPIDO que verdades.")
print("- Por quê? Porque fake news têm MAIS APELO EMOCIONAL.")
print("- E mais apelo emocional = mais cliques = mais dinheiro.")
print("- A pergunta: você está dentro de uma bolha?")
print("  E como você sai dela?")
print("=" * 60)

# ============================================================
# DESAFIO PARA OS ALUNOS:
# 1. Liste 3 fontes de informação que você consome regularmente.
# 2. Essas fontes são diversas ou estão todas na mesma bolha?
# 3. Crie um ALGORITMO (passo a passo) para identificar fake news.
# 4. Teste seu algoritmo com uma notícia real.
# ============================================================

⏱️ Detalhamento Minuto a Minuto (50 min)

Minuto Atividade Descrição
0-5 Gancho Provocador 🎯 Professor mostra duas notícias sobre o mesmo fato completamente diferentes. Uma de um veículo confiável, outra de uma fonte duvidosa. Pergunta: "Qual é a verdade? Como saber? Será que o algoritmo te mostrou a certa ou a que você queria ver?"
5-10 Exposição Dialógica 🗣️ O que são bolhas digitais? Analogia: "Você está numa bolha. Dentro da bolha, todo mundo pensa como você. Fora da bolha, tem um mundo que você não vê. E o algoritmo te mantém dentro dela porque é lá que você clica. É lá que você fica."
10-15 Análise de Posts 🔍 Professor projeta 5 posts (reais ou simulados). Alunos analisam: "Isso é verdade? Como saber? Quais são os sinais de que pode ser falso?"
15-22 Identificação de Padrões 📋 Alunos identificam padrões de desinformação: títulos sensacionalistas, ausência de fontes, apelo emocional extremo, imagens manipuladas, datas falsas, autores falsos. Professor anota no quadro. Lista coletiva.
22-30 Caça à Fake News Em Grupos 🕵️ Cada grupo recebe 5 posts. Deve identificar quais são falsos e justificar com base nos padrões identificados.
30-35 Análise do Código 💻 Professor projeta o código comentado e explica como a simulação de bolhas e fake news funciona. "Não é mágica. É engenharia social disfarçada de algoritmo."
35-40 Apresentação das Análises 🎤 Cada grupo apresenta suas conclusões. A turma debate: "Por que essa notícia é falsa? O que o algoritmo faria com ela? Ela seria impulsionada ou escondida?"
40-45 Criando um Algoritmo Anti-Fake News 📝 Cada grupo desenvolve um passo a passo (algoritmo) para identificar fake news. Exemplo: "1. Verifique a fonte. 2. Leia além do título. 3. Busque outras fontes. 4. Verifique a data. 5. Desconfie de apelo emocional extremo."
45-48 Compartilhamento dos Algoritmos 🗣️ Grupos compartilham seus algoritmos. A turma vota no mais completo e no mais criativo.
48-50 Fechamento + Provocação 🚀 "A bolha não é acidente é estratégia. Quanto mais você fica nela, mais você clica. E mais dinheiro eles fazem. A única saída? Pensamento crítico. Na semana que vem: a Lei que te protege ou deveria."

♿ Orientações para Adaptações e Inclusão Exemplos Práticos

Público Adaptações Sugeridas
Deficiência Visual Descreva os posts verbalmente; forneça materiais em braille ou áudio; use alto contraste e fontes grandes.
Deficiência Auditiva Garanta legendas em vídeos; use feedback visual; disponibilize roteiro escrito.
Deficiência Motora Permita respostas verbais; use grupos com papéis definidos; garanta acessibilidade física.
TDAH Divida em sprints curtos (5-10 min); use cronômetros visuais; forneça checklist de tarefas.
TEA Envie os posts com antecedência; use perguntas estruturadas; mantenha ambiente calmo.
Altas Habilidades Desafio extra: "Crie um infográfico sobre como identificar fake news e compartilhe com a turma. Pesquise sobre o fenômeno das 'deepfakes'."

📊 Critérios Operacionais de Avaliação com pontuação

Critério Descrição Pontuação
Análise de Posts Identificou corretamente posts falsos e verdadeiros, justificando as escolhas. 0-2
Identificação de Padrões Contribuiu para a lista coletiva de padrões de desinformação. 0-2
Algoritmo Anti-Fake News Criou um passo a passo coerente, completo e aplicável. 0-3
Apresentação Apresentou as conclusões de forma clara, organizada e convincente. 0-2
Colaboração Trabalhou bem em grupo, respeitando as ideias dos colegas. 0-1
Total 0-10

"A bolha não é acidente é estratégia. Quanto mais você fica nela, mais você clica. E mais dinheiro eles fazem. A única saída? Pensamento crítico." 🎭

🎯 Título

"LGPD e Privacidade" ou "Seus dados, suas regras a Lei que (talvez) te proteja (se você a conhecer)" ⚖️

🎯 Objetivos Operacionais

  • Compreender os princípios da Lei Geral de Proteção de Dados (LGPD).
  • Identificar os direitos do cidadão digital sobre seus dados pessoais.
  • Analisar casos reais de violação de dados no Brasil e no mundo.
  • Aplicar os conceitos da LGPD em situações cotidianas.
  • Bônus: entender que a lei existe, mas só funciona se você a conhecer e exigir seus direitos.

📚 Conteúdo Programático

  • O que é a LGPD? Lei nº 13.709/2018, inspirada na GDPR europeia.
  • Princípios da LGPD Finalidade, adequação, necessidade, transparência, segurança, prevenção, não discriminação.
  • Direitos do titular Acesso, correção, exclusão, portabilidade, revogação do consentimento, informação sobre compartilhamento.
  • Dados sensíveis O que são (origem racial, convicção religiosa, opinião política, dados de saúde, orientação sexual) e por que merecem proteção extra.
  • Casos reais de violação de dados no Brasil Vazamentos, usos indevidos, multas aplicadas.
  • O papel do Encarregado de Dados (DPO) Quem é, o que faz, como contatar.
  • A LGPD na prática O que você pode fazer para exigir seus direitos.

🧩 Pilares do Pensamento Computacional trabalhados na aula

Pilar Aplicação na aula
Abstração Compreender a LGPD como um modelo abstrato de proteção um conjunto de regras que simplifica a relação entre você e as empresas que coletam seus dados.
Decomposição Dividir a LGPD em partes compreensíveis: princípios, direitos, deveres, sanções. Cada parte é uma camada de proteção.
Reconhecimento de Padrões Identificar padrões de violação de dados que se repetem em diferentes contextos (vazamentos, usos indevidos, falta de transparência).
Algoritmos Desenvolver um passo a passo para exercer seus direitos: "1. Identifique o dado. 2. Solicite acesso. 3. Peça correção/exclusão. 4. Reclame à ANPD."

📜 Habilidades BNCC e RCP-PR

BNCC Matemática e suas Tecnologias:

Código Habilidade
EM13MAT302 Construir modelos matemáticos para descrever fenômenos e situações do cotidiano, utilizando funções e equações, com ou sem apoio de tecnologias digitais.
EM13MAT401 Aplicar conceitos matemáticos na compreensão e resolução de problemas de outras áreas do conhecimento.

BNCC Linguagens e suas Tecnologias:

Código Habilidade
EM13LP07 Analisar, em textos de diferentes gêneros, marcas que expressam a posição do enunciador frente àquilo que é dito.
EM13LP11 Apresentar e defender pontos de vista em situações de debate, considerando a relevância dos argumentos e a adequação ao contexto.

BNCC Computação (Complemento à BNCC) Resolução CNE/CEB nº 2/2022:

Código Habilidade
EM13CO26 Aplicar os conceitos e pressupostos do direito digital em sua conduta e experiências com o cotidiano da cultura digital, bem como na produção e uso de artefatos computacionais.

RCP-PR Referencial Curricular do Paraná (2025) Eixo Cultura Digital:

Este plano de aula está ancorado no eixo Cultura Digital do RCP-PR, com foco em "segurança e privacidade" e "proteção de dados pessoais, reconhecimento de riscos no ambiente online". A habilidade EM13CO26 está diretamente alinhada à aplicação dos conceitos de direito digital no cotidiano.

💻 Código Comentado

Esta seção apresenta um código que simula a aplicação da LGPD para que os alunos entendam, na prática, como a lei pode ser aplicada.

# ============================================================
# SIMULADOR DE APLICAÇÃO DA LGPD
# ============================================================
#
# Este código simula como a LGPD pode ser aplicada na prática.
# Ele mostra como você pode exercer seus direitos sobre seus dados.
#
# NA VIDA REAL: você tem esses direitos. Mas precisa conhecê-los
# e exigi-los. A lei não age sozinha você age por ela.
# ============================================================

# ============================================================
# 1. BANCO DE DADOS DE UMA EMPRESA (simulado)
# ============================================================
class BancoDeDados:
    """
    Simula o banco de dados de uma empresa que coleta dados de usuários.
    """
    def __init__(self, nome_empresa):
        self.nome_empresa = nome_empresa
        self.usuarios = {}
        self.logs_acesso = []

    def cadastrar_usuario(self, nome, email, telefone, cpf, dados_sensiveis=None):
        """Cadastra um usuário no banco de dados."""
        self.usuarios[email] = {
            "nome": nome,
            "email": email,
            "telefone": telefone,
            "cpf": cpf,
            "dados_sensiveis": dados_sensiveis or {},
            "data_cadastro": "hoje"
        }
        print(f"✅ Usuário {nome} cadastrado na {self.nome_empresa}")

    def acessar_dados(self, email, solicitante):
        """Simula o acesso a dados (registra quem acessou)."""
        if email in self.usuarios:
            self.logs_acesso.append({
                "email": email,
                "solicitante": solicitante,
                "data": "agora"
            })
            print(f"🔍 Dados de {email} acessados por {solicitante}")
            return self.usuarios[email]
        else:
            print(f"❌ Usuário {email} não encontrado")
            return None

# ============================================================
# 2. SIMULAÇÃO DOS DIREITOS DO TITULAR (LGPD)
# ============================================================
class DireitosTitular:
    """
    Simula os direitos que você tem como titular de dados pessoais,
    de acordo com a LGPD (Lei nº 13.709/2018).
    """
    def __init__(self, banco_dados):
        self.banco = banco_dados

    def direito_acesso(self, email):
        """
        Direito de acesso: você pode solicitar que a empresa
        te mostre TODOS os dados que ela tem sobre você.
        """
        print(f"\n📋 EXERCENDO DIREITO DE ACESSO - {email}")
        print("-" * 40)
        dados = self.banco.acessar_dados(email, "Titular (você)")
        if dados:
            print("\n📊 DADOS QUE A EMPRESA TEM SOBRE VOCÊ:")
            for chave, valor in dados.items():
                print(f"  {chave}: {valor}")
            print("\n✅ Direito de acesso exercido com sucesso!")
            return dados
        return None

    def direito_correcao(self, email, campo, novo_valor):
        """
        Direito de correção: você pode pedir para corrigir
        dados incompletos, inexatos ou desatualizados.
        """
        print(f"\n✏️ EXERCENDO DIREITO DE CORREÇÃO - {email}")
        print("-" * 40)
        if email in self.banco.usuarios:
            if campo in self.banco.usuarios[email]:
                self.banco.usuarios[email][campo] = novo_valor
                print(f"✅ Campo '{campo}' atualizado para: {novo_valor}")
                print("✅ Direito de correção exercido com sucesso!")
            else:
                print(f"❌ Campo '{campo}' não encontrado")
        else:
            print(f"❌ Usuário {email} não encontrado")

    def direito_exclusao(self, email):
        """
        Direito de exclusão: você pode pedir para a empresa
        excluir seus dados pessoais (com algumas exceções).
        """
        print(f"\n🗑️ EXERCENDO DIREITO DE EXCLUSÃO - {email}")
        print("-" * 40)
        if email in self.banco.usuarios:
            confirmacao = input(f"Tem certeza que quer excluir todos os dados de {email}? (s/n): ")
            if confirmacao.lower() == 's':
                del self.banco.usuarios[email]
                print("✅ Dados excluídos com sucesso!")
                print("✅ Direito de exclusão exercido com sucesso!")
            else:
                print("❌ Exclusão cancelada.")
        else:
            print(f"❌ Usuário {email} não encontrado")

    def direito_portabilidade(self, email, nova_empresa):
        """
        Direito de portabilidade: você pode pedir para a empresa
        transferir seus dados para outra empresa.
        """
        print(f"\n📤 EXERCENDO DIREITO DE PORTABILIDADE - {email}")
        print("-" * 40)
        dados = self.banco.acessar_dados(email, "Titular (você)")
        if dados:
            print(f"📦 Dados de {email} sendo transferidos para {nova_empresa}...")
            print("✅ Dados transferidos com sucesso!")
            print("✅ Direito de portabilidade exercido com sucesso!")

    def direito_revogacao_consentimento(self, email):
        """
        Direito de revogação do consentimento: você pode retirar
        o consentimento que deu para o tratamento de dados.
        """
        print(f"\n🔄 EXERCENDO DIREITO DE REVOGAÇÃO DE CONSENTIMENTO - {email}")
        print("-" * 40)
        print("⚠️ Você está revogando o consentimento para o tratamento de seus dados.")
        print(" A empresa deve parar de tratar seus dados imediatamente.")
        confirmacao = input("Confirma a revogação? (s/n): ")
        if confirmacao.lower() == 's':
            print("✅ Consentimento revogado com sucesso!")
            print("✅ A empresa deve parar de tratar seus dados.")
        else:
            print("❌ Revogação cancelada.")

# ============================================================
# 3. SIMULAÇÃO
# ============================================================
print("=" * 60)
print("⚖️ SIMULADOR DE APLICAÇÃO DA LGPD")
print("=" * 60)
print("\n⚠️ ATENÇÃO: Isso é uma SIMULAÇÃO dos seus direitos")
print(" sob a Lei Geral de Proteção de Dados (LGPD).")
print(" Na vida real, você TEM esses direitos.")
print(" A diferença? Você precisa EXIGI-LOS.")
print("=" * 60)

# Criando o banco de dados de uma empresa
empresa = BancoDeDados("TechData S.A.")

# Cadastrando um usuário (você)
print("\n📝 CADASTRANDO USUÁRIO...")
print("-" * 40)
empresa.cadastrar_usuario(
    nome="João Silva",
    email="joao@email.com",
    telefone="(41) 99999-9999",
    cpf="123.456.789-00",
    dados_sensiveis={
        "orientacao_politica": "não informado",
        "religiao": "não informado"
    }
)

# Criando o objeto de direitos
direitos = DireitosTitular(empresa)

# ============================================================
# SIMULANDO O EXERCÍCIO DOS DIREITOS
# ============================================================
print("\n" + "=" * 60)
print("🔑 EXERCENDO SEUS DIREITOS LGPD")
print("=" * 60)

# 1. Direito de acesso
print("\n1️⃣ DIREITO DE ACESSO")
print("-" * 40)
direitos.direito_acesso("joao@email.com")

# 2. Direito de correção
print("\n2️⃣ DIREITO DE CORREÇÃO")
print("-" * 40)
direitos.direito_correcao("joao@email.com", "telefone", "(41) 88888-8888")

# 3. Direito de portabilidade
print("\n3️⃣ DIREITO DE PORTABILIDADE")
print("-" * 40)
direitos.direito_portabilidade("joao@email.com", "NovaData Inc.")

# 4. Direito de revogação de consentimento
print("\n4️⃣ DIREITO DE REVOGAÇÃO DE CONSENTIMENTO")
print("-" * 40)
direitos.direito_revogacao_consentimento("joao@email.com")

print("\n" + "=" * 60)
print("💡 REFLEXÃO:")
print("- Você sabia que tem TODOS esses direitos?")
print("- A LGPD existe. Mas ela só funciona se você a CONHECE.")
print("- E mais: ela só funciona se você a EXIGE.")
print("- Seus dados são SEUS. E só seus.")
print("=" * 60)

# ============================================================
# DESAFIO PARA OS ALUNOS:
# 1. Pesquise: o que é a ANPD (Autoridade Nacional de Proteção de Dados)?
# 2. Como fazer uma reclamação à ANPD?
# 3. Quais são as multas previstas para violação da LGPD?
# 4. Compare a LGPD com a GDPR (Lei Europeia).
# ============================================================

⏱️ Detalhamento Minuto a Minuto (50 min)

Minuto Atividade Descrição
0-5 Gancho Provocador 🎯 Professor pergunta: "Quem aqui já leu os termos de uso de algum aplicativo? Quem já clicou em 'Aceito' sem ler?" Risos nervosos. "Vocês acabaram de dar permissão para uma empresa fazer o que quiser com seus dados. Mas vocês têm direitos. E a lei existe."
5-10 Exposição Dialógica 🗣️ O que é a LGPD? Analogia: "A LGPD é como um manual de instruções para empresas que coletam dados. Ela diz o que podem fazer, o que não podem e o que você pode exigir."
10-15 Direitos do Titular 📋 Professor apresenta os direitos do cidadão digital: acesso, correção, exclusão, portabilidade, revogação do consentimento. Alunos anotam. Cada direito é um poder.
15-20 Mapa Conceitual Coletivo 🗺️ Professor desenha um mapa conceitual no quadro sobre dados pessoais. Alunos ajudam a preencher: "O que são dados públicos, privados e sensíveis?"
20-30 Julgamento Digital Casos ⚖️ Cada grupo recebe um caso-problema (ex: "Uma escola compartilhou fotos de alunos sem permissão"; "Uma empresa vendeu dados de clientes para outra sem aviso"). Os grupos devem: (1) identificar a violação, (2) apontar qual direito foi violado, (3) propor uma solução.
30-35 Análise do Código 💻 Professor projeta o código comentado e explica como a LGPD pode ser aplicada na prática. "Não é teoria. É direito. É poder. É proteção."
35-38 Apresentação dos Julgamentos 🎤 Cada grupo apresenta seu caso e sua solução. A turma debate: "A solução é justa? O que mais poderia ser feito?"
38-45 Plano de Ação Pessoal 📝 Cada aluno escreve: "O que eu vou fazer para proteger meus dados a partir de hoje?" (ex: "Vou ler os termos de uso"; "Vou pedir exclusão de dados"; "Vou pesquisar sobre a ANPD").
45-48 Compartilhamento 🗣️ Alguns alunos compartilham seus planos. Inspiração coletiva.
48-50 Fechamento + Provocação 🚀 "A lei existe. Mas ela só funciona se você a conhece e exige seus direitos. Na semana que vem: como se comportar online quando ninguém está vendo."

♿ Orientações para Adaptações e Inclusão Exemplos Práticos

Público Adaptações Sugeridas
Deficiência Visual Forneça materiais em braille ou áudio; leia os casos em voz alta; use alto contraste e fontes grandes.
Deficiência Auditiva Garanta legendas; use feedback visual; disponibilize roteiro escrito.
Deficiência Motora Permita respostas verbais; use grupos com papéis definidos; garanta acessibilidade física.
TDAH Divida em sprints curtos (5-10 min); use cronômetros visuais; forneça checklist de tarefas.
TEA Envie os casos com antecedência; use perguntas estruturadas; mantenha ambiente calmo.
Altas Habilidades Desafio extra: "Pesquise sobre a LGPD e a GDPR (Lei Europeia) e compare os dois sistemas. Quais são as diferenças e semelhanças?"

📊 Critérios Operacionais de Avaliação com pontuação

Critério Descrição Pontuação
Compreensão da LGPD Demonstrou entendimento dos princípios e direitos da LGPD. 0-2
Análise de Casos Identificou corretamente as violações e propôs soluções adequadas. 0-3
Mapa Conceitual Contribuiu para a construção do mapa coletivo com ideias relevantes. 0-2
Plano de Ação Pessoal Criou um plano coerente, realista e com ações concretas. 0-2
Colaboração Trabalhou bem em grupo, respeitando as ideias dos colegas. 0-1
Total 0-10

"A lei não te protege se você não a conhece. Seus dados são seus e só seus. Exija seus direitos." ⚖️

🎯 Título

"Netiqueta e Cyberbullying" ou "O que você faz online quando ninguém está vendo (e por que isso define quem você é)" 💬

🎯 Objetivos Operacionais

  • Compreender o conceito de netiqueta e sua importância para a convivência digital.
  • Identificar situações de cyberbullying e assédio virtual em diferentes contextos.
  • Desenvolver estratégias de diálogo seguro em ambientes virtuais.
  • Conhecer os canais de denúncia e como usá-los de forma eficaz.
  • Bônus: entender que o que você faz online tem consequências no mundo real e que o anonimato não é impunidade.

📚 Conteúdo Programático

  • O que é netiqueta? Etiqueta digital: regras de comportamento online, respeito, empatia, civilidade.
  • Cyberbullying O que é, como identificar, quais são os impactos (vítimas, agressores, testemunhas).
  • Assédio virtual Formas (perseguição, difamação, exposição, humilhação) e impactos psicológicos.
  • Diálogo seguro Como conversar online com respeito e empatia, mesmo em discordância.
  • Denúncia Onde e como denunciar abusos (plataformas, escola, polícia, disque 100).
  • O papel da empatia Antes de postar, pensar: "Como a outra pessoa se sentiria?"
  • Consequências legais O cyberbullying é crime (Lei nº 13.185/2015).

🧩 Pilares do Pensamento Computacional trabalhados na aula

Pilar Aplicação na aula
Algoritmos Desenvolver um passo a passo para denúncia: "1. Salve provas. 2. Bloqueie o agressor. 3. Denuncie na plataforma. 4. Comunique à escola. 5. Procure ajuda."
Decomposição Dividir o cyberbullying em papéis (vítima, agressor, testemunha) e ações (o que cada um pode fazer).
Reconhecimento de Padrões Identificar padrões de comportamento abusivo que se repetem em diferentes contextos (humilhação pública, perseguição, exclusão).
Abstração Compreender a netiqueta como um modelo abstrato de convivência regras que simplificam a interação online.

📜 Habilidades BNCC e RCP-PR

BNCC Matemática e suas Tecnologias:

Código Habilidade
EM13MAT401 Aplicar conceitos matemáticos na compreensão e resolução de problemas de outras áreas do conhecimento.
EM13MAT501 Comunicar ideias matemáticas de forma clara, precisa e contextualizada, utilizando diferentes linguagens e representações.

BNCC Linguagens e suas Tecnologias:

Código Habilidade
EM13LP08 Produzir textos de diferentes gêneros, com adequação ao contexto de produção e circulação, a composição, a estilística e a variedade linguística.
EM13LP11 Apresentar e defender pontos de vista em situações de debate, considerando a relevância dos argumentos e a adequação ao contexto.

BNCC Computação (Complemento à BNCC) Resolução CNE/CEB nº 2/2022:

Código Habilidade
EM13CO25 Dialogar em ambientes virtuais com segurança e respeito às diferenças culturais e pessoais, reconhecendo e denunciando atitudes abusivas.

RCP-PR Referencial Curricular do Paraná (2025) Eixo Cultura Digital:

Este plano de aula está ancorado no eixo Cultura Digital do RCP-PR, com foco no "diálogo em ambientes virtuais com segurança e respeito às diferenças culturais e pessoais". A habilidade EM13CO25 está diretamente alinhada ao reconhecimento e denúncia de atitudes abusivas.

💻 Código Comentado

Esta seção apresenta um código que simula situações de cyberbullying e oferece um roteiro de denúncia para que os alunos saibam exatamente o que fazer.

# ============================================================
# SIMULADOR DE CYBERBULLYING E ROTEIRO DE DENÚNCIA
# ============================================================
#
# Este código simula situações de cyberbullying e oferece
# um passo a passo para denúncia e apoio à vítima.
#
# NA VIDA REAL: o cyberbullying acontece o tempo todo.
# A diferença? Muitas vezes, as vítimas não sabem o que fazer.
# Aqui, você vai aprender.
# ============================================================

# ============================================================
# 1. SIMULAÇÃO DE SITUAÇÕES DE CYBERBULLYING
# ============================================================
class CyberbullyingSimulator:
    """
    Simula situações de cyberbullying para que os alunos
    possam praticar a identificação e a resposta adequada.
    """
    def __init__(self):
        self.situacoes = []
        self._carregar_situacoes()

    def _carregar_situacoes(self):
        """Carrega situações de cyberbullying para simulação."""
        self.situacoes = [
            {
                "id": 1,
                "titulo": "Humilhação em grupo",
                "descricao": "Alguém postou uma foto sua em um grupo de WhatsApp e fez comentários humilhantes sobre sua aparência.",
                "papel": "vítima",
                "impacto": "Vergonha, isolamento, ansiedade"
            },
            {
                "id": 2,
                "titulo": "Compartilhamento de foto sem permissão",
                "descricao": "Uma foto sua foi compartilhada em redes sociais sem sua permissão, com comentários maldosos.",
                "papel": "vítima",
                "impacto": "Exposição, constrangimento, medo"
            },
            {
                "id": 3,
                "titulo": "Perseguição online",
                "descricao": "Alguém está te enviando mensagens ofensivas repetidamente, mesmo depois de você pedir para parar.",
                "papel": "vítima",
                "impacto": "Medo, ansiedade, sensação de insegurança"
            },
            {
                "id": 4,
                "titulo": "Exclusão virtual",
                "descricao": "Você foi excluído de um grupo e está sendo ignorado por colegas que antes eram seus amigos.",
                "papel": "vítima",
                "impacto": "Solidão, tristeza, baixa autoestima"
            },
            {
                "id": 5,
                "titulo": "Difamação",
                "descricao": "Alguém está espalhando mentiras sobre você nas redes sociais.",
                "papel": "vítima",
                "impacto": "Reputação manchada, ansiedade, depressão"
            }
        ]

    def mostrar_situacao(self, id_situacao):
        """Mostra uma situação específica."""
        for situacao in self.situacoes:
            if situacao["id"] == id_situacao:
                print(f"\n📌 SITUAÇÃO: {situacao['titulo']}")
                print(f"   Descrição: {situacao['descricao']}")
                print(f"   Impacto: {situacao['impacto']}")
                return situacao
        print("❌ Situação não encontrada")
        return None

# ============================================================
# 2. ROTEIRO DE DENÚNCIA (PASSO A PASSO)
# ============================================================
class RoteiroDenuncia:
    """
    Fornece um passo a passo (algoritmo) para denunciar
    situações de cyberbullying.
    """
    def __init__(self):
        self.passos = [
            {
                "numero": 1,
                "acao": "SALVE AS PROVAS",
                "descricao": "Tire prints, grave vídeos, salve mensagens. Tudo o que comprova o abuso."
            },
            {
                "numero": 2,
                "acao": "BLOQUEIE O AGRESSOR",
                "descricao": "Bloqueie a pessoa em todas as plataformas para evitar novos ataques."
            },
            {
                "numero": 3,
                "acao": "DENUNCIE NA PLATAFORMA",
                "descricao": "Use as ferramentas de denúncia da plataforma (WhatsApp, Instagram, TikTok, etc.)."
            },
            {
                "numero": 4,
                "acao": "COMUNIQUE À ESCOLA",
                "descricao": "Procure a direção ou a orientação educacional. A escola tem o dever de agir."
            },
            {
                "numero": 5,
                "acao": "PROCURE AJUDA PROFISSIONAL",
                "descricao": "Converse com um psicólogo, um familiar ou um amigo de confiança."
            },
            {
                "numero": 6,
                "acao": "DENUNCIE À POLÍCIA",
                "descricao": "Em casos graves, procure a Delegacia de Crimes Cibernéticos ou o Disque 100."
            }
        ]

    def mostrar_roteiro(self):
        """Mostra o passo a passo completo para denúncia."""
        print("\n📋 ROTEIRO DE DENÚNCIA PASSO A PASSO")
        print("=" * 50)
        for passo in self.passos:
            print(f"\n{passo['numero']}. {passo['acao']}")
            print(f"   {passo['descricao']}")
        print("\n" + "=" * 50)
        print("💡 LEMBRE-SE:")
        print("- Você não está sozinho.")
        print("- O cyberbullying NÃO é culpa sua.")
        print("- Pedir ajuda NÃO é fraqueza é coragem.")
        print("- Denunciar NÃO é dedurar é proteger.")
        print("=" * 50)

# ============================================================
# 3. TESTE DE EMPATIA
# ============================================================
class TesteEmpatia:
    """
    Um teste rápido para refletir sobre empatia online.
    """
    def __init__(self):
        self.perguntas = [
            {
                "pergunta": "Antes de postar algo sobre alguém, você pensa como ela se sentiria?",
                "reflexao": "A empatia é a base da convivência digital. Pense antes de postar."
            },
            {
                "pergunta": "Se você visse alguém sendo humilhado online, o que faria?",
                "reflexao": "Ser testemunha também é uma escolha. Você pode ajudar ou pode se calar."
            },
            {
                "pergunta": "Você já compartilhou algo sem verificar se era verdade?",
                "reflexao": "Compartilhar fake news também pode machucar. Verifique antes."
            },
            {
                "pergunta": "Você já excluiu alguém de um grupo ou rede social sem motivo?",
                "reflexao": "A exclusão virtual pode ser dolorosa. Pense no impacto."
            }
        ]

    def aplicar_teste(self):
        """Aplica o teste de empatia."""
        print("\n🧠 TESTE DE EMPATIA DIGITAL")
        print("=" * 50)
        print("Responda mentalmente a cada pergunta:")
        for i, item in enumerate(self.perguntas, 1):
            print(f"\n{i}. {item['pergunta']}")
            print(f"   💭 {item['reflexao']}")
        print("\n" + "=" * 50)
        print("💡 REFLEXÃO FINAL:")
        print(" A empatia não é um sentimento é uma escolha.")
        print(" E você faz essa escolha a cada post, a cada comentário.")
        print("=" * 50)

# ============================================================
# 4. SIMULAÇÃO
# ============================================================
print("=" * 60)
print("💬 SIMULADOR DE CYBERBULLYING E ROTEIRO DE DENÚNCIA")
print("=" * 60)
print("\n⚠️ ATENÇÃO: Isso é uma SIMULAÇÃO.")
print(" O cyberbullying é REAL e acontece o tempo todo.")
print(" O objetivo aqui é APRENDER a identificar e agir.")
print("=" * 60)

# Criando o simulador
simulador = CyberbullyingSimulator()
roteiro = RoteiroDenuncia()
teste = TesteEmpatia()

# Mostrando uma situação
print("\n📌 EXEMPLO DE SITUAÇÃO DE CYBERBULLYING")
print("-" * 40)
simulador.mostrar_situacao(1)

# Mostrando o roteiro de denúncia
print("\n" + "=" * 60)
roteiro.mostrar_roteiro()

# Aplicando o teste de empatia
print("\n" + "=" * 60)
teste.aplicar_teste()

print("\n" + "=" * 60)
print("💡 REFLEXÃO FINAL:")
print("- O cyberbullying não é 'brincadeira' é violência.")
print("- O que você faz online quando ninguém está vendo")
print("  é o que realmente define quem você é.")
print("- E tem consequências.")
print("=" * 60)

# ============================================================
# DESAFIO PARA OS ALUNOS:
# 1. Crie um plano de ação para situações de cyberbullying na escola.
# 2. Pesquise: quais são as leis contra cyberbullying no Brasil?
# 3. Crie uma campanha de conscientização sobre cyberbullying.
# ============================================================

⏱️ Detalhamento Minuto a Minuto (50 min)

Minuto Atividade Descrição
0-5 Gancho Provocador 🎯 Professor pergunta: "Quem aqui já viu ou sofreu alguma situação desagradável online? Quem já viu alguém ser humilhado em um grupo? Quem já fez algo online que se arrependeu?" Silêncio. Olhares. "Hoje a gente vai falar sobre isso sem julgamento, com acolhimento."
5-10 Exposição Dialógica 🗣️ O que é netiqueta? Analogia: "Netiqueta é como as regras de convivência na sala de aula mas para o mundo digital. O que você não faria pessoalmente, não faça online."
10-15 O que é Cyberbullying 📖 Professor explica o que é cyberbullying, como identificar e quais são os impactos. Dados e estatísticas (se disponíveis).
15-25 Teatro do Cyberbullying 🎭 Grupos recebem situações-problema (ex: "Alguém está humilhando um colega em um grupo"; "Uma foto sua foi compartilhada sem permissão"). Cada grupo encena a situação e propõe uma solução.
25-30 Análise do Código 💻 Professor projeta o código comentado e explica o roteiro de denúncia. "Não é teoria. É ação. É proteção."
30-35 Debate sobre as Soluções 🔥 A turma debate: "A solução foi adequada? O que mais poderia ser feito? Como vocês se sentiriam na pele da vítima? E na pele do agressor?"
35-38 Canais de Denúncia 📞 Professor apresenta os canais de denúncia disponíveis (escola, polícia, plataformas, Disque 100). Alunos pesquisam e anotam. Conhecimento é poder.
38-45 Plano de Ação 📝 Cada grupo cria um plano de ação para situações de cyberbullying: "O que fazer? Para quem recorrer? Como apoiar a vítima?"
45-48 Compartilhamento dos Planos 🗣️ Grupos compartilham seus planos. A turma vota no mais completo e no mais empático.
48-50 Fechamento + Provocação 🚀 "O que você faz online quando ninguém está vendo define quem você é. E tem consequências. Na semana que vem: vocês vão criar algo para mudar isso."

♿ Orientações para Adaptações e Inclusão Exemplos Práticos

Público Adaptações Sugeridas
Deficiência Visual Descreva as situações verbalmente; forneça materiais em braille ou áudio; use alto contraste.
Deficiência Auditiva Use feedback visual; disponibilize roteiro escrito; garanta legendas.
Deficiência Motora Permita respostas verbais; use grupos com papéis definidos; garanta acessibilidade física.
TDAH Divida em sprints curtos (5-10 min); use cronômetros visuais; forneça checklist de tarefas.
TEA Envie as situações com antecedência; use perguntas estruturadas; mantenha ambiente calmo.
Altas Habilidades Desafio extra: "Crie uma campanha de conscientização sobre cyberbullying para a escola. Pode ser um vídeo, um cartaz ou uma apresentação."

📊 Critérios Operacionais de Avaliação com pontuação

Critério Descrição Pontuação
Participação no Debate Contribuiu com ideias e perguntas relevantes e reflexivas. 0-2
Teatro do Cyberbullying Participou ativamente da encenação e da solução proposta. 0-3
Plano de Ação Criou um plano coerente, completo e aplicável. 0-3
Pesquisa de Canais de Denúncia Identificou corretamente os canais disponíveis e como usá-los. 0-1
Colaboração Trabalhou bem em grupo, respeitando as ideias dos colegas. 0-1
Total 0-10

"O que você faz online quando ninguém está vendo é o que realmente define quem você é. E tem consequências." 💬

🎯 Título

"Protótipo da Conscientização" ou "Do brainstorm à obra-prima como criar algo que vai mudar o jogo (e talvez o mundo)" 🚀

🎯 Objetivos Operacionais

  • Aplicar os 4 Pilares do Pensamento Computacional a um problema real da Cultura Digital.
  • Escolher um problema concreto para resolver (vício em redes, fake news, cyberbullying, privacidade de dados, vigilância digital, etc.).
  • Planejar um protótipo (robô, campanha, jogo, app, instalação interativa, performance, etc.).
  • Desenvolver um mapa de aplicação dos pilares para estruturar a solução.
  • Bônus: entender que um bom projeto não começa com código começa com uma pergunta: "Que problema eu quero resolver?"

📚 Conteúdo Programático

  • Revisão dos 4 Pilares do Pensamento Computacional:
    • Decomposição: dividir o problema em partes menores e gerenciáveis.
    • Reconhecimento de Padrões: identificar repetições, similaridades e tendências.
    • Abstração: criar um modelo simplificado do problema focar no essencial, ignorar o irrelevante.
    • Algoritmos: desenvolver um passo a passo para a solução uma "receita" que funciona.
  • Escolha do problema Vício em redes sociais, fake news, cyberbullying, privacidade de dados, vigilância digital, desigualdade de acesso, desinformação algorítmica.
  • Planejamento do projeto O quê, como, quem, quando, por quê.
  • Design Thinking Empatia, definição, ideação, prototipagem, teste.
  • Critérios de sucesso Como saber se o projeto funciona? Como medir impacto?
  • Tipos de protótipo possíveis:
    • Robô da Conscientização: Arduino, LEDs, buzzer, sensores, Tinkercad.
    • Campanha Multiplataforma: vídeo, infográfico, posts, podcast, zine.
    • Jogo Digital Educativo: Scratch (programação em blocos), Construct, GameMaker.
    • Análise de Dados: Google Forms, planilhas, infográfico, visualização de dados.
    • App de Bem-Estar Digital: Figma, MarvelApp, App Inventor, Thunkable.
    • Instalação Interativa: cartazes com QR Codes, realidade aumentada, projeções.
    • Performance: teatro, música, slam, intervenção urbana.

🧩 Pilares do Pensamento Computacional trabalhados na aula

Pilar Aplicação na aula
Decomposição Dividir o problema escolhido em partes menores: causas, consequências, públicos, soluções possíveis.
Reconhecimento de Padrões Identificar padrões no problema: comportamentos recorrentes, ciclos de desinformação, gatilhos emocionais repetidos.
Abstração Criar um modelo simplificado do problema e da solução focar no que realmente importa para causar impacto.
Algoritmos Desenvolver um passo a passo para a solução: o que o protótipo vai fazer, em que ordem, como vai funcionar.

📜 Habilidades BNCC e RCP-PR

BNCC Matemática e suas Tecnologias:

Código Habilidade
EM13MAT402 Utilizar o raciocínio lógico e a linguagem matemática para compreender e resolver problemas de outras áreas do conhecimento.
EM13MAT501 Comunicar ideias matemáticas de forma clara, precisa e contextualizada, utilizando diferentes linguagens e representações.

BNCC Linguagens e suas Tecnologias:

Código Habilidade
EM13LP09 Produzir textos de diferentes gêneros, com adequação ao contexto de produção e circulação, a composição, a estilística e a variedade linguística.
EM13LP11 Apresentar e defender pontos de vista em situações de debate, considerando a relevância dos argumentos e a adequação ao contexto.

BNCC Computação (Complemento à BNCC) Resolução CNE/CEB nº 2/2022:

Código Habilidade
EM13CO02 Construir soluções computacionais para problemas do cotidiano, de forma autônoma e colaborativa, utilizando linguagens de programação.
EM13CO04 Reconhecer e aplicar os princípios da abstração, decomposição, reconhecimento de padrões e algoritmos na resolução de problemas.
EM13CO07 Planejar e executar projetos de desenvolvimento de software, considerando aspectos como usabilidade, acessibilidade, ética e sustentabilidade.

RCP-PR Referencial Curricular do Paraná (2025) Eixo Pensamento Computacional:

O Referencial Curricular do Paraná orienta o desenvolvimento da habilidade de planejar e executar projetos de desenvolvimento de software, considerando aspectos como usabilidade, acessibilidade, ética e sustentabilidade (EM13CO07), bem como a habilidade de comunicar e compartilhar soluções computacionais, considerando diferentes públicos e contextos (EM13CO08).

💻 Código Comentado

Esta seção apresenta um código que simula o planejamento de um projeto usando os 4 Pilares do Pensamento Computacional para que os alunos entendam, na prática, como estruturar uma solução.

# ============================================================
# PLANEJADOR DE PROJETO COM OS 4 PILARES DO PC
# ============================================================
#
# Este código simula o planejamento de um projeto de
# conscientização digital usando os 4 Pilares do Pensamento
# Computacional.
#
# O objetivo: transformar um problema complexo em uma solução
# estruturada, passo a passo.
# ============================================================

# ============================================================
# 1. DEFINIÇÃO DO PROBLEMA
# ============================================================
class Problema:
    """
    Representa um problema da Cultura Digital que precisa ser resolvido.
    """
    def __init__(self, nome, descricao, impacto, publico_alvo):
        self.nome = nome
        self.descricao = descricao
        self.impacto = impacto
        self.publico_alvo = publico_alvo
        self.causas = []
        self.consequencias = []

    def adicionar_causa(self, causa):
        """Adiciona uma causa do problema."""
        self.causas.append(causa)

    def adicionar_consequencia(self, consequencia):
        """Adiciona uma consequência do problema."""
        self.consequencias.append(consequencia)

    def resumo(self):
        """Mostra um resumo do problema."""
        print(f"\n📌 PROBLEMA: {self.nome}")
        print(f"   Descrição: {self.descricao}")
        print(f"   Impacto: {self.impacto}")
        print(f"   Público-alvo: {self.publico_alvo}")
        print(f"\n 🔍 Causas:")
        for causa in self.causas:
            print(f"   - {causa}")
        print(f"\n ⚠️ Consequências:")
        for cons in self.consequencias:
            print(f"   - {cons}")

# ============================================================
# 2. APLICAÇÃO DOS 4 PILARES
# ============================================================
class PlanejadorProjeto:
    """
    Aplica os 4 Pilares do Pensamento Computacional para
    planejar uma solução para um problema.
    """
    def __init__(self, problema):
        self.problema = problema
        self.decomposicao = []
        self.padroes = []
        self.abstracao = {}
        self.algoritmo = []

    # PILAR 1: DECOMPOSIÇÃO
    def decompor(self):
        """
        Divide o problema em partes menores e gerenciáveis.
        """
        print("\n🔨 PILAR 1: DECOMPOSIÇÃO")
        print("-" * 40)
        print("Dividindo o problema em partes menores...")
        # Exemplo de decomposição para um problema de "vício em redes sociais"
        if "vício" in self.problema.nome.lower() or "rede" in self.problema.nome.lower():
            partes = [
                "Causas do vício (gatilhos emocionais, design viciante)",
                "Comportamentos de dependência (tempo de tela, checagem compulsiva)",
                "Impactos na saúde mental (ansiedade, depressão, FOMO)",
                "Estratégias de prevenção e bem-estar digital",
                "Alternativas saudáveis de uso da tecnologia"
            ]
        # Exemplo para "fake news"
        elif "fake" in self.problema.nome.lower() or "desinformação" in self.problema.nome.lower():
            partes = [
                "Como as fake news são criadas",
                "Como as fake news se espalham (algoritmos, bolhas)",
                "Padrões de desinformação (títulos, fontes, imagens)",
                "Impactos das fake news na sociedade",
                "Estratégias de verificação e combate"
            ]
        # Exemplo para "cyberbullying"
        elif "cyber" in self.problema.nome.lower() or "bullying" in self.problema.nome.lower():
            partes = [
                "O que é cyberbullying (definição e formas)",
                "Perfil da vítima, do agressor e da testemunha",
                "Impactos psicológicos e sociais",
                "Canais de denúncia e suporte",
                "Estratégias de prevenção e educação"
            ]
        else:
            partes = [
                "Entendimento do problema (causas e contexto)",
                "Identificação dos atores envolvidos",
                "Análise dos impactos",
                "Mapeamento de soluções existentes",
                "Definição da solução proposta"
            ]
        self.decomposicao = partes
        for i, parte in enumerate(partes, 1):
            print(f" {i}. {parte}")
        return self.decomposicao

    # PILAR 2: RECONHECIMENTO DE PADRÕES
    def reconhecer_padroes(self):
        """
        Identifica padrões no problema.
        """
        print("\n🔍 PILAR 2: RECONHECIMENTO DE PADRÕES")
        print("-" * 40)
        print("Identificando padrões que se repetem...")
        # Padrões comuns em problemas de Cultura Digital
        padroes_comuns = [
            "Padrão de comportamento: ciclo de dependência (gatilho → ação → recompensa)",
            "Padrão de desinformação: apelo emocional + ausência de fontes",
            "Padrão de exclusão: isolamento progressivo do indivíduo",
            "Padrão de vigilância: coleta de dados em todos os momentos",
            "Padrão de manipulação: uso de dados para influenciar decisões"
        ]
        self.padroes = padroes_comuns
        for padrao in padroes_comuns:
            print(f" • {padrao}")
        return self.padroes

    # PILAR 3: ABSTRAÇÃO
    def abstrair(self):
        """
        Cria um modelo simplificado do problema.
        """
        print("\n🧠 PILAR 3: ABSTRAÇÃO")
        print("-" * 40)
        print("Criando um modelo simplificado do problema...")
        self.abstracao = {
            "problema_central": self.problema.nome,
            "modelo_simplificado": f"O problema '{self.problema.nome}' pode ser entendido como um ciclo de {len(self.decomposicao)} etapas interligadas, onde cada etapa alimenta a próxima.",
            "variaveis_chave": [
                "Comportamento do usuário",
                "Design da plataforma",
                "Algoritmos de recomendação",
                "Contexto social e cultural"
            ],
            "solucao_essencial": "Interromper o ciclo em um ou mais pontos críticos."
        }
        for chave, valor in self.abstracao.items():
            print(f" {chave}: {valor}")
        return self.abstracao

    # PILAR 4: ALGORITMOS
    def criar_algoritmo(self):
        """
        Desenvolve um passo a passo para a solução.
        """
        print("\n📋 PILAR 4: ALGORITMOS")
        print("-" * 40)
        print("Criando um passo a passo para a solução...")
        # Algoritmo genérico para projetos de conscientização
        algoritmo = [
            "1. Definir o público-alvo e o contexto",
            "2. Escolher o formato do protótipo (robô, campanha, jogo, app...)",
            "3. Definir os objetivos específicos do protótipo",
            "4. Criar um esboço/design do protótipo",
            "5. Desenvolver a primeira versão (MVP)",
            "6. Testar com usuários reais",
            "7. Coletar feedback e iterar",
            "8. Refinar e polir",
            "9. Lançar e divulgar",
            "10. Medir impacto e celebrar!"
        ]
        self.algoritmo = algoritmo
        for passo in algoritmo:
            print(f" {passo}")
        return self.algoritmo

# ============================================================
# 3. SIMULAÇÃO
# ============================================================
print("=" * 60)
print("🚀 PLANEJADOR DE PROJETO COM OS 4 PILARES DO PC")
print("=" * 60)
print("\n⚠️ ATENÇÃO: Este é um simulador de planejamento.")
print(" Use os 4 Pilares para estruturar seu projeto.")
print(" O planejamento é a base de tudo.")
print("=" * 60)

# Criando um problema
print("\n📌 DEFININDO O PROBLEMA...")
print("-" * 40)
problema = Problema(
    nome="Vício em Redes Sociais",
    descricao="Uso excessivo e compulsivo de redes sociais, com impactos negativos na saúde mental e no bem-estar.",
    impacto="Ansiedade, depressão, isolamento social, perda de produtividade, distúrbios de sono.",
    publico_alvo="Adolescentes e jovens adultos (15-25 anos)"
)
problema.adicionar_causa("Design viciante das plataformas (rolagem infinita, notificações)")
problema.adicionar_causa("Algoritmos de recomendação que maximizam o tempo de tela")
problema.adicionar_causa("Pressão social e FOMO (Fear Of Missing Out)")
problema.adicionar_causa("Falta de educação digital e conscientização")
problema.adicionar_consequencia("Aumento da ansiedade e depressão")
problema.adicionar_consequencia("Isolamento social e perda de conexões reais")
problema.adicionar_consequencia("Queda no desempenho escolar e profissional")
problema.adicionar_consequencia("Distúrbios de sono e problemas de saúde física")
problema.resumo()

# Aplicando os 4 Pilares
print("\n" + "=" * 60)
print("🧩 APLICANDO OS 4 PILARES DO PENSAMENTO COMPUTACIONAL")
print("=" * 60)
planejador = PlanejadorProjeto(problema)

# Pilar 1: Decomposição
planejador.decompor()

# Pilar 2: Reconhecimento de Padrões
planejador.reconhecer_padroes()

# Pilar 3: Abstração
planejador.abstrair()

# Pilar 4: Algoritmos
planejador.criar_algoritmo()

print("\n" + "=" * 60)
print("💡 REFLEXÃO:")
print("- Um bom projeto não começa com código.")
print("- Começa com uma PERGUNTA: 'Que problema eu quero resolver?'")
print("- Os 4 Pilares do PC são suas ferramentas.")
print("- Use-as. Abuse delas. Faça a diferença.")
print("=" * 60)

# ============================================================
# DESAFIO PARA OS ALUNOS:
# 1. Escolha um problema da Cultura Digital.
# 2. Aplique os 4 Pilares do PC para planejar uma solução.
# 3. Apresente seu planejamento para a turma.
# 4. Comece a construir!
# ============================================================

⏱️ Detalhamento Minuto a Minuto (50 min)

Minuto Atividade Descrição
0-5 Gancho Motivacional 🚀 Professor anuncia: "Vocês passaram 6 semanas entendendo o problema. Agora é hora de resolvê-lo. Vocês vão criar algo que vai conscientizar, impactar e, quem sabe, mudar o mundo digital."
5-10 Revisão dos 4 Pilares 🧩 Professor revisa os 4 Pilares do Pensamento Computacional com exemplos práticos. Cada pilar é uma ferramenta. "Não são palavras bonitas são armas contra a ignorância digital."
10-15 Escolha do Desafio 🎯 Cada grupo escolhe um problema real da Cultura Digital para resolver: vício em redes, fake news, cyberbullying, privacidade de dados, vigilância digital, desigualdade de acesso, desinformação algorítmica.
15-25 Aplicação dos Pilares 📝 Cada grupo produz um mapa mostrando como cada um dos 4 pilares será aplicado na solução: "Como vamos decompor? Que padrões vamos reconhecer? O que vamos abstrair? Que algoritmos vamos criar?"
25-30 Análise do Código 💻 Professor projeta o código comentado e explica como o planejamento pode ser estruturado. "Não é só teoria é método. É estratégia."
30-38 Brainstorm de Soluções 💡 Cada grupo faz um brainstorm de possíveis soluções: robô, campanha, jogo, app, instalação, performance. Todas as ideias são válidas. "Não existe ideia ruim existe ideia que ainda não foi desenvolvida."
38-45 Escolha da Solução 🎨 Cada grupo escolhe uma solução e começa a planejar: "O que vamos construir? Quem vai fazer o quê? Quando vamos entregar?"
45-48 Planejamento do Projeto 📋 Cada grupo preenche um plano de projeto com: objetivo, funcionalidades, divisão de tarefas, cronograma, materiais necessários.
48-50 Fechamento + Provocação 🚀 "O planejamento está feito. Na semana que vem: mão na massa. Tragam seus materiais, suas ideias e sua criatividade. E não se esqueçam: feito é melhor que perfeito."

♿ Orientações para Adaptações e Inclusão Exemplos Práticos

Público Adaptações Sugeridas
Deficiência Visual Forneça materiais em braille ou áudio; use descrições verbais; use alto contraste e fontes grandes.
Deficiência Auditiva Use feedback visual; disponibilize roteiro escrito; garanta legendas em vídeos.
Deficiência Motora Permita respostas verbais; use grupos com papéis definidos; garanta acessibilidade física.
TDAH Divida em sprints curtos (5-10 min); use cronômetros visuais; forneça checklist de tarefas.
TEA Use perguntas estruturadas; mantenha ambiente calmo; forneça roteiros sociais.
Altas Habilidades Desafio extra: "Adicione uma funcionalidade extra ao projeto que ninguém pensou. Pense em algo que surpreenda."

📊 Critérios Operacionais de Avaliação com pontuação

Critério Descrição Pontuação
Escolha do Desafio Escolheu um problema relevante, bem definido e com impacto real. 0-2
Aplicação dos Pilares Aplicou corretamente os 4 pilares no mapa, com justificativas claras. 0-3
Planejamento Criou um plano de projeto coerente, completo e com prazos realistas. 0-3
Brainstorm Participou ativamente da geração de ideias, contribuindo com propostas originais. 0-1
Colaboração Trabalhou bem em grupo, respeitando as ideias dos colegas. 0-1
Total 0-10

"Um bom projeto não começa com código começa com uma pergunta: 'Que problema eu quero resolver?'" 🚀

🎯 Título

"Mão na Massa" (parte 1) ou "Como transformar planejamento em código, design e impacto (e não surtar no processo)" 🔨

🎯 Objetivos Operacionais

  • Desenvolver o protótipo escolhido na semana anterior.
  • Aplicar HTML, CSS e JavaScript (ou ferramentas equivalentes como Scratch, App Inventor, Tinkercad, Figma).
  • Trabalhar em equipe de forma colaborativa e organizada.
  • Documentar o processo de desenvolvimento (fotos, vídeos, anotações, prints).
  • Bônus: entender que feito é melhor que perfeito e que errar faz parte do processo.

📚 Conteúdo Programático

  • Desenvolvimento do protótipo:
    • Robô da Conscientização: Arduino, LEDs, buzzer, sensores, Tinkercad.
    • Campanha Multiplataforma: vídeo (CapCut, DaVinci), infográfico (Canva), posts, podcast (Anchor), zine.
    • Jogo Digital Educativo: Scratch (programação em blocos), Construct, GameMaker.
    • Análise de Dados: Google Forms, planilhas, infográfico, visualização de dados (Datawrapper, Flourish).
    • App de Bem-Estar Digital: Figma, MarvelApp, App Inventor, Thunkable.
    • Instalação Interativa: cartazes com QR Codes, realidade aumentada (Spark AR), projeções.
    • Performance: teatro, música, slam, intervenção urbana.
  • Trabalho em equipe: divisão de tarefas, comunicação, gestão de tempo, resolução de conflitos.
  • Documentação: registro do processo (fotos, vídeos, anotações, prints de código).
  • Gestão de projeto: Kanban, Trello, quadro físico, checklist.
  • Resolução de problemas: debugging, iteração, adaptação.

🧩 Pilares do Pensamento Computacional trabalhados na aula

Pilar Aplicação na aula
Decomposição Dividir o desenvolvimento em tarefas menores: front-end, back-end, design, conteúdo, testes. Cada membro fica com uma parte.
Algoritmos Seguir um passo a passo para o desenvolvimento: planejar → codificar → testar → iterar.
Reconhecimento de Padrões Identificar padrões de código e padrões de design que podem ser reutilizados.
Abstração Focar no funcionamento essencial do protótipo o que ele precisa fazer, não o que seria legal fazer.

📜 Habilidades BNCC e RCP-PR

BNCC Matemática e suas Tecnologias:

Código Habilidade
EM13MAT501 Comunicar ideias matemáticas de forma clara, precisa e contextualizada, utilizando diferentes linguagens e representações.

BNCC Linguagens e suas Tecnologias:

Código Habilidade
EM13LP10 Revisar e editar textos produzidos, considerando a adequação ao contexto de produção e circulação, a composição, a estilística e a variedade linguística.

BNCC Computação (Complemento à BNCC) Resolução CNE/CEB nº 2/2022:

Código Habilidade
EM13CO03 Utilizar diferentes ferramentas e ambientes de programação para construir soluções, respeitando princípios estéticos, éticos e de acessibilidade.
EM13CO05 Utilizar, de forma crítica e criativa, diferentes recursos computacionais para a construção de soluções.
EM13CO07 Planejar e executar projetos de desenvolvimento de software, considerando aspectos como usabilidade, acessibilidade, ética e sustentabilidade.

RCP-PR Referencial Curricular do Paraná (2025) Eixo Pensamento Computacional:

O Referencial Curricular do Paraná orienta o desenvolvimento da habilidade de planejar e executar projetos de desenvolvimento de software, considerando aspectos como usabilidade, acessibilidade, ética e sustentabilidade (EM13CO07), bem como a habilidade de utilizar diferentes ferramentas e ambientes de programação para construir soluções (EM13CO03).

💻 Código Comentado

Esta seção apresenta um código que simula o desenvolvimento de um protótipo para que os alunos entendam, na prática, como transformar planejamento em código.

# ============================================================
# SIMULADOR DE DESENVOLVIMENTO DE PROTÓTIPO
# ============================================================
#
# Este código simula o processo de desenvolvimento de um
# protótipo de conscientização digital.
#
# O objetivo: mostrar como o planejamento se transforma em
# código, design e impacto.
# ============================================================

import time
import random

# ============================================================
# 1. CLASSE BASE: PROTÓTIPO
# ============================================================
class Prototipo:
    """
    Classe base para todos os protótipos.
    """
    def __init__(self, nome, descricao, objetivo, publico_alvo):
        self.nome = nome
        self.descricao = descricao
        self.objetivo = objetivo
        self.publico_alvo = publico_alvo
        self.estado = "planejado"
        self.tarefas = []
        self.concluido = False
        self.bugs = []

    def adicionar_tarefa(self, tarefa):
        """Adiciona uma tarefa ao desenvolvimento."""
        self.tarefas.append({"tarefa": tarefa, "status": "pendente"})
        print(f"📋 Tarefa adicionada: {tarefa}")

    def executar_tarefa(self, tarefa):
        """Executa uma tarefa específica."""
        for t in self.tarefas:
            if t["tarefa"] == tarefa and t["status"] == "pendente":
                print(f"🔨 Executando: {tarefa}")
                time.sleep(0.5)  # simula o trabalho
                # 20% de chance de encontrar um bug
                if random.random() < 0.2:
                    bug = f"Bug em {tarefa}"
                    self.bugs.append(bug)
                    print(f"🐛 BUG ENCONTRADO: {bug}")
                    print("   Corrigindo...")
                    time.sleep(0.3)
                    print("   ✅ Bug corrigido!")
                t["status"] = "concluida"
                print(f"✅ Tarefa concluída: {tarefa}")
                return True
        print(f"❌ Tarefa '{tarefa}' não encontrada ou já concluída")
        return False

    def verificar_progresso(self):
        """Verifica o progresso do desenvolvimento."""
        total = len(self.tarefas)
        concluidas = sum(1 for t in self.tarefas if t["status"] == "concluida")
        progresso = (concluidas / total * 100) if total > 0 else 0
        print(f"\n📊 PROGRESSO: {progresso:.1f}% ({concluidas}/{total} tarefas)")
        if self.bugs:
            print(f"🐛 Bugs corrigidos: {len(self.bugs)}")
        return progresso

    def finalizar(self):
        """Finaliza o protótipo."""
        if self.verificar_progresso() == 100:
            self.estado = "concluido"
            self.concluido = True
            print("\n🎉 PROTÓTIPO FINALIZADO COM SUCESSO!")
            print(f"   Nome: {self.nome}")
            print(f"   Objetivo: {self.objetivo}")
            print(f"   Público-alvo: {self.publico_alvo}")
            return True
        else:
            print("\n⚠️ Protótipo ainda não está 100% completo.")
            print(" Continue trabalhando!")
            return False

# ============================================================
# 2. TIPOS DE PROTÓTIPO
# ============================================================
class RoboConscientizacao(Prototipo):
    """Robô que alerta sobre vício em redes sociais."""
    def __init__(self):
        super().__init__(
            nome="Robô Alerta Digital",
            descricao="Um robô que pisca e emite sons quando o usuário passa muito tempo no celular.",
            objetivo="Conscientizar sobre o tempo de tela e o vício digital.",
            publico_alvo="Jovens que passam mais de 4 horas por dia no celular."
        )
        self.tarefas = [
            {"tarefa": "Projetar o circuito no Tinkercad", "status": "pendente"},
            {"tarefa": "Programar o Arduino (LEDs e buzzer)", "status": "pendente"},
            {"tarefa": "Montar o protótipo físico", "status": "pendente"},
            {"tarefa": "Testar o funcionamento", "status": "pendente"},
            {"tarefa": "Criar a documentação", "status": "pendente"}
        ]

class JogoEducativo(Prototipo):
    """Jogo que ensina a identificar fake news."""
    def __init__(self):
        super().__init__(
            nome="Caça-Fake: O Jogo",
            descricao="Um jogo interativo onde o jogador deve identificar quais notícias são falsas.",
            objetivo="Ensinar a identificar fake news de forma lúdica e divertida.",
            publico_alvo="Adolescentes e jovens adultos."
        )
        self.tarefas = [
            {"tarefa": "Criar o design do jogo no Scratch", "status": "pendente"},
            {"tarefa": "Programar a lógica do jogo", "status": "pendente"},
            {"tarefa": "Criar os cenários e personagens", "status": "pendente"},
            {"tarefa": "Incluir feedback e pontuação", "status": "pendente"},
            {"tarefa": "Testar com usuários", "status": "pendente"}
        ]

class CampanhaDigital(Prototipo):
    """Campanha multiplataforma de conscientização."""
    def __init__(self):
        super().__init__(
            nome="PensaAntesDePostar",
            descricao="Uma campanha que usa vídeos, posts e infográficos para promover o uso consciente das redes.",
            objetivo="Reduzir a propagação de fake news e cyberbullying.",
            publico_alvo="Usuários de redes sociais de todas as idades."
        )
        self.tarefas = [
            {"tarefa": "Criar o conceito da campanha", "status": "pendente"},
            {"tarefa": "Produzir os vídeos", "status": "pendente"},
            {"tarefa": "Criar os infográficos", "status": "pendente"},
            {"tarefa": "Escrever os posts", "status": "pendente"},
            {"tarefa": "Planejar a divulgação", "status": "pendente"}
        ]

# ============================================================
# 3. SIMULAÇÃO
# ============================================================
print("=" * 60)
print("🔨 SIMULADOR DE DESENVOLVIMENTO DE PROTÓTIPO")
print("=" * 60)
print("\n⚠️ ATENÇÃO: Isso é uma SIMULAÇÃO do processo de")
print(" desenvolvimento de um protótipo.")
print(" Na vida real, é mais caótico e mais divertido.")
print("=" * 60)

# Escolhendo um protótipo
print("\n📌 ESCOLHA O TIPO DE PROTÓTIPO:")
print(" 1. Robô de Conscientização")
print(" 2. Jogo Educativo")
print(" 3. Campanha Digital")
try:
    escolha = int(input("\nDigite o número (1-3): "))
except ValueError:
    escolha = 1

if escolha == 1:
    prototipo = RoboConscientizacao()
elif escolha == 2:
    prototipo = JogoEducativo()
else:
    prototipo = CampanhaDigital()

print("\n" + "=" * 60)
print(f"🚀 PROTÓTIPO SELECIONADO: {prototipo.nome}")
print("=" * 60)
print(f"\n📝 Descrição: {prototipo.descricao}")
print(f"🎯 Objetivo: {prototipo.objetivo}")
print(f"👥 Público-alvo: {prototipo.publico_alvo}")

print("\n📋 TAREFAS DO PROJETO:")
for i, tarefa in enumerate(prototipo.tarefas, 1):
    print(f" {i}. {tarefa['tarefa']}")

# Simulando o desenvolvimento
print("\n" + "=" * 60)
print("🔨 INICIANDO O DESENVOLVIMENTO...")
print("=" * 60)

# Executando as tarefas uma por uma
for i, tarefa in enumerate(prototipo.tarefas, 1):
    print(f"\n📌 TAREFA {i}/{len(prototipo.tarefas)}")
    print("-" * 40)
    prototipo.executar_tarefa(tarefa["tarefa"])
    prototipo.verificar_progresso()
    print("-" * 40)

# Finalizando
print("\n" + "=" * 60)
prototipo.finalizar()

print("\n" + "=" * 60)
print("💡 REFLEXÃO:")
print("- O desenvolvimento é um processo.")
print("- Você vai encontrar BUGS. Isso é normal.")
print("- Você vai ter que ITERAR. Isso é esperado.")
print("- O importante é NÃO PARAR.")
print("- Feito é melhor que perfeito.")
print("=" * 60)

# ============================================================
# DESAFIO PARA OS ALUNOS:
# 1. Comece a desenvolver seu protótipo.
# 2. Documente cada etapa do processo.
# 3. Quando encontrar um bug, anote-o e corrija-o.
# 4. Lembre-se: o processo é tão importante quanto o resultado.
# ============================================================

⏱️ Detalhamento Minuto a Minuto (50 min) Dia 1 de Desenvolvimento

Minuto Atividade Descrição
0-5 Check-in 📋 Professor verifica o progresso de cada grupo. "O que já foi feito? O que está travando? O que precisa de ajuda?"
5-10 Revisão do Planejamento 📝 Cada grupo revisa seu planejamento e ajusta se necessário. Flexibilidade é chave.
10-45 Desenvolvimento do Protótipo 🔨 Os grupos trabalham no desenvolvimento do protótipo. Professor circula, ajuda, provoca, inspira. Mão na massa. "Não esperem ficar prontos comecem. O resto se ajusta."
45-48 Check-out 📊 Cada grupo compartilha: "O que conseguimos fazer hoje? O que vamos fazer amanhã? O que está mais difícil?"
48-50 Fechamento 🚀 "Bom trabalho, equipe! Amanhã tem mais. Não desistam o melhor está por vir."

Nota: Esta semana tem 3 dias de desenvolvimento (Semanas 8 e 9 combinadas). O professor deve repetir a estrutura acima para cada dia, com foco em diferentes aspectos (estrutura, design, funcionalidade, testes).

♿ Orientações para Adaptações e Inclusão Exemplos Práticos

Público Adaptações Sugeridas
Deficiência Visual Use ferramentas com suporte a leitores de tela; forneça descrições táteis; use alto contraste.
Deficiência Auditiva Use feedback visual; disponibilize instruções escritas; garanta legendas.
Deficiência Motora Use ferramentas com suporte a teclado; permita pausas; garanta acessibilidade física.
TDAH Divida em tarefas curtas (15-20 min); use cronômetros visuais; forneça checklist.
TEA Use roteiros sociais; mantenha ambiente calmo; use perguntas estruturadas.
Altas Habilidades Desafio extra: "Adicione uma funcionalidade avançada ao projeto. Algo que ninguém espera."

📊 Critérios Operacionais de Avaliação com pontuação

Critério Descrição Pontuação
Desenvolvimento do Protótipo Avançou significativamente no desenvolvimento, com entregas concretas. 0-3
Trabalho em Equipe Colaborou efetivamente com o grupo, dividindo tarefas e comunicando-se bem. 0-2
Documentação Registrou o processo (fotos, vídeos, anotações, prints de código). 0-2
Resolução de Problemas Enfrentou e resolveu desafios de forma criativa e autônoma. 0-2
Autonomia Trabalhou de forma independente e proativa, sem esperar instruções o tempo todo. 0-1
Total 0-10

"Feito é melhor que perfeito. O importante é começar. O resto a gente ajusta no caminho." 🔨

🎯 Título

"Mão na Massa" (parte 2) ou "Testes, ajustes e o polimento final a reta final da obra-prima (e a arte de saber quando parar)" 🎨

🎯 Objetivos Operacionais

  • Testar o protótipo e identificar bugs, falhas de usabilidade e pontos de melhoria.
  • Refinar o projeto com base no feedback de colegas e do professor.
  • Preparar a apresentação final (pitch): storytelling, slides, demonstração ao vivo.
  • Documentar o processo completo do planejamento à entrega.
  • Bônus: entender que um projeto nunca fica pronto mas isso não é desculpa para não lançar.

📚 Conteúdo Programático

  • Testes: como testar um protótipo (funcionalidade, usabilidade, acessibilidade, impacto).
  • Debug: como identificar e corrigir erros e como aprender com eles.
  • Refinamento: como melhorar o projeto com base no feedback e como saber quando parar.
  • Preparação para o pitch: storytelling, slides, demonstração ao vivo, perguntas e respostas.
  • Documentação final: registro do processo e do produto o "diário de bordo" do projeto.
  • A arte de saber quando parar: perfeccionismo vs. entregabilidade.

🧩 Pilares do Pensamento Computacional trabalhados na aula

Pilar Aplicação na aula
Reconhecimento de Padrões Identificar padrões de erro que se repetem e corrigi-los de uma vez.
Abstração Focar no funcionamento essencial o que o protótipo precisa fazer para causar impacto.
Algoritmos Seguir um passo a passo para testes e refinamento: testar → anotar → corrigir → testar novamente.
Decomposição Dividir os testes em partes: funcionalidade, usabilidade, acessibilidade, impacto.

📜 Habilidades BNCC e RCP-PR

BNCC Matemática e suas Tecnologias:

Código Habilidade
EM13MAT501 Comunicar ideias matemáticas de forma clara, precisa e contextualizada, utilizando diferentes linguagens e representações.

BNCC Linguagens e suas Tecnologias:

Código Habilidade
EM13LP10 Revisar e editar textos produzidos, considerando a adequação ao contexto de produção e circulação, a composição, a estilística e a variedade linguística.

BNCC Computação (Complemento à BNCC) Resolução CNE/CEB nº 2/2022:

Código Habilidade
EM13CO05 Utilizar, de forma crítica e criativa, diferentes recursos computacionais para a construção de soluções.
EM13CO07 Planejar e executar projetos de desenvolvimento de software, considerando aspectos como usabilidade, acessibilidade, ética e sustentabilidade.
EM13CO09 Refletir sobre o processo de construção de soluções computacionais, identificando aprendizados, desafios e possibilidades de melhoria.

RCP-PR Referencial Curricular do Paraná (2025) Eixo Pensamento Computacional:

O Referencial Curricular do Paraná orienta o desenvolvimento da habilidade de comunicar e compartilhar soluções computacionais, considerando diferentes públicos e contextos (EM13CO08), bem como a habilidade de refletir sobre o processo de construção de soluções computacionais, identificando aprendizados, desafios e possibilidades de melhoria (EM13CO09).

💻 Código Comentado

Esta seção apresenta um código que simula o processo de testes e refinamento para que os alunos entendam, na prática, como polir um projeto.

# ============================================================
# SIMULADOR DE TESTES E REFINAMENTO
# ============================================================
#
# Este código simula o processo de testes, identificação de
# bugs e refinamento de um protótipo.
#
# O objetivo: mostrar que todo projeto passa por iterações
# e que o refinamento é parte do processo.
# ============================================================

import random
import time

# ============================================================
# 1. SIMULADOR DE TESTES
# ============================================================
class Testador:
    """
    Simula o processo de testes de um protótipo.
    """
    def __init__(self, prototipo):
        self.prototipo = prototipo
        self.resultados = []
        self.bugs_encontrados = []
        self.melhorias_sugeridas = []

    def testar_funcionalidade(self):
        """
        Testa se o protótipo faz o que deveria fazer.
        """
        print("\n🔧 TESTE DE FUNCIONALIDADE")
        print("-" * 40)
        print("Verificando se o protótipo funciona como esperado...")
        # Simula a execução de testes
        testes = [
            "Inicialização do sistema",
            "Execução da função principal",
            "Resposta a entradas do usuário",
            "Processamento de dados",
            "Geração de saída"
        ]
        falhas = 0
        for teste in testes:
            # 80% de chance de passar
            if random.random() < 0.8:
                print(f" ✅ {teste}: OK")
            else:
                print(f" ❌ {teste}: FALHOU")
                falhas += 1
                bug = f"Falha em {teste}"
                self.bugs_encontrados.append(bug)
        if falhas == 0:
            print("\n✅ Todos os testes de funcionalidade passaram!")
        else:
            print(f"\n⚠️ {falhas} teste(s) falharam. Bugs identificados.")
        return falhas == 0

    def testar_usabilidade(self):
        """
        Testa se o protótipo é fácil de usar.
        """
        print("\n👤 TESTE DE USABILIDADE")
        print("-" * 40)
        print("Verificando se o protótipo é intuitivo e fácil de usar...")
        aspectos = [
            "Interface clara e organizada",
            "Instruções compreensíveis",
            "Navegação intuitiva",
            "Feedback ao usuário",
            "Tempo de resposta adequado"
        ]
        problemas = 0
        for aspecto in aspectos:
            # 75% de chance de estar bom
            if random.random() < 0.75:
                print(f" ✅ {aspecto}: OK")
            else:
                print(f" ⚠️ {aspecto}: PODE MELHORAR")
                problemas += 1
                melhoria = f"Melhorar {aspecto.lower()}"
                self.melhorias_sugeridas.append(melhoria)
        if problemas == 0:
            print("\n✅ Usabilidade excelente!")
        else:
            print(f"\n💡 {problemas} aspecto(s) podem ser melhorados.")
        return problemas == 0

    def testar_acessibilidade(self):
        """
        Testa se o protótipo é acessível.
        """
        print("\n♿ TESTE DE ACESSIBILIDADE")
        print("-" * 40)
        print("Verificando se o protótipo é acessível a todos...")
        criterios = [
            "Suporte a leitores de tela",
            "Contraste adequado",
            "Fontes legíveis",
            "Navegação por teclado",
            "Descrições de imagens"
        ]
        problemas = 0
        for criterio in criterios:
            # 70% de chance de estar OK
            if random.random() < 0.7:
                print(f" ✅ {criterio}: OK")
            else:
                print(f" ⚠️ {criterio}: PODE MELHORAR")
                problemas += 1
                melhoria = f"Melhorar {criterio.lower()}"
                self.melhorias_sugeridas.append(melhoria)
        if problemas == 0:
            print("\n✅ Acessibilidade excelente!")
        else:
            print(f"\n💡 {problemas} aspecto(s) de acessibilidade podem ser melhorados.")
        return problemas == 0

    def executar_testes(self):
        """
        Executa todos os testes.
        """
        print("\n" + "=" * 60)
        print("🧪 INICIANDO BATERIA DE TESTES")
        print("=" * 60)
        resultados = {
            "funcionalidade": self.testar_funcionalidade(),
            "usabilidade": self.testar_usabilidade(),
            "acessibilidade": self.testar_acessibilidade()
        }
        print("\n" + "=" * 60)
        print("📊 RESUMO DOS TESTES")
        print("=" * 60)
        for teste, passou in resultados.items():
            status = "✅ PASSou" if passou else "❌ FALHOU"
            print(f" {teste.capitalize()}: {status}")
        if self.bugs_encontrados:
            print(f"\n🐛 Bugs encontrados: {len(self.bugs_encontrados)}")
            for bug in self.bugs_encontrados:
                print(f" - {bug}")
        if self.melhorias_sugeridas:
            print(f"\n💡 Melhorias sugeridas: {len(self.melhorias_sugeridas)}")
            for melhoria in self.melhorias_sugeridas:
                print(f" - {melhoria}")
        return resultados

# ============================================================
# 2. SIMULADOR DE REFINAMENTO
# ============================================================
class Refinador:
    """
    Simula o processo de refinamento do protótipo.
    """
    def __init__(self, prototipo, testador):
        self.prototipo = prototipo
        self.testador = testador
        self.iteracoes = 0

    def refinar(self):
        """
        Refina o protótipo com base nos resultados dos testes.
        """
        self.iteracoes += 1
        print(f"\n🔨 ITERAÇÃO DE REFINAMENTO {self.iteracoes}")
        print("=" * 60)

        # Corrigir bugs
        if self.testador.bugs_encontrados:
            print("\n🐛 CORRIGINDO BUGS...")
            for bug in self.testador.bugs_encontrados:
                print(f" 🔧 Corrigindo: {bug}")
                time.sleep(0.3)
                print(f" ✅ Bug corrigido!")
            self.testador.bugs_encontrados = []

        # Implementar melhorias
        if self.testador.melhorias_sugeridas:
            print("\n💡 IMPLEMENTANDO MELHORIAS...")
            for melhoria in self.testador.melhorias_sugeridas:
                print(f" 🚀 Implementando: {melhoria}")
                time.sleep(0.3)
                print(f" ✅ Melhoria implementada!")
            self.testador.melhorias_sugeridas = []

        print("\n✅ Refinamento concluído!")

        # Verificar se o protótipo está pronto
        if not self.testador.bugs_encontrados and not self.testador.melhorias_sugeridas:
            print("\n🎉 PROTÓTIPO PRONTO PARA O PITCH!")
            return True
        else:
            print("\n⚠️ Ainda há trabalho a fazer. Continue refinando!")
            return False

# ============================================================
# 3. SIMULAÇÃO
# ============================================================
print("=" * 60)
print("🧪 SIMULADOR DE TESTES E REFINAMENTO")
print("=" * 60)
print("\n⚠️ ATENÇÃO: Isso é uma SIMULAÇÃO do processo de")
print(" testes e refinamento de um protótipo.")
print(" Na vida real, esse processo é CÍCLICO e CONTÍNUO.")
print("=" * 60)

# Criando um protótipo simples
class PrototipoSimples:
    def __init__(self, nome):
        self.nome = nome
        self.versao = "1.0"

prototipo = PrototipoSimples("App de Conscientização Digital")

# Criando o testador
testador = Testador(prototipo)

# Executando os testes
testador.executar_testes()

# Refinando
print("\n" + "=" * 60)
print("🔨 INICIANDO PROCESSO DE REFINAMENTO")
print("=" * 60)
refinador = Refinador(prototipo, testador)

# Ciclo de refinamento
pronto = False
while not pronto:
    pronto = refinador.refinar()
    if not pronto:
        # Se ainda há bugs, testar novamente
        print("\n🔄 Executando novos testes...")
        testador.executar_testes()

print("\n" + "=" * 60)
print("🎉 PROTÓTIPO PRONTO PARA O PITCH!")
print("=" * 60)
print(f"\n📱 {prototipo.nome} - Versão {prototipo.versao}")
print(" Status: ✅ Pronto para apresentação")

print("\n" + "=" * 60)
print("💡 REFLEXÃO:")
print("- Testar é parte do processo. Não pule essa etapa.")
print("- Bugs não são fracasso são OPORTUNIDADES de aprendizado.")
print("- Refinar é ITERAR. E iterar é MELHORAR.")
print("- O projeto nunca fica pronto. Mas isso não é desculpa")
print(" para não lançar. Feito é melhor que perfeito.")
print("=" * 60)

# ============================================================
# DESAFIO PARA OS ALUNOS:
# 1. Teste seu protótipo com colegas de outros grupos.
# 2. Anote o feedback e implemente melhorias.
# 3. Prepare seu pitch de 3 minutos.
# 4. Lembre-se: o importante é comunicar sua ideia com clareza.
# ============================================================

⏱️ Detalhamento Minuto a Minuto (50 min) Dia de Refinamento

Minuto Atividade Descrição
0-5 Check-in 📋 Professor verifica o progresso: "O que já foi feito? O que falta? O que está travando?"
5-10 Teste Guiado 🧪 Cada grupo testa o protótipo e identifica bugs e pontos de melhoria. Teste com outros grupos.
10-20 Refinamento 🔨 Os grupos corrigem bugs e fazem ajustes. Professor circula dando feedback construtivo.
20-25 Análise do Código 💻 Professor projeta o código comentado e explica como o processo de testes e refinamento funciona na prática. "Não é só sobre código é sobre atitude."
25-35 Preparação do Pitch 🎤 Cada grupo prepara a apresentação de 3 minutos: "O que vamos dizer? Como vamos demonstrar? Qual é a história?"
35-42 Ensaio do Pitch 🗣️ Cada grupo ensaiou o pitch para outro grupo. Feedback imediato. "O que ficou claro? O que ficou confuso? O que surpreendeu?"
42-47 Ajustes Finais ✨ Os grupos fazem os últimos ajustes com base no feedback recebido. Polimento final.
47-48 Check-out 📊 Cada grupo compartilha: "O que conseguimos fazer hoje? Como estamos nos sentindo?"
48-50 Fechamento 🚀 "Amanhã é o grande dia. Vocês estão prontos. Mostrem ao mundo o que vocês construíram. E lembrem-se: o projeto nunca fica pronto mas isso não é desculpa para não lançar."

♿ Orientações para Adaptações e Inclusão Exemplos Práticos

Público Adaptações Sugeridas
Deficiência Visual Forneça descrições verbais do protótipo; use materiais táteis; use alto contraste.
Deficiência Auditiva Use feedback visual; disponibilize roteiro escrito do pitch; garanta legendas.
Deficiência Motora Permita pausas; use ferramentas com suporte a teclado; garanta acessibilidade física.
TDAH Divida em tarefas curtas (15-20 min); use cronômetros visuais; forneça checklist.
TEA Use roteiros sociais; mantenha ambiente calmo; use perguntas estruturadas.
Altas Habilidades Desafio extra: "Prepare uma versão estendida do pitch para um público diferente (ex: professores, pais, comunidade)."

📊 Critérios Operacionais de Avaliação com pontuação

Critério Descrição Pontuação
Teste e Refinamento Identificou e corrigiu bugs e pontos de melhoria de forma sistemática. 0-3
Preparação do Pitch Preparou uma apresentação clara, organizada e envolvente. 0-2
Ensaio e Feedback Participou ativamente do ensaio e deu feedback construtivo aos colegas. 0-2
Trabalho em Equipe Colaborou efetivamente com o grupo, comunicando-se bem. 0-2
Documentação Registrou o processo completo do planejamento à entrega. 0-1
Total 0-10

"O projeto nunca fica pronto. Mas isso não é desculpa para não lançar. Feito é melhor que perfeito e amanhã vocês vão lançar." 🎨

🎯 Título

"A Grande Estreia" ou "Como apresentar seu projeto para o mundo (e sobreviver às perguntas e talvez mudar algumas mentes)" 🎬

🎯 Objetivos Operacionais

  • Apresentar o projeto final para a turma (formato Shark Tank / Pitch Night).
  • Demonstrar o protótipo em ação ao vivo, sem rede de segurança.
  • Refletir sobre o processo de aprendizagem o que aprenderam, o que foi difícil, o que mudou.
  • Celebrar as conquistas do bimestre e reconhecer o esforço de cada um.
  • Bônus: entender que o fim é só o começo de algo maior e que o que importa não é o projeto em si, mas o que vocês se tornaram para construí-lo.

📚 Conteúdo Programático

  • Pitch Como apresentar um projeto de forma convincente em 3 minutos (storytelling, dados, demonstração).
  • Demonstração ao vivo Mostrar o protótipo funcionando (e lidar com os imprevistos).
  • Perguntas e respostas Como responder a perguntas da banca com confiança e conhecimento.
  • Autoavaliação Refletir sobre o que aprendeu, o que foi difícil, o que faria diferente.
  • Celebração Reconhecer o esforço e a evolução de cada grupo e de cada aluno.
  • O legado do projeto O que fica depois da apresentação?

🧩 Pilares do Pensamento Computacional trabalhados na aula

Pilar Aplicação na aula
Todos os Pilares Aplicação integrada de todos os pilares na apresentação: decomposição (estrutura do pitch), reconhecimento de padrões (argumentos que funcionam), abstração (foco no essencial), algoritmos (sequência lógica da apresentação).

📜 Habilidades BNCC e RCP-PR

BNCC Matemática e suas Tecnologias:

Código Habilidade
EM13MAT501 Comunicar ideias matemáticas de forma clara, precisa e contextualizada, utilizando diferentes linguagens e representações.

BNCC Linguagens e suas Tecnologias:

Código Habilidade
EM13LP11 Apresentar e defender pontos de vista em situações de debate, considerando a relevância dos argumentos e a adequação ao contexto.

BNCC Computação (Complemento à BNCC) Resolução CNE/CEB nº 2/2022:

Código Habilidade
EM13CO07 Planejar e executar projetos de desenvolvimento de software, considerando aspectos como usabilidade, acessibilidade, ética e sustentabilidade.
EM13CO08 Comunicar e compartilhar soluções computacionais, considerando diferentes públicos e contextos.
EM13CO09 Refletir sobre o processo de construção de soluções computacionais, identificando aprendizados, desafios e possibilidades de melhoria.

RCP-PR Referencial Curricular do Paraná (2025) Eixo Cultura Digital:

O Referencial Curricular do Paraná orienta o desenvolvimento da habilidade de expor, argumentar e negociar propostas, produtos e serviços, utilizando diferentes mídias e ferramentas digitais (EM13CO19), bem como a habilidade de comunicar e compartilhar soluções computacionais, considerando diferentes públicos e contextos (EM13CO08).

💻 Código Comentado

Esta seção apresenta um código que simula uma apresentação de pitch para que os alunos entendam, na prática, como estruturar uma apresentação impactante.

# ============================================================
# SIMULADOR DE PITCH A GRANDE ESTREIA
# ============================================================
#
# Este código simula uma apresentação de pitch no formato
# Shark Tank / Pitch Night.
#
# O objetivo: mostrar como estruturar uma apresentação
# convincente e impactante.
# ============================================================

import time

# ============================================================
# 1. ESTRUTURA DO PITCH
# ============================================================
class Pitch:
    """
    Estrutura uma apresentação de pitch de 3 minutos.
    """
    def __init__(self, nome_projeto, problema, solucao, publico_alvo, impacto):
        self.nome_projeto = nome_projeto
        self.problema = problema
        self.solucao = solucao
        self.publico_alvo = publico_alvo
        self.impacto = impacto
        self.segmentos = []
        self._construir_pitch()

    def _construir_pitch(self):
        """Constrói os segmentos do pitch."""
        self.segmentos = [
            {
                "nome": "Abertura Impactante",
                "duracao": 20,  # segundos
                "conteudo": f"🚀 Olá! Somos o grupo e hoje vamos apresentar o {self.nome_projeto}."
            },
            {
                "nome": "O Problema",
                "duracao": 40,
                "conteudo": f"📌 O problema que identificamos: {self.problema}. Isso afeta {self.publico_alvo} e tem impactos reais."
            },
            {
                "nome": "A Solução",
                "duracao": 50,
                "conteudo": f"💡 Nossa solução: {self.solucao}. Ela funciona porque..."
            },
            {
                "nome": "Demonstração",
                "duracao": 40,
                "conteudo": "🎬 Agora, vamos demonstrar o protótipo em ação!"
            },
            {
                "nome": "Impacto",
                "duracao": 30,
                "conteudo": f"📊 O impacto esperado: {self.impacto}. E aqui estão os dados que comprovam..."
            },
            {
                "nome": "Fechamento",
                "duracao": 20,
                "conteudo": "🎯 Por que vocês deveriam acreditar nisso? Porque nós acreditamos. E porque isso importa."
            }
        ]

    def apresentar(self):
        """Simula a apresentação do pitch."""
        print("=" * 60)
        print(f"🎤 PITCH: {self.nome_projeto}")
        print("=" * 60)
        print("\n⏱️ Tempo total: 3 minutos (180 segundos)")
        print("\n" + "-" * 60)
        total_tempo = 0
        for segmento in self.segmentos:
            print(f"\n📌 {segmento['nome']} ({segmento['duracao']}s)")
            print(f"   {segmento['conteudo']}")
            total_tempo += segmento['duracao']
            time.sleep(0.2)  # simula o tempo de apresentação
        print("\n" + "-" * 60)
        print(f"\n✅ Pitch concluído! Tempo total: {total_tempo}s")
        print("\n🤝 Agora, perguntas da banca!")

# ============================================================
# 2. SIMULAÇÃO DE BANCA (PERGUNTAS E RESPOSTAS)
# ============================================================
class Banca:
    """
    Simula uma banca avaliadora que faz perguntas sobre o projeto.
    """
    def __init__(self):
        self.perguntas = [
            {
                "pergunta": "Qual foi o maior desafio que vocês enfrentaram durante o desenvolvimento?",
                "dica": "Seja honesto. Mostre que aprenderam com os desafios."
            },
            {
                "pergunta": "Como vocês sabem que essa solução realmente funciona?",
                "dica": "Mostre evidências: testes, feedback de usuários, dados."
            },
            {
                "pergunta": "O que vocês fariam diferente se tivessem mais tempo?",
                "dica": "Mostre que vocês pensam no futuro e na melhoria contínua."
            },
            {
                "pergunta": "Qual é o próximo passo? O que vem depois do protótipo?",
                "dica": "Mostre visão de futuro. O projeto não termina aqui."
            },
            {
                "pergunta": "Por que vocês escolheram esse problema?",
                "dica": "Mostre que o problema é relevante e pessoal para vocês."
            }
        ]

    def fazer_perguntas(self):
        """Simula a sessão de perguntas e respostas."""
        print("\n" + "=" * 60)
        print("❓ SESSÃO DE PERGUNTAS E RESPOSTAS")
        print("=" * 60)
        print("\nA banca vai fazer algumas perguntas. Respondam com confiança!")
        for i, item in enumerate(self.perguntas, 1):
            print(f"\n📌 PERGUNTA {i}: {item['pergunta']}")
            print(f"   💡 Dica: {item['dica']}")
            print("   🤔 (Pausa para resposta do grupo)")
            time.sleep(0.5)
        print("\n" + "=" * 60)
        print("✅ Sessão de perguntas concluída!")
        print(" Parabéns, grupo! Vocês mandaram bem!")

# ============================================================
# 3. AUTOAVALIAÇÃO
# ============================================================
class Autoavaliacao:
    """
    Simula o processo de autoavaliação após a apresentação.
    """
    def __init__(self):
        self.perguntas = [
            "O que eu aprendi com este projeto?",
            "O que foi mais difícil?",
            "O que eu faria diferente?",
            "O que eu mais curti no processo?",
            "Como eu me sinto agora?"
        ]

    def refletir(self):
        """Guia a reflexão individual."""
        print("\n" + "=" * 60)
        print("📝 AUTOAVALIAÇÃO")
        print("=" * 60)
        print("\nReserve um momento para refletir sobre sua jornada:")
        for pergunta in self.perguntas:
            print(f"\n❓ {pergunta}")
            print("   (Escreva sua resposta em seu caderno/diário)")
        print("\n" + "=" * 60)
        print("💡 LEMBRE-SE:")
        print(" O projeto é importante, mas o que você")
        print(" se tornou para construí-lo é ainda mais.")
        print("=" * 60)

# ============================================================
# 4. SIMULAÇÃO
# ============================================================
print("=" * 60)
print("🎬 SIMULADOR DE PITCH A GRANDE ESTREIA")
print("=" * 60)
print("\n⚠️ ATENÇÃO: Isso é uma SIMULAÇÃO de uma")
print(" apresentação de pitch.")
print(" Na vida real, vai ser ainda mais emocionante!")
print("=" * 60)

# Criando o pitch
pitch = Pitch(
    nome_projeto="App: 'Tempo de Tela Consciente'",
    problema="Jovens passam em média 4+ horas por dia em redes sociais, com impactos negativos na saúde mental.",
    solucao="Um app que monitora o uso do celular e envia alertas personalizados para pausas conscientes.",
    publico_alvo="Adolescentes e jovens adultos (15-25 anos)",
    impacto="Redução de 30% no tempo de tela e melhora na qualidade do sono."
)

# Apresentando o pitch
pitch.apresentar()

# Sessão de perguntas
banca = Banca()
banca.fazer_perguntas()

# Autoavaliação
autoavaliacao = Autoavaliacao()
autoavaliacao.refletir()

print("\n" + "=" * 60)
print("🎉 PARABÉNS! VOCÊ CONCLUIU O PITCH!")
print("=" * 60)
print("\nA jornada foi longa, o código foi escrito,")
print("os bugs foram exterminados.")
print("Agora, o que importa não é o site que vocês construíram")
print("--- é o que vocês se tornaram para construí-lo.")
print("\n🚀 Vocês são incríveis. Continuem assim.")

# ============================================================
# DESAFIO PARA OS ALUNOS:
# 1. Apresente seu projeto para a turma.
# 2. Responda às perguntas da banca com confiança.
# 3. Faça sua autoavaliação.
# 4. Comemore! Você merece.
# ============================================================

⏱️ Detalhamento Minuto a Minuto (50 min)

Minuto Atividade Descrição
0-5 Abertura Épica 🎬 Professor inicia com uma trilha sonora épica (tema de filme) e uma saudação: "Hoje é o dia. O dia em que vocês mostram ao mundo o que construíram. Não é sobre o código é sobre a história que vocês têm para contar."
5-10 Preparação Final ⏳ Últimos ajustes, verificação de que tudo está funcionando. Nervosismo e empolgação. "Respirem fundo. Vocês estão prontos."
10-40 Apresentações das Equipes 🎤 Cada equipe tem 3 minutos para apresentar: (1) O que é o projeto, (2) Demonstração ao vivo, (3) Desafios e aprendizados. A turma aplaude após cada apresentação. Formato Shark Tank.
40-43 Feedback Coletivo 🗣️ A turma discute: "Quais projetos mais chamaram atenção? O que foi inspirador? O que surpreendeu?"
43-46 Votação e Premiação 🏆 Votação em categorias: 🏆 Mais Criativo, 🧠 Mais Técnico, 🎨 Mais Bonito, 🤯 Mais Impactante, ❤️ Mais Empático. Entrega de certificados simbólicos.
46-48 Autoavaliação 📝 Cada aluno preenche um formulário rápido de autoavaliação: "O que aprendi? O que foi difícil? O que faria diferente? O que mais curti?"
48-50 Fechamento Emocional 🚀 Professor faz um discurso de encerramento: "Vocês são incríveis. Construíram, erraram, aprenderam, evoluíram. Lembrem-se: o código é só a ferramenta. O que importa é o que vocês criam com ela. E, mais importante, quem vocês se tornam para criá-la. Parabéns, guerreiros digitais! 🚀"

♿ Orientações para Adaptações e Inclusão Exemplos Práticos

Público Adaptações Sugeridas
Deficiência Visual Descreva os projetos verbalmente; use materiais táteis; permita apresentações em áudio; use alto contraste.
Deficiência Auditiva Use feedback visual; disponibilize roteiro escrito; permita apresentações escritas; garanta legendas em vídeos.
Deficiência Motora Permita pausas; use ferramentas com suporte a teclado; permita apresentações com ajuda; garanta acessibilidade física.
TDAH Use cronômetros visuais; divida em blocos curtos; forneça checklist de tarefas.
TEA Use roteiros sociais; mantenha ambiente calmo; use perguntas estruturadas.
Altas Habilidades Desafio extra: "Apresente uma versão estendida do projeto para um público diferente (ex: professores, pais, comunidade)."

📊 Critérios Operacionais de Avaliação com pontuação

Critério Descrição Pontuação
Clareza da Apresentação Explicou o projeto de forma clara, organizada e envolvente. 0-2
Demonstração Funcional O projeto foi demonstrado ao vivo e funcionou (ou o grupo explicou claramente o que funciona e o que não). 0-2
Storytelling Contou uma história envolvente (contexto, desafios, soluções, impacto). 0-2
Justificativa das Escolhas Explicou por que fez certas escolhas técnicas e de design. 0-1
Trabalho em Equipe Todos os membros participaram ativamente da apresentação. 0-1
Respostas às Perguntas Respondeu às perguntas com segurança, conhecimento e humildade. 0-1
Autoavaliação Refletiu criticamente sobre seu próprio aprendizado. 0-1
Total 0-10

"A jornada foi longa, o código foi escrito, os bugs foram exterminados. Agora, o que importa não é o site que vocês construíram é o que vocês se tornaram para construí-lo." 🚀

ORIENTAÇÕES PARA ADAPTAÇÕES E INCLUSÃO

"Projeto que só funciona pra quem tem a chave não é projeto, é piscina de condomínio. E nós não somos piá de prédio, somos piá de rua: a gente entra pelo portão que tiver aberto."

Deficiência Visual
  • Use leitores de tela (NVDA), braille, descrições táteis, programação por voz e Lego Braille Bricks.
  • Garanta alto contraste e fontes grandes (mínimo 16px).
Deficiência Auditiva
  • Garanta legendas completas em vídeos, intérprete de Libras (quando disponível), transcrições escritas e uso de chat para debates.
Deficiência Motora
  • Divida em sprints curtos (15-20 min), use checklists visuais, cronômetros e papéis claramente definidos nos grupos.
  • Garanta navegação por teclado e botões com tamanho adequado (mínimo 44px).
TDAH
  • Use roteiros sociais, cronogramas visuais, perguntas enviadas com antecedência e ambiente com poucos estímulos sensoriais.
Altas Habilidades
  • Ofereça desafios extras, projetos ampliados (complexidade técnica), mentoria e produção de conteúdo aprofundado (artigos, pesquisas).

RUBRICA DE AVALIAÇÃO PROJETO FINAL

Critério Excelente (10) Bom (7) Regular (5) Insuficiente (3)
Compreensão do Problema Identificou e analisou profundamente o problema da Cultura Digital. Identificou o problema, mas com análise superficial. Identificou o problema de forma vaga. Não identificou ou compreendeu o problema.
Aplicação dos Pilares do PC Aplicou os 4 pilares de forma criativa e eficaz. Aplicou a maioria dos pilares corretamente. Aplicou alguns pilares, mas com falhas. Não aplicou os pilares ou aplicou incorretamente.
Desenvolvimento do Protótipo Proótipo funcional, criativo e bem executado. Proótipo funcional, mas com pouca criatividade. Proótipo parcialmente funcional. Proótipo não funcional ou incompleto.
Apresentação (Pitch) Comunicação clara, envolvente, domínio do conteúdo. Clara, mas com algumas hesitações. Razoável, com dificuldades. Confusa ou tímida.
Trabalho em Equipe Colaboração excelente, divisão equilibrada. Boa colaboração, pequenos desequilíbrios. Razoável, alguns conflitos. Pouca colaboração ou trabalho individual.
Reflexão e Autoavaliação Reflexão profunda e crítica sobre o processo. Reflexão honesta, mas superficial. Reflexão vaga ou genérica. Sem reflexão ou autoavaliação.

REFERÊNCIAS BIBLIOGRÁFICAS