- Por que aprender a programar é tão importante?
Ser um profissional da computação tem significado estabilidade, salários acima da média e grandes oportunidades. Mesmo que você não seja um profissional diretamente ligado à computação, saber programar é um grande plus, e vai te abrir infinitas possibilidades no mercado de trabalho.
Segundo uma pesquisa feita pelo MIT em 2020, intitulada “To the brain, reading computer code is not the same as reading language”, o profissional que sabe os conceitos da programação sabe resolver problemas de maneira mais eficiente, desenvolve suas atividades de maneira mais organizada e, em geral, tem uma resposta cognitiva significativamente maior daqueles que os desconhece.
Entretanto, entrar para o mundo da computação pode ser muito difícil, em vista da vasta quantidade de linguagens de programação no mercado e infinitas opiniões sobre profissionais a respeito de cada uma delas. Por causa disso, é importante que você comece com uma linguagem descomplicada, vastamente utilizada, com amplo suporte da comunidade e flexível, para você poder testar com os mais variados projetos. É aí que entra a linguagem de programação Python. - Por que Python?
Atualmente, Python é a linguagem de programação mais popular do mercado, sendo responsável por uma fatia de mais de 33% do mercado. Ou seja, se você está pensando em começar a desenvolver por hobby ou como sua profissão, entrar nesse universo com a linguagem Python é uma excelente opção, já que sua sintaxe é relativamente simples comparado a outras linguagens de programação, há muitas oportunidades de emprego para desenvolvedores Python e grande parte das grandes aplicações utilizam Python ou algum framework (uma biblioteca que une códigos comuns provendo uma funcionalidade genérica) de Python.
Muitas pesquisas já tratam Python como a linguagem de programação do futuro, por causa de seu grande crescimento nas áreas da automação e do aprendizado de máquina, áreas estas que estão em crescimento exponencial.
Além disso, a facilidade de desenvolver para diversos sistemas e aplicações torna Python uma ferramenta muito versátil. Com Python, você pode desenvolver:
- Front-end de aplicações web;
- Back-end de aplicações web;
- Automação de aplicativos e tarefas;
- Sistemas de análise de dados;
- Sistemas embarcados da robótica…
- Python para jovens
Em virtude de todas essas vantagens, é importante começarmos a aprender a programar o quanto antes. E, como vimos de antemão, Python é uma ótima linguagem para iniciantes, o que faz dela, por extensão, a linguagem ideal para ensinar jovens a programar.
Infelizmente, nenhuma escola pública oferece cursos de programação para os jovens atualmente, ficando restrito apenas a algumas escolas da rede particular. E apesar de existirem diversas aulas disponíveis na internet, sua grande maioria é destinada a um público com conhecimento prévio de computação e vão do “zero ao programador” de maneira muito abrupta, assustando muitos novos entrantes.
É por isso que criamos este programa: aqui, exploramos quais são as melhores estratégias para ensinar estes novos conceitos para jovens do ensino fundamental II e ensino médio, principalmente. Precisamos ter em mente que aprender a programar é um processo, e como todo processo, há uma curva de aprendizado muito importante. A partir disso, criamos o seguinte cronograma:
Detalhamento do Escopo das Aulas:
● 1º vídeo – Introdução: Neste vídeo, falaremos sobre os conceitos base da programação (‘o que é programar?’). O vídeo será subdividido em 3 partes de 28 minutos cada. Na primeira parte, vamos falar sobre o que é possível fazer com a programação (onde que a programação está? Como afeta nossas vidas? O que e como a programação mudou nossas vidas?); a ideia é que, ao aproximar o aluno dos motivos pela programação ser hoje o que ela é, eles ganharão mais ânimo em aprender mais sobre este universo. Na segunda parte, vamos tratar sobre as diferenças entre conversar com uma pessoa e ‘conversar’ com um computador, explicando como ele não entende frases comuns e precisamos de algumas ferramentas que tornam essa ‘conversa’ algo possível. E, por fim, na terceira parte, vamos fazer um pequeno exercício sobre lógica de programação, onde o apresentador vai incentivar os alunos a pensarem em um conjunto de direções que o apresentador precisa seguir para conseguir encontrar um aplicativo em seu próprio celular (por exemplo, procure o botão de liga (mas O QUE É um botão de desliga?)->desbloqueie (como que eu desbloqueio?)->procure o aplicativo (até onde eu vou passar as páginas até encontrar o aplicativo?)->clique no aplicativo (qual é o nome do aplicativo? preciso deixar isso armazenado em algum lugar)), direcionando os jovens a pensar com uma lógica de programação.
O Desafio da aula: Procurar qual foi a primeira linguagem de programação e qual é a linguagem de programação mais utilizada hoje em dia.
● 2º vídeo – Entendendo a lógica dos computadores: Após fazer uma breve introdução falando superficialmente sobre FORTRAN e Python (relacionados à pesquisa do vídeo anterior), neste vídeo, começaremos relembrando o joguinho mental que realizamos no último vídeo e os principais conceitos que tratamos anteriormente (para que, mesmo se alguém perdeu o vídeo anterior, consiga entender minimamente do que estamos falando. Não queremos deixar ninguém pra trás). Após, vamos falar sobre linguagens de programação, o que são linguagens de programação e como funcionam (de onde vieram, para que servem, quais existem e como usamos [ou seja, suas aplicações]). Aproveitaremos este momento para corrigir a atividade da aula anterior, falando superficialmente sobre FORTRAN (primeira linguagem de programação disponível) e Python (a mais comum atualmente), até que, por fim, vamos falar mais à fundo de Python, dando exemplos da linguagem (principalmente através de “prints”, inputs e variáveis, conceitos que utilizaremos para mostrar em linguagem de programação o jogo mental que fizemos na aula anterior, de encontrar um aplicativo).
O Desafio da aula: Entrar no link do Google Colab disponibilizado para apenas executar cada um dos comandos ali disponíveis.
● 3º vídeo – Caçando problemas: Neste vídeo, vamos focar em encontrar problemas. Vamos começar com um simples “jogo dos 7 erros”, onde teremos diversas imagens para os alunos encontrarem os erros e, ao passar das imagens, a dificuldade em encontrar os erros vai aumentando. A ideia é acostumar os alunos com a busca por inconsistências e coisas fora do padrão. Em seguida, mostraremos alguns exemplos de códigos como os feitos no vídeo anterior, um correto, e o outro, com erros de digitação, indentação e/ou semântica, buscando ensinar os alunos da importância da busca por corretude durante a escrita de código e da importância da refatoração. Por fim, vamos fazer um programa que lê um “input” do usuário e retorna um dado processado, contendo, durante o desenvolvimento da atividade, alguns erros propositais de indentação e digitação, mostrando aos alunos como que erros acontecem, como os corrigimos, ao mesmo tempo que mostramos recursos mais aprofundados da linguagem.
Condicionais, refatoração e erros
O Desafio da aula: Entrar no link do Google Colab disponibilizado para analisar os códigos, encontrar os erros e corrigi-los. Os alunos devem enviar as espostas via Discord ou via E-mail.
● 4º vídeo – Condicionais, refatoração e erros: Vamos começar a aula corrigindo os exercícios deixados como tarefa na aula anterior. Após, vamos falar sobre os erros e warnings. Para encerrarmos, vamos começar a discutir laços de repetição, dando exemplos práticos de repetições que fazemos diariamente e iremos mostrar na prática como isso pode ser utilizado no universo da programação.
Revisão dos Conceitos
O Desafio da aula: Entrar no link do Google Colab disponibilizado para analisar os códigos e “otimizá-los”, utilizando laços de repetição. Serão exercícios bem simples, onde implementaremos apenas um laço “for”. Os alunos devem enviar as respostas via Discord ou via E-mail.
● Revisão Discord: Na sexta-feira seguinte à 4ª aula, fizemos uma reunião com os integrantes do discord para corrigir ao vivo os exercícios extra da aula.
● 5º vídeo – Revisão e repetição: Este vídeo será dividido em duas partes: na primeira, vamos revisar os conceitos base vistos até então (como print, variáveis, listas, erros, warnings, etc.) utilizando diversos exemplos simples de código em Python para demonstrar seu caso de uso mais comum. Na segunda parte vamos continuar a discussão a respeito de laços de repetição, explicando o que é um laço de repetição, qual a ideia por trás de um laço de repetição e dar exemplos mais ‘palpáveis’ (ex.: ‘Execute determinada tarefa até uma meta ser atingida. Assim que a meta for atingida, pare.’). Seguiremos com exemplos em Python, para exemplificar seu uso detalhado.
Revisão dos Conceitos
O Desafio da aula: Entrar no link do Google Colab disponibilizado para analisar
os códigos que contêm laços de repetição e corrigi-los. Os alunos devem
enviar as respostas via Discord ou via E-mail.
● 6º vídeo – Funções: Este vídeo será dividido em duas partes: na primeira, vamos abordar quais são os fundamentos de uma função: o que são, como funcionam, para que servem e como declaramos uma função. Após, vamos para o Google Colab para analisarmos alguns códigos que incluem funções, implementando uma função que será responsável por iterar sobre uma lista em Python, com o objetivo de poupar trabalho do desenvolvedor em implementar diversos laços ‘for’ e reduzindo código. Conforme mostramos o exemplo, incluiremos também exemplos de erros recorrentes, casos de uso e implementação.
Revisão dos Conceitos
O Desafio de aula: Entrar no link do Google Colab disponibilizado para fazer os exercícios de teste disponibilizados. Os alunos devem enviar as respostas via Discord ou via E-mail.
● 7º vídeo – Classes e objetos: Neste vídeo, vamos começar abordando os conceitos mais importantes de Classes e objetos, como o que é um objeto, o que significa “um objeto ser a instância de uma classe”, para que e onde estão presentes, etc. A ideia desta aula é tornar os alunos familiarizados com os conceitos de programação orientada a objetos, entendendo principalmente os conceitos de herança e abstração . Após, vamos entrar no Colab para mostrar aos alunos um simples exemplo em Python para exemplificar os conceitos vistos.
Classes e Objetos em Python
O Esta aula não terá nenhum desafio, apenas a apostila desenvolvida pela equipe para auxiliar os alunos.
● 8º vídeo – Testes: Este será um vídeo mais curto, especialmente por que os testes são conceitos que ficam mais consolidados uma vez que os alunos já têm alguma prática com o desenvolvimento de software, mas, estaremos focando no principal, como o que é um teste, quais são os tipos de teste (teste de mesa, funcional e de usabilidade), como fazer um teste e por que devemos testar um programa.
Testes em Python
O Esta aula não terá nenhum desafio, apenas a apostila desenvolvida pela
equipe para auxiliar os alunos.
● 9º vídeo – Análise de dados: Neste vídeo, focaremos especificamente em analisar uma série de dados para que no final, possamos extrair algum conhecimento deles. Pegaremos uma série de dados misturados e seu contexto para construirmos gráficos e extrairmos médias, variante e moda, assim conseguindo entender o que eles nos dizem.
Como Usar PYTHON para ANÁLISE DE DADOS
O Desafio da aula: Fazer a lista de exercícios que foi disponibilizada e que será
corrigida na última aula
● 10º vídeo – Correção dos exercícios: Neste vídeo, estaremos corrigindo a lista de
exercícios que deixamos para os alunos na última aula e estaremos tirando
quaisquer dúvidas.
Como Usar PYTHON para ANÁLISE DE DADOS
Integrantes:
Arthur Felipe (Gerente) – 231661
Eric Camille Camargo dos Santos – 215419
Matheus Eduardo Da Silva – 230719
Verônica Cintra de Oliveira – 244963