Objetivos
(10 - 15 minutos)
Objetivo Principal:
- Introduzir os alunos ao tópico "Python para Automação: Introdução à Automação de Tarefas" e descrever a importância e os benefícios da automação de tarefas com Python.
Objetivos Secundários:
-
Estabelecer um entendimento claro dos conceitos fundamentais da programação Python, necessários para a automação de tarefas.
-
Apresentar uma visão geral das bibliotecas Python utilizadas para a automação de tarefas, incluindo a manipulação de arquivos e diretórios, a automatização de emails, o trabalho com APIs, a automatização de tarefas na web e no Excel/CSV, a manipulação de datas e horários, o agendamento de tarefas e o teste e depuração de scripts de automação.
-
Incentivar os alunos a seguir as boas práticas de codificação Python, como a PEP 8, para garantir que seu código seja limpo, legível e reutilizável.
Introdução
(20 - 25 minutos)
-
Revisão de Conteúdos Anteriores: O professor deve começar a aula relembrando alguns conceitos fundamentais que foram abordados na aula anterior sobre "Python para Ciência de Dados: Interpretação e Comunicação de Resultados". Esses conceitos podem incluir a análise de dados, manipulação de dados usando pandas, visualização de dados usando matplotlib e seaborn, e a interpretação de resultados estatísticos.
-
Situações Problemas:
- "Imagine que você tenha que enviar um relatório semanal por email para seu chefe. Agora, imagine que você poderia escrever um script que fizesse isso automaticamente para você. O que você faria com o tempo extra?"
- "Pense na quantidade de tarefas repetitivas que você realiza todos os dias em seu computador. Como você se sentiria se pudesse programar seu computador para fazer essas tarefas por você?"
-
Contextualização: O professor deve destacar que a capacidade de automatizar tarefas é uma habilidade extremamente valiosa no mundo da programação e em muitas outras áreas. Por exemplo, os cientistas de dados geralmente precisam repetir o mesmo processo de análise para diferentes conjuntos de dados. Ao automatizar essas tarefas, eles podem economizar tempo e evitar erros. Além disso, muitas empresas valorizam os programadores que podem automatizar tarefas, pois isso aumenta a eficiência e a produtividade.
-
Ganhar a Atenção dos Alunos:
- Curiosidade: "Você sabia que a NASA usa Python para automatizar muitas de suas operações diárias, incluindo o controle de seus satélites e a análise de dados de telescópios?"
- História: "Em 1997, Guido van Rossum, o criador do Python, estava trabalhando no Google. Ele precisava de uma maneira de limpar alguns dados, então ele escreveu um script Python para fazer isso. O script funcionou tão bem que ele começou a usar Python para tudo, e o Google começou a usar Python como uma de suas principais linguagens de programação. Isso é um exemplo de como a automação pode ter um grande impacto!"
Desenvolvimento
(60 - 65 minutos)
-
Revisão do Python Básico: O professor deve começar revendo os fundamentos da linguagem Python. Isso pode incluir uma rápida revisão de variáveis, tipos de dados, operadores, loops, funções e controle de fluxo. O professor pode usar exemplos de código para ilustrar esses conceitos.
-
Teoria da Automação: O professor deve então apresentar a teoria da automação de tarefas, explicando o que é, por que é útil e como pode ser aplicada usando Python. Deve-se enfatizar como a automação pode aumentar a eficiência e a produtividade e reduzir a ocorrência de erros humanos.
-
Apresentação de Bibliotecas Python para Automação: O professor deve apresentar e explicar brevemente as várias bibliotecas Python que são comumente usadas para automação de tarefas. Isso pode incluir os, sys, glob, subprocess, requests, json, Selenium, pandas, smtplib, datetime e sched. O professor deve explicar o propósito de cada biblioteca e dar exemplos de como elas podem ser usadas na automação de tarefas.
-
Atividade Prática 1: Automatização de Tarefas em Sistemas Operacionais O professor deve guiar os alunos através de uma atividade prática que demonstra como automatizar tarefas em sistemas operacionais usando as bibliotecas os, sys e glob. Isso pode incluir a criação, renomeação e exclusão de arquivos e diretórios, a listagem de arquivos em um diretório e a execução de comandos de sistema.
-
Atividade Prática 2: Automatização de Tarefas na Web A segunda atividade prática deve envolver a automatização de tarefas na web usando as bibliotecas requests, json e Selenium. Isso pode incluir a obtenção de dados de uma API, o envio de uma solicitação POST para um servidor web e a automação de um navegador para preencher um formulário ou navegar por um site.
-
Atividade Prática 3: Automatização de Tarefas com Dados A terceira atividade prática deve envolver a automatização de tarefas com dados usando as bibliotecas pandas, datetime e smtplib. Isso pode incluir a leitura de um arquivo CSV, a manipulação dos dados, a realização de cálculos e a geração de um relatório que é então enviado por e-mail.
Materiais Necessários:
- Computadores com Python instalado
- Acesso à Internet
- Editor de código-fonte (como o Jupyter Notebook ou o Sublime Text)
- Documentação das bibliotecas Python mencionadas
- Dados de exemplo para as atividades práticas (como arquivos CSV ou APIs).
- Conta de e-mail para testes na atividade de enviar emails.
Retorno
(5 - 10 minutos)
-
Revisão de Conceitos: O professor deve fazer uma revisão dos principais conceitos apresentados na aula, destacando os pontos mais importantes e respondendo a quaisquer perguntas que os alunos possam ter. Isso pode incluir uma revisão das bibliotecas Python usadas para automação de tarefas, os principais métodos de cada biblioteca e exemplos de como esses métodos podem ser usados para automatizar tarefas específicas.
-
Conexão com a Teoria: O professor deve conectar a teoria apresentada na aula com as atividades práticas realizadas pelos alunos. Por exemplo, o professor pode perguntar aos alunos como eles usaram a biblioteca os para manipular arquivos e diretórios, ou como eles usaram a biblioteca requests para obter dados de uma API.
-
Atividade de Reflexão: O professor deve pedir aos alunos que escrevam em um papel, em um minuto, respostas para as seguintes perguntas:
- Qual foi o conceito mais importante aprendido hoje?
- Quais questões ainda não foram respondidas? Após os alunos escreverem suas respostas, o professor deve pedir a alguns alunos que compartilhem suas respostas com a classe. Isso permitirá ao professor avaliar a compreensão dos alunos sobre o material da aula e identificar quaisquer áreas que possam precisar de reforço em aulas futuras.
-
Exercícios de Casa: O professor deve fornecer aos alunos uma lista de exercícios relacionados ao tema da aula para resolverem em casa. Esses exercícios devem desafiar os alunos a aplicar os conceitos aprendidos em aula para resolver problemas reais de automação de tarefas. Os exercícios podem incluir a automação de tarefas em sistemas operacionais, a automação de tarefas na web e a automação de tarefas com dados. O professor deve explicar que os exercícios são uma parte importante do processo de aprendizagem e que eles devem ser completados antes da próxima aula.
Conclusão
(5 - 10 minutos)
-
Resumo da Aula: O professor deve resumir os principais pontos da aula, relembrando aos alunos os conceitos fundamentais de automação de tarefas com Python, o uso de várias bibliotecas Python para automatizar diferentes tipos de tarefas, e a importância de seguir boas práticas de codificação.
-
Conexão entre Teoria e Prática: O professor deve destacar como a teoria da automação de tarefas foi aplicada durante as atividades práticas. Deve-se enfatizar que a automação de tarefas não é apenas um conceito teórico, mas uma habilidade prática que pode ser aplicada em uma ampla gama de situações, desde a simplificação de tarefas repetitivas até o aumento da eficiência em grandes projetos de programação.
-
Materiais Complementares: O professor deve sugerir materiais adicionais para os alunos que desejam aprofundar seu conhecimento sobre a automação de tarefas com Python. Isso pode incluir livros, tutoriais online, documentação de bibliotecas Python e fóruns de discussão online.
-
Relevância da Automação de Tarefas: Finalmente, o professor deve reiterar a importância da automação de tarefas no mundo real. Deve-se destacar que a habilidade de automatizar tarefas pode aumentar significativamente a produtividade, reduzir a probabilidade de erro humano e abrir novas oportunidades para resolver problemas de maneiras criativas e eficientes. O professor pode mencionar exemplos de como a automação de tarefas é usada em diversas indústrias, desde a ciência de dados até a engenharia de software.
-
Encerramento: O professor deve encerrar a aula, reforçando a importância do assunto aprendido e incentivando os alunos a aplicarem o conhecimento adquirido em suas tarefas diárias. Lembrar os alunos de realizarem os exercícios de casa e estar disponível para quaisquer dúvidas que possam surgir posteriormente.