Aulas de Python
Apresentação
Para o desenvolvimento das aulas de programação, busca-se focar em uma linguagem mais simples e apresentar às alunas os principais conceitos de lógica de programação, mas fazendo de tal modo para essas alunas não se sintam desmotivadas pela complexidade inicial de um código. Por conta de sua simplicidade e a experiência do IntroComp em ensinar programação para adolescentes, Python foi a linguagem escolhida para as aulas, já que a linguagem é mais baseada apenas na lógica, sem uma sintaxe muito complicada.
Materiais Usados
Para acompanhar as aulas, o Google Meet é a plataforma escolhida para se ter aulas, já que não exige transporte para assistir às aulas e é de fácil acesso. Também é recomendado utilizar o Google Colab, onde são disponibilizados arquivos disponibilizados pela equipe do projeto de extensão IntroComp para facilitar o acompanhamento das aulas.
É recomendado também que seja utilizado o site replit, uma IDE online na qual pode-se programar e rodar programas em seus computadores, sem necessidade de instalar programas avulsos. Além disso, o site run.codes é uma plataforma legal, que possui as resoluções dos exercícios passados.
Com o uso de todos os materiais acima descritos, foi possível desenvolver um projeto interessante e proveitoso e também observar o progresso semanal das alunas a cada vez que aprendiam um novo tópico ou uma nova funcionalidade da linguagem python, ou quando concluíam um novo exercício dentre os propostos no site.
Diário De Aulas
São ao todo um total de 10 aulas, de aproximadamente 1 hora e 30 minutos cada, que ocorrem duas vezes por semana em dias e horários fixos.Aula 1
A primeira aula aborda a introdução da programação, falando sobre conceitos básicos de lógica e algoritmos. Essa aula foi adaptada do notebook 01 do projeto de extensão Introcomp, e incluiu os tópicos:
- O que são algoritmos;
- Entrada e saída de dados;
- O que são expressões aritméticas e como utilizá-las na programação;
- O que são variáveis;
- O que são estruturas de fluxo em algoritmos;
- O que são linguagens de programação e quais são as mais usadas;
- Quais as principais plataformas de programação.
Aula 2
A segunda aula apresentou conteúdos mais específicos da linguagem que seria ensinada, Python. Essa aula foi adaptada do notebook 02 do projeto de extensão Introcomp e abordou os seguintes temas:
- O que é um programa?
- Como surgiu e como funciona a linguagem Python;
- Uso de variáveis em Python;
- Como atribuir valores à variáveis;
- Tipos de dados: o que são e quais tipos existem;
- Tipo int: lida com números inteiros;
- Tipo float: lida com números reais;
- Tipo str: lida com strings (textos, palavras, caracteres, etc);
- Tipo bool: lida com valores booleanos (verdadeiro/falso);
- O que são strings: como criá-las e manipulá-las dentro de um programa.
Durante a aula são feitos diversos exemplos de cada tópico acima, mostrando na teoria e na prática como cada um desses conteúdos são usados na construção de um programa.
Aula 3
Na terceira aula, são revisados os conteúdos ensinados nas aulas anteriores (tipos de dados, manipulação de strings, entrada e saída de dados - função print() - e uso de variáveis), e também seguimos o conteúdo do curso. Essa aula foi adaptada do notebook 02 do projeto Introcomp e abordou os tópicos a seguir:
- Operações aritméticas com números (soma, subtração, multiplicação, divisão e resto);
- Uso da biblioteca Math: como importar para seu código e quando usar;
- Saída de dados: formas de formatação de dados e a função format;
- Entrada de dados: função input e como converter seus dados de entrada para valores do tipo float ou int;
- Uso de operadores lógicos: o que são expressões lógicas, uso de valores booleanos e quais são os operadores mais usados.
Nesta playlist do canal no Youtube do projeto de extensão Introcomp, há a resolução dos exercícios passados, para ajudar na execução e correção das atividades.
Aula 4
Nesta aula são abordados conteúdos de lógica relacional, e revisados os conteúdos apresentados nas aulas anteriores. Essa aula foi adaptada do notebook 03 do projeto Introcomp e trata dos seguintes temas:
- Lógica relacional: comparação de valores e a saída booleana;
- Operadores lógicos: ‘maior que’, ‘menor que’;
- Operadores lógicos: ‘igual a’, diferença entre (=) e (==), ‘maior ou igual que’, ‘menor ou igual que’;
- Operadores lógicos: ‘diferente de’;
- Comparações entre strings: diferença entre letras maiúsculas e minúsculas;
- Comparações entre tipos distintos.
A videoaula desse assunto esta junto com a aula 5, no proximo tópico estará o link para o vídeo no youtube.
Aula 5
Esta aula é uma continuação da anterior, revisando os conteúdos e abordando o assunto de Álgebra Booleana. Essa aula também é uma adaptação do notebook 03 do projeto Introcomp e trata dos assuntos abaixo:
- Álgebra booleana: o que é e para que usar;
- Operador OR: como e quando usar;
- Operador AND: como e quando usar;
- Operador NOT: como e quando usar;
- Combinando expressões com mais de um operador lógico;
- Uso de lógica booleana em strings: funções ‘isupper’, ‘islower’ e ‘isdecimal’.
Nesta playlist do canal no Youtube do projeto de extensão Introcomp, há a resolução dos exercícios passados, para ajudar na execução e correção das atividades.
Aula 6
Nesta aula apresenta-se um conceito extremamente útil para a construção de programas, que são as estruturas condicionais, que podem alterar o fluxo de execução de um código de programação. Essa aula foi adaptada do notebook 04 do projeto Introcomp e inclui os assuntos:
- Revisar os operadores condicionais (OR, AND e NOT, maior que, menor que, igual a, diferente de…): o resultado booleano das comparações usando esses operadores serão muito usadas nas estruturas condicionais;
- Operador if: o que faz, como e quando usar;
- Operador else: o que faz, como e quando usar;
- Operador elif: o que faz, como e quando usar.
A video aula deste assunto também está junto com a próxima aula.
Aula 7
Nesta aula apresenta-se um conceito também muito importante e útil para a programação, que são as estruturas de repetição, que também alteram o fluxo de execução de um programa. Essa aula também foi adaptada do notebook 04 do projeto Introcomp e inclui os assuntos:
- Laços de repetição: o que são e para que servem;
- O que é uma condição de parada e como são úteis para criar uma estrutura de repetição;
- O que são contadores e como são úteis para criar uma estrutura de repetição;
- Operador While: como e quando usar.
Nesta playlist do canal no Youtube do projeto de extensão Introcomp, há a resolução dos exercícios passados, para ajudar na execução e correção das atividades.
Aula 8
Nesta aula, é apresentado um conceito muito interessante e importante da programação, que é o conceito de Listas, uma estrutura capaz de agrupar valores em um só vetor na memória, trazendo inúmeras facilidades para o dia-a-dia da programação. Essa aula foi adaptada do notebook 05 do projeto de extensão Introcomp e inclui os assuntos a seguir:
- Listas: o que são, como funcionam e como são criadas;
- Operador in;
- Sublistas ou fatias: o que são;
- Fatias com passo definido;
- Fatias com índice negativo;
- Como calcular o tamanho de uma lista: uso da função len;
- Como contar a quantidade de aparições de um item em uma lista: uso da função count;
- Como calcular o menor e o maior item de uma lista: uso das funções max e min;
- Como adicionar e remover itens de uma lista: uso das funções append, pop e remove;
- Como copiar itens de uma lista para outra: uso da função copy;
- Como ordenar itens em uma lista: uso da função sort;
- Revisitando o conceito de strings: o que elas são de verdade?
- O que é um caractere?
- Uso das funções aprendidas para manipular strings;
- Acesso a caracteres específicos de uma string e como fatiar uma string.
Como é uma aula bastante densa e complexa, é essencial que o assunto seja praticado com a execução de exercícios e revisão dos conceitos, para fixar os assuntos.
Para auxiliar os estudos, foi feito um material escrito contendo as funções vistas em aula, quando e onde usá-las, para que se tenha à mão um material resumido e direto do que foi passado em aulas. Segue abaixo o pdf deste material: