Mapa da aula
Aula 03 publicada. Mapa, exemplo, EX007.
flowchart TD
N0["3.1 Primeiro, dados sintéticos"]
N1["3.2 Saídas e exposição"]
N2["3.3 Verificação das entradas"]
N3["3.4 Comentários que explicam o porquê"]
N4["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4
N4 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX007"]
Desenho lógico
flowchart LR
N0["3.1 Primeiro, dados sintéticos"]
N1["3.2 Saídas e exposição"]
N2["3.3 Verificação das entradas"]
N3["3.4 Comentários que explicam o porquê"]
N4["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> Q["EX007"]
[3.1 Primeiro, dados sintéticos]
|
v
[3.2 Saídas e exposição]
|
v
[3.3 Verificação das entradas]
|
v
[3.4 Comentários que explicam o porquê]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX007]
Objetivos de aprendizagem
Você vai (1) escrever pequenos programas que tratem dados de alunos com segurança; (2) evitar expor dados nas saídas; (3) usar dados sintéticos para praticar.
3.1 Primeiro, dados sintéticos
Os primeiros programas de Elena calculam percentuais de frequência. O Dr. Asante insiste que toda a prática use alunos sintéticos gerados por um script, nunca exportações reais da rede. Elena escreve um gerador que produz nomes, turmas e registros de frequência com padrões realistas. Ela aprende que os dados sintéticos permitem errar com segurança, compartilhar código com os colegas e publicar exemplos. A regra protege as crianças e também ensina um hábito que os desenvolvedores profissionais deveriam manter, porque dados reais em ambientes de prática são uma fonte frequente de vazamentos.
3.2 Saídas e exposição
O programa de frequência imprime uma lista dos alunos com frequência abaixo de noventa por cento. Elena percebe que, se a lista fosse impressa e esquecida numa mesa da sala dos professores, revelaria informações sensíveis sobre as famílias. Ela muda o programa para imprimir contagens por turma para o uso geral e gerar a lista nominal apenas para o responsável pela frequência, salva em uma pasta protegida. Decidir quem vê qual saída é uma decisão de programação tanto quanto de política, e o código pode impor essa decisão.
3.3 Verificação das entradas
O programa lê uma planilha. Elena acrescenta verificações que rejeitam colunas inesperadas, como uma coluna de anotações de saúde incluída por engano em uma exportação. Se a coluna aparecer, o programa para e explica por quê. Isso impede o programa de tratar dados de que não precisa. Ela explica que a verificação das entradas implementa a minimização de dados no ponto em que os dados entram no programa, e que falhar de forma ruidosa é melhor do que tratar em silêncio dados sensíveis que nunca deveriam estar ali. Seu script rejeita as colunas inesperadas.
3.4 Comentários que explicam o porquê
Elena escreve comentários que explicam as decisões de privacidade, como o motivo de a lista nominal ser salva apenas em uma pasta protegida. Um colega que revisa o código entende o motivo e não o altera. O Dr. Asante observa que os comentários que explicam o porquê valem mais que os que explicam o quê, porque o próprio código já mostra o que faz. O raciocínio de privacidade se perde com facilidade quando o código muda de mãos, e explicações curtas o mantêm junto do código que o impõe. Seus comentários nomeiam a finalidade de cada decisão.
Exemplo resolvido
Elena pratica com alunos gerados, imprime contagens por turma para o uso geral e listas nominais só para o responsável pela frequência, rejeita colunas de saúde inesperadas e documenta seus motivos em comentários.
Caso sintético. Os programas e os alunos são sintéticos.
Erros e limites
Os dados sintéticos podem não ter os casos extremos reais; acrescente-os de propósito.
Exercícios
- EX007 — Prática sintética. Por que a prática precisa usar alunos sintéticos?
Mostrar critérios de avaliação
Rubrica: 3 = os erros e o compartilhamento são seguros, e os dados reais continuam protegidos;; 2 = menciona segurança;; 1 = dados reais servem;; 0 = nenhuma. - EX008 — Duas saídas. Como Elena muda a saída de frequência?
Mostrar critérios de avaliação
Rubrica: 3 = contagens por turma para o uso geral; lista nominal só para o responsável pela frequência;; 2 = uma parte;; 1 = imprime nomes;; 0 = nenhuma. - EX009 — Coluna inesperada. O que o programa faz com uma coluna de saúde inesperada?
Mostrar critérios de avaliação
Rubrica: 3 = para e explica;; 2 = avisa;; 1 = trata a coluna;; 0 = nenhuma.
Síntese
O capítulo 3 programa com segurança. O capítulo 4 desenvolve a escrita acadêmica.