Aula 1: Começando

Objetivos

Nesta aula, os alunos deverão:

  • Refletir sobre diferentes contextos aonde a programação é aplicada.
  • Entender a necessidade de se aprender a programar.
  • Entender a necessidade de se construir instruções muito bem definidas para realizar uma tarefa.
  • Ter o primeiro contato com a linguagem Python através da observação da execução de um programa.

Preparação

A primeira aula será muitas vezes o primeiro contato dos alunos com o desenvolvimento de programas. Se este for o seu caso, é importante trabalhar bem a contextualização antes de entrar nos detalhes da linguagem e programação. Lembre-se, este curso foi concebido sem pré-requisitos. Uma estratégia que utilizaremos ao longo das aulas é “começar pelo final”, mostrando as possibilidades que a linguagem oferece e o que eles conseguirão fazer no final do curso ao mesmo tempo que eles sairão da aula com algo pronto.

Materiais

  • Python3 configurado e instalado nas máquinas.
  • Projetor (Datashow) para o exemplo em grupo.

Atividades

Esta aula é dividida em duas partes, a primeira envole uma discussão com os alunos, procure trabalhar as respostas deles, fazendo ganchos com o contexto na qual eles estão inserindo e especialmente não invalidando nenhuma resposta.

PRIMEIRA PARTE [10 - 15 minutos]

A idéia da primeira parte é fazer um gancho com a vivência da turma, mostrar a presença da tecnologia no nosso dia-a-dia. É uma estratégia de modo a fazer uma transição mais suave para os temas que veremos a seguir. As perguntas abaixo servem como guia para iniciar a discussão, abra um debate curto (poucos minutos, no máximo) para fazê-los pensar.

  1. Aonde existem programas de computador?
Esta pergunta faz todo sentido se contextualizarmos com a realidade dos alunos. Começe perguntando se há programas no computador, no celular, na televisão, etc; depois passe para coisas não “tangíveis” como sites na internet e sistemas que controlam o trânsito, os aeroportos e os bancos.
  1. Como hoje a tecnologia facilita nossas vidas?
Elenque alguns pontos onde a tecnologia proporcionou um ganho de produtividade nas nossas vidas, algums exemplos: facilidade para fazer uma pesquisa usando a internet, encurtamento de distâncias, comunicação rápida, diminuição de filas e congestionamentos.
  1. Porque nós deveriamos aprendemos a programar?
Mesmo com tantas soluções disponíveis sabemos que falta muita coisa, trabalhe estas possiblidades, como adaptar o computador para resolver um problema real do nosso quotidiano? Apresente esta pergunta e anote os comentários.
  1. O que nós precisamos aprender para criar estas soluções?
Nesta questão é interessante associar o conteúdo do curso com os mecanismos que temos hoje para nos comunicar: a linguagem. Para comunicar com o computador vamos aprender uma das suas linguagens e dar ordens para realizar o que queremos que ele faça.

SEGUNDA PARTE [30 minutos]

Eu ensinaria meu computador a...

A participação dos alunos no curso muitas vezes é derivado de um interesse em aprender algo novo. Neste momento da aula, inverta esta proposta e pergunte para os alunos o que eles ensinariam para o computador (em vez de o que nós vamos aprender com ele) e anote as respostas no quadro. A dinâmica fica mais interssante se todos participarem, favoreça isso em sala.

Nesta ocasição, trabalhe uma dinâmica em grupo, de controle & execução onde você pode eleger uma pessoa para ser um robô que apenas executa ações previamente combinadas (exemplos de comandos: avance, recue, direita, esquerda, pegar objeto, soltar objeto, etc)

Dependendo da infra-estrutura disponível, podemos trabalhar com:

  • A “fuga” de um labirinto.
  • Pegar um objeto dentro de um “mapa”.
  • Dar instruções para trocar uma lâmpada
  • etc;

Veja os exemplos de como trabalhar na seção de exercícios da aula.

Anote num papel ou no quadro os passos que os alunos definiram.

Finalmente, introduza a última atividade da aula com a proposta de traduzir a dinâmica feita em sala para dentro do computador. Para isso explique as regras e ainda sem entrar em detalhes sobre a linguagem em si, explique que o Python irá nos ajudar a resolver este problema.

Para isso iremos:

  • Criar uma tartaruga desenhista [linhas 4-5]
  • Definir a regras de comandos que acabamos de combinar [linhas 8-11]
  • Transcrever para o computador a movimentação que acabamos de fazer [linhas 8-11]

Abaixo você pode experimentar, sem sair desta página, a estrutura de um programa para ser construido junto com eles.




(turtle)

Já deixe pronto para este momento um arquivo para ser preenchido com os alunos, algo como:

from turtle import *

# define o "desenhista"
____(A)____ = Turtle()
____(A)____.shape("turtle")

# regras
____(A)____.____(B)____ = ____(A)____.forward # pra frente
____(A)____.____(C)____ = ____(A)____.backward # pra trás
____(A)____.____(D)____ = ____(A)____.right # ângulo a direita
____(A)____.____(E)____ = ____(A)____.left  # ângulo a esquerda

# movimentação

Substitua:

  • ____(A)____ por um nome escolhido para ser o desenhista, pode ser o seu nome, o nome de algum aluno, etc. Repare que esta definição será repetida em vários lugares no código.
  • ____(B)____ por um dos comandos que você combinou com a sala para ser o comando que avança o desenhista.
  • ____(C)____ por um dos comandos que você combinou com a sala para ser o comando que recua o desenhista.
  • ____(D)____ por um dos comandos que você combinou com a sala para ser o comando muda a direção a partir do lado direito do desenhista.
  • ____(E)____ por um dos comandos que você combinou com a sala para ser o comando muda a direção a partir do lado esquerdo do desenhista.

Tamanho da fonte

Lembre-se que você pode mudar o tamanho da fonte no IDLE.

Utilize os seguintes exemplos como opção para você trabalhar no IDLE:

Copie o conteúdo dos links e cole no editor de textos do IDLE.

Reflexão

(10 minutos)

Ninguém aprende uma nova habilidade na segunda nem na décima vez. Quer tocar bem piano? Procure um bom professor e pratique as escalas milhares de vezes. Trabalhe este conceito com os alunos. Destaque que eles só vão aprender de fato se houver repetição proporcionando a confiança necessária para tirar as idéias do papel. Neste início as dificuldade residirão

  • Na familiarização com o ambiente de desenvolvimento (IDLE).
  • Erros de sintaxe da linguagem Python.

É importante trabalhar com os alunos o repertório que esta sendo aprendido e sempre registrar o que foi aprendido em cada aula.

Para casa

Um bom jeito de introduzir os conceitos é fazendo as atividades da Hora do Código. Sugira como atividade para casa ou então, se houver tempo na aula, trabalhe junto com eles. Os sete primeiros desafios são importantes para as primeiras aulas.

Fazer exercícios da Hora do Código


Boa aula!!!

Comentários: Educador, clique no link abaixo “Show Comments” e utilize este espaço para fazer comentários sobre este plano

Show Comments