• Nenhum resultado encontrado

Aulas interativas com recurso à exposição: uma metodologia para o ensino da linguagem de programação Python

N/A
N/A
Protected

Academic year: 2020

Share "Aulas interativas com recurso à exposição: uma metodologia para o ensino da linguagem de programação Python"

Copied!
100
0
0

Texto

(1)

abril de 2015

Maria Elisabete de Sousa Cunha

UMinho|20 15 Maria Elisabe te de Sousa Cunha

Universidade do Minho

Instituto de Educação

Aulas interativas com recurso à exposição: Uma

metodologia para o ensino da linguagem de

programação Python

Aulas interativ

as com recur

so à e

xposição: Uma me

todologia para o ensino da linguagem de programação

(2)

Relatório de Estágio

Mestrado em Ensino de Informática

Trabalho realizado sob a orientação da

Professora Doutora Altina Ramos

Universidade do Minho

Instituto de Educação

abril de 2015

Maria Elisabete de Sousa Cunha

Aulas interativas com recurso à exposição: Uma

metodologia para o ensino da linguagem de

programação Python

(3)

DECLARAÇÃO

Nome: Maria Elisabete de Sousa Cunha

Endereço eletrónico: betaelisa9@gmail.com

Telemóvel: 965732023

Número do cartão de cidadão: 9513806

Título do Relatório: Aulas interativas com recurso à exposição: Uma metodologia para

o ensino da linguagem de programação Python

Supervisora: Professora Doutora Altina Ramos

Ano de conclusão: 2015

Designação do Mestrado: Mestrado em Ensino de Informática

É AUTORIZADA A REPRODUÇÃO INTEGRAL DESTE RELATÓRIO APENAS PARA EFEITOS DE INVESTIGAÇÃO, MEDIANTE DECLARAÇÃO ESCRITA DO INTERESSADO, QUE A TAL SE COMPROMETE.

Universidade do Minho, ____/ ____/ _______

(4)

iii

AGRADECIMENTOS

À professora Altina pela paciência e dedicação que despendeu para que este projeto chegasse a bom porto.

À minha mãe pela paciência e compreensão pelos momentos que deixei de lhe dar a atenção que considero seria importante.

Ao colega do curso Jorge Coutinho pela força que me deu para que eu levasse este projeto até ao fim e ajuda em alguns momentos do curso.

(5)
(6)

v

RESUMO

Aulas interativas com recurso à exposição: Uma metodologia para o ensino da linguagem de programação Python

A metodologia utilizada durante a minha intervenção pedagógica teve recurso à exposição para apresentar alguns conceitos da linguagem de programação Python, sendo este o assunto lecionado, fazendo alternância com a interação e complementando com a resolução de problemasdesenvolvendo programas utilizando esta linguagem.

Este trabalho foi realizado num turno de 10 alunos de uma turma com 21 alunos do curso profissional Técnico de Gestão e Programação de Sistemas Informáticos do 12º ano. A disciplina era designada de Programação e Sistemas de Informação. Teve a duração de 16 aulas contínuas de 90 minutos.

Os objetivos que se pretendiam com a aposta em interação era tornar estes alunos mais colaborativos e motivados. Mas essencialmente verificar que as suas aprendizagens foram consolidadas e que eles adquiriram novas competências.

Foram aplicados três questionários online, um inicial para apurar os conhecimentos prévios, entre outos assuntos e dois finais, onde num deles pretendi apurar as aprendizagens realizadas e o outro para eles avaliarem as aulas lecionadas por mim.

As limitações sentidas neste processo foram o facto de a turma ser bastante turbulenta, podendo ter atitudes imprevisíveis; também a intervenção ser no mês de janeiro de forma contínua e próximo do final do semestre e por a matéria que me foi apresentada ser-me desconhecida inicialmente.

Feito um apanhado geral das aulas e da avaliação final feita pelos alunos das minhas aulas, posso aferir que o resultado foi positivo. A aposta em interação criou mais motivação para os assuntos lecionados e de uma forma geral colaboraram quando interpelados. Houve alunos que evoluíram positivamente ao longo das aulas demonstrando que estavam a aprender. Apenas os trabalhos em grupo não foram suficientes para tornar os alunos mais colaborativos.

(7)
(8)

vii

ABSTRACT

Interactive lessons using exhibition: A methodology to the teaching Python programming language

The methodology used during my pedagogical intervention resorted to the exhibition in order to present some concepts of the Python programming language, which is the learning subject, alternating with the interaction and complementing with problem solving in development programs using this language.

This work was performed in a 10 students group from a 21 student’s class taking the vocational course Técnico de Gestão e Programação de Sistemas Informáticos, in the 12th year. The discipline was designated as Programação e Sistemas de Informação. It lasted for 16 continuous lessons of 90 minutes.

The aims pursued to bet on interaction were to make these students more collaborative and motivated. However, essentially verify that their learning was consolidated and that they have acquired new skills.

We applied 3 online questionnaires, an initial were applied to establish the existing knowledge among other subjects and two at the end, where one of them intended to ascertain the learning achieved and the other to assess the lessons taught by me.

The limitations felt in this process was the fact that the class was quite turbulent and had unpredictable attitudes; as well as the fact that the intervention was carried out in January in a continuous way and near the end of the semester and also the subject to teach was unknown to me.

As an overview of the classes and the final evaluation made by the students, I can verify that the result was positive. The investment in the interaction created more motivation for the subjects taught and in general the students collaborated when asked. There were students who developed positively during the lessons demonstrating that they were learning. Only the group work were not enough to make more collaborative students.

(9)
(10)

ix

ÍNDICE GERAL

Introdução ... 13

Capítulo I – Enquadramento teórico ... 15

1.1 Abordagem teórica ... 15

1.1.1 Exposição de conteúdos: uma necessidade?... 15

1.1.2 A exposição e a interação nas aulas de programação ... 16

1.1.3 Interação ... 17

1.1.3.1 Interação do aluno com o computador ... 17

1.1.3.2 Interação dos alunos entre si e com o professor ... 17

1.1.4 A importância da programação para o desenvolvimento do pensamento computacional ... 19

1.1.5 A linguagem de programação Python ... 20

Capítulo II – Contexto e plano geral de intervenção ... 23

2.1 Contexto da intervenção ... 23

2.1.1 Caraterização da escola ... 23

2.1.2 Caraterização da turma ... 24

2.1.3 Caraterização da disciplina ... 25

2.2 Plano geral da intervenção... 26

2.2.1 Objetivos ... 26

2.2.2 Técnicas e instrumentos de recolha de dados ... 26

2.2.3 Estratégias de intervenção ... 27

Capítulo III - Desenvolvimento e avaliação da intervenção ... 28

3.1 Ferramentas educativas ... 28 3.1.1 Google Drive ... 28 3.1.2 Microsoft PowerPoint ... 29 3.1.3 Interpretador do Python ... 30 3.2 Aulas observadas ... 31 3.3 Levantamento de requisitos ... 33

3.4 Implementação e avaliação da ação ... 35

3.4.1 Calendarização das atividades realizadas ... 35

(11)

x

3.4.3 Da aula 1 até à aula 12 e aula 14 – Aulas não assistidas ... 39

3.4.4 Aula 13, aula 15 e aula 16 - Aulas assistidas ... 61

3.4.5 Reflexão final ... 71

3.5 Análise da intervenção ... 72

Capítulo IV – Considerações finais ... 77

4.1 Conclusões ... 77

4.2 Limitações ... 78

4.3 Reflexão sobre o projeto e aprendizagens ... 79

Referências bibliográficas... 81

Anexos ... 83

Anexo 1: Planificação do módulo 17 E ... 83

Anexo 2: Grelha de observação dos alunos ... 85

Anexo 3: Planos de aula das aulas observadas pelos supervisores ... 86

Anexo 4: Questionário inicial sobre levantamento de requisitos ... 92

Anexo 5: Questionário sobre as aprendizagens realizadas pelos alunos ... 95

Anexo 6: Questionário sobre a avaliação final feita pelos alunos das minhas aulas ... 96

(12)

xi

ÍNDICE DE FIGURAS

Figura 1 - Escola Secundária Alberto Sampaio ... 23

Figura 2 - Ícone do Google Drive na barra de tarefas ... 28

Figura 3 - Google Drive - Partilha de material com os alunos ... 29

Figura 4 - Google Drive - Partilha de pastas individuais para colocar TPC's ... 29

Figura 5 - Programa e interpretador interativo do Python ... 31

Figura 6 - Enunciado do problema "Serviço de restaurante" ... 41

Figura 7 - Compilação do programa sobre o problema "Serviço de restaurante" ... 42

Figura 8 - Sintaxe geral da sequência de comandos if/elif/else... 43

Figura 9 - Enunciado do problema "Média das notas de um aluno" ... 44

Figura 10 - compilação do programa sobre o problema "Média das notas de um aluno" ... 44

Figura 11 - Compilação do programa sobre o problema "Promoções no cinema" ... 48

Figura 12 - Compilação do programa sobre o problema "Soma e média de um conjunto de números" ... 49

Figura 13 - Enunciado do problema "Exame da turma" ... 50

Figura 14 - Compilação do programa sobre o problema "Exame da turma" ... 52

Figura 15 - Compilação do programa sobre o problema "Tabuada sem formatação"... 53

Figura 16 - Compilação do programa sobre o problema "Tabuada com formatação" com dois dígitos ... 54

Figura 17 - compilação do programa sobre o problema "Tabuada com formatação" com três dígitos ... 54

Figura 18 - Compilação do programa sobre o problema "Contador de carateres" ... 56

Figura 19 - Exemplo de indexação em strings ... 56

Figura 20 - Exemplos de utilização de slicing sobre strings ... 57

Figura 21 - Compilação do programa sobre o problema "Nome em escada" ... 58

Figura 22 - Compilação do programa sobre o problema "Teste de palíndromo" ... 60

Figura 23 - Compilação do programa sobre o problema "Inteiro para romano" ... 60

Figura 24 - Compilação do programa sobre o problema "Conta e imprime consoantes" ... 62

Figura 25 - Compilação do programa sobre o problema "Soma quadrados" ... 63

Figura 26 - Enunciado do problema "Investigação do crime" ... 65

(13)

xii

Figura 28 - Compilação do programa sobre o problema "Jornada de futebol" ... 69

ÍNDICE DE TABELAS Tabela 1 - Comparação de código da linguagem de programação C com a linguagem de programação Python... 21

Tabela 2 - Apresentações no ensino da linguagem de programação Python ... 30

Tabela 3 - Calendarização das atividades realizadas ... 35

Tabela 4 - Problema “Promoções no cinema” ... 47

ÍNDICE DE GRÁFICOS Gráfico 1 - Resposta à questão "Realizei as tarefas que me foram indicadas?" ... 73

Gráfico 2 - Resposta à questão "Gostei da forma como as aulas foram lecionadas?" ... 74

Gráfico 3 - Resposta à questão "Gostei das atividades que me foram propostas?" ... 74

Gráfico 4 - Resposta à questão "A professora tirou as minhas dúvidas?" ... 75

Gráfico 5 - Resposta à questão "A professora criou um ambiente de interatividade?" ... 75

Gráfico 6 - Resposta á questão "Fiquei motivado para programar em Python?" ... 76

Gráfico 7 - Resposta à questão "Aumentei a minha autonomia no desenvolvimento de programas em Python?" ... 76

(14)

13

INTRODUÇÃO

Este trabalho foi realizado no âmbito da Unidade Curricular Estágio profissional, do Mestrado em Ensino da Informática do Instituto da Educação da Universidade do Minho.

A minha intervenção pedagógica baseou-se no ensino da linguagem de programação Python. Ao mesmo tempo que ia expondo alguns conceitos utilizei a interatividade para promover a discussão de pontos de vista no desenvolvimento das tarefas e troca de ideias entre os colegas para a resolução de um dado problema. A realização de trabalhos de grupo teve como finalidade a colaboração para um mesmo objetivo.

A linguagem de programação Python é uma linguagem de alto nível e uma linguagem orientada a objetos como a linguagem de programação Java. É fácil de utilizar e por isso também é fácil de aprender em comparação com outras linguagens como é o caso da linguagem C. Segundo Papert (1980) “Uma linguagem de programação é como uma língua natural humana, que favorece determinadas metáforas, imagens e formas de pensar.” (p. 34)

O meu projeto de intervenção foi colocado em prática na Escola Secundária Alberto Sampaio, uma escola do centro da cidade de Braga. Era uma escola bem equipada com computadores, tendo uma média de uma computador por aluno.

Realizei a minha intervenção num turno de 10 alunos que pertenciam a uma turma de 21 alunos, estando esta dividida em dois turnos. Era uma turma reconhecida pelo seu mau comportamento, segundo informações recolhidas. Lecionei uma parte de um módulo da disciplina Programação e Sistemas de Informação do curso profissional Técnico de Gestão e Programação de Sistemas Informáticos do 12º ano, desde o dia 8 de janeiro de 2014 a 29 de janeiro de 2014, com cinco blocos/aulas semanais de 90 minutos, num total de 16 blocos.

As principais limitações deste projeto foram: 1) o facto de ter sido colocado em prática próximo do final do semestre, criando dificuldades no acompanhamento de outras Unidades Curriculares do curso; 2) ser uma turma difícil em termos de comportamento, dificultando a lecionação das matérias; e 3) a falta de tempo para me preparar para lecionar um conteúdo novo.

Este relatório está organizado em quatro capítulos.

No primeiro capítulo encontra-se o enquadramento teórico, onde é demostrada a base para a escolha dos métodos utilizados na lecionação das minhas aulas. É também apresentada a importância da aprendizagem de uma linguagem de programação, sendo um meio para

(15)

14

desenvolver o pensamento computacional. Por fim são apresentadas as caraterísticas da linguagem de programação Python.

No segundo capítulo é descrito o contexto de intervenção, a escola, a turma e a disciplina onde vou intervir. Também são apresentados os objetivos pretendidos, as técnicas utilizadas para a recolha da informação e as estratégias aplicadas.

No terceiro capítulo é desenvolvida e avaliada a intervenção pedagógica. São referidas as ferramentas utilizadas durante as aulas e é apresentada a informação recolhida antes da intervenção. É também realizada uma descrição aula a aula abordando os respetivos resultados e reflexões, concluindo com uma reflexão final. Por fim, é feita a análise da intervenção com a apresentação dos resultados dos questionários aplicados à turma.

Finalmente no quarto capítulo são apresentadas as considerações finais, onde são relatadas as limitações/dificuldades encontradas, as conclusões e a reflexão sobre o projeto e as aprendizagens adquiridas ao longo do processo.

(16)

15

CAPÍTULO I – ENQUADRAMENTO TEÓRICO 1.1 Abordagem teórica

Neste ponto vou desenvolver os princípios teóricos que segui e que considerei adequados para o ensino de uma linguagem de programação, dado o contexto disciplinar onde iria colocar em prática essas intenções.

Seymour Papert defende a importância da interação do aluno com o computador já que promove o seu desenvolvimento cognitivo, neste caso ao programar com a linguagem de programação LOGO. Nesta mesma lógica, programar na linguagem de programação Python vai ao encontro dos mesmos objetivos.

Recorri ao método expositivo nas minhas aulas por considerar que nos casos em que há a tendência para a distração seria uma estratégia para centrar a atenção dos alunos. Ribeiro (2012) e Crato (2006) confirmam esta perspetiva. A exposição foi intercalada com interação de modo a envolver os alunos para os assuntos da aula. Esta estratégia foi utilizada para obrigar os alunos a pensar e ao mesmo tempo verificar se estavam atentos. Apostei ainda na interação entre eles nas tarefas em grupo para incentivar a partilha de conhecimentos e a ajuda entre os que têm mais e os que têm menos capacidades de aprender.

Por fim abordo a linguagem de programação Python, que foi o tema das minhas aulas. Apresento alguns conceitos, caraterísticas, vantagens na utilização e exemplos de aplicação.

1.1.1 Exposição de conteúdos: uma necessidade?

Considero que utilizar unicamente métodos ativos de aprendizagem nem sempre acaba por dar os melhores resultados, por exemplo quando se estiver a aplicar a alunos que estão desmotivados pela escola e pela educação. Os métodos de ensino construtivistas, como refere Jonassen (2007), são eficazes quando os alunos têm objetivos.

Os alunos com quem trabalhei esperam o apoio do(a) professor(a) para ganharem alguma motivação para a realização de tarefas. Nestes casos, acredito que se lhes tivesse pedido para fazerem a procura da informação utilizando apenas métodos ativos, resultaria em atitudes de desinteresse como observei em algumas aulas. Portanto, na minha intervenção pedagógica, dada a turma em questão e dado o tipo de matéria, optei por métodos que considerei mais adequados para captar maior interesse por parte dos alunos pelos assuntos a serem lecionados

(17)

16

com o objetivo de trabalhar a informação da melhor forma. Ou seja, adequei o método ao contexto.

Com o objetivo de ter alunos mais atentos aos assuntos da aula, Ribeiro (2012) refere que as suas aulas “têm sido (quase) sempre expositivas. (…) Evitam-se atitudes de crianças e adolescentes exibicionistas, mestres no bloqueio do discurso dos docentes.” (p. 69) E ainda acrescenta que “o método expositivo torna também a gestão de conteúdos bem mais objetiva e linear. Poupa tempo. Torna mais raro o álibi da falta de tempo para cumprir programas.” (p. 72)

A utilização do método expositivo é útil para a “introdução de um tema tendo em vista despertar interesse para um assunto ou fornecer diretrizes para a realização de tarefas orientadas pelos métodos ativos.” (Pinheiro & Ramos, 2005, p. 30), Ou seja, neste caso particular pretendi introduzir conceitos da linguagem de programação para que os alunos tivessem as noções necessárias para posteriormente poderem desenvolver os programas propostos.

O Ministério da Educação elaborou um programa em 2005 para ensino de linguagens de programação e em relação à metodologia a adotar é referido que “A metodologia a seguir nesta disciplina será intercalar exposições teóricas com a resolução de exercícios práticos em microcomputador.” (p. 6) Assim constatei que a metodologia que adotei não estaria desadequada, uma vez que lecionei uma linguagem de programação.

1.1.2 A exposição e a interação nas aulas de programação

Considero demasiado cansativo o ensino baseado essencialmente em exposição, em que se dá poucas oportunidades de intervenção dos alunos. Como o tema a lecionar era uma linguagem de programação, considerei que seria adequado expor alguns conceitos teóricos, no caso a sintaxe da linguagem e exemplos em que diversas vezes comparava com uma linguagem de programação que eles já conheciam, alternando com questões que lhes ia colocando, desse modo interagindo com eles com o objetivo de os fazer pensar. Segundo Arends (1995) “o uso adequado do modelo da exposição é situacional, ou seja, o seu uso depende do objectivo que o professor pretende atingir e dos alunos com quem está a trabalhar.” (p. 269)

Na minha opinião, o que torna o ensino mais motivador é a alternância de um conjunto de métodos, uma vez que “não se pode memorizar tudo, tal como não se deve esquecer a memorização. Deve-se desenvolver o raciocínio e o gosto pela compreensão dos conceitos complexos, tal como se deve desenvolver a memória e a automatização de alguns

(18)

17

procedimentos. Ou seja, devem-se usar técnicas variadas e apontar objetivos variados, ao contrário do que defendem os teóricos do construtivismo dogmático.” (Crato, 2006, p.13).

Embora algumas opiniões façam acreditar que o método expositivo é algo negativo para se utilizar no ensino e que os métodos ativos são basicamente aqueles que se deve seguir, Arends afirma que “os efeitos na instrução do modelo baseado na exposição são claros e diretos, nomeadamente para ajudar os alunos a adquirir, a assimilar e a reter a informação.” (1995, p. 280).

1.1.3 Interação

Na última aula a que assisti, antes da minha intervenção pedagógica, apliquei um questionário aos alunos onde solicitava, entre outros aspetos, para sugerirem uma estratégia que os motivasse para a programação. De entre as respostas dadas, a que considerei mais relevante foi a de um aluno que referiu que o motivavam aulas interativas. Assim, optei por usar também esse método para conseguir captar o interesse dos alunos para os assuntos da aula, uma vez que estes facilmente se distraíam e se deixavam levar por assuntos que saíam fora do âmbito da aula.

1.1.3.1 Interação do aluno com o computador

De acordo com Silva (2006) “a “sociedade interativa” é aquela que se relaciona com a comunicação “sob as condições da tecnologia interativa com base em computador” (p. 58).

O que se pretendia era ensinar uma linguagem de programação, neste caso a linguagem de programação Python, onde era proporcionada interação com o computador onde Papert (1980) refere que os computadores podem acelerar o processo de desenvolvimento cognitivo, alterando a fronteira entre o concreto e o formal e permitindo que as crianças façam a transição para o pensamento formal numa idade bem anterior ao que se pensava. Ou seja, a interação com o computador apresenta-se como um ambiente potenciador de aprendizagem.

1.1.3.2 Interação dos alunos entre si e com o professor

Segundo Silva (2006) “a escola não se encontra em sintonia com a emergência da interatividade. Encontra-se alheia ao espírito do tempo e mantém-se fechada em si mesma, em seus rituais de transmissão, quando o seu entorno modifica-se fundamentalmente em nova dimensão comunicacional.” (p. 68).

(19)

18

Uma vez que o método expositivo limita-se a transmitir a informação, é importante utilizar a interação de forma alternada, de modo a ativar o pensamento dos alunos sobre os conteúdos, ou seja, “a comunicação interativa é, portanto, o que enfatizo como desafio para a educação centrada no paradigma da transmissão.” (Silva, 2006, p.69)

Quando o professor coloca questões aos alunos, está a interagir com eles, ou seja a criar um ambiente de discurso na sala de aula, assim definido por Arends (1995):

O termo discurso será utilizado para fornecer uma perspetiva geral sobre a comunicação na sala de aula. (…) [e] (…) pode ser visto como uma exteriorização do pensamento, isto é, uma revelação dos nossos pensamentos invisíveis. Assim, através do discurso público, os professores obtêm uma janela parcial para observarem os processos de pensamento dos seus alunos e um contexto para corrigirem e darem feedback quando observarem raciocínios errados ou incompletos. (p. 416)

Dessa forma é possível detetar e resolver a não compreensão dos conteúdos por parte dos alunos, deixando claro aquilo que possivelmente não tinham compreendido, antes de serem questionados. Assim, “os alunos têm aí configurado um espaço de diálogo, participação e aprendizagem. O professor não distribui o conhecimento. Ele disponibiliza elos probabilísticos e móveis que pressupõem o trabalho de finalização dos alunos ou campos de possibilidades que motivam as intervenções dos alunos.” (Silva, 2006, pp. 185-186)

Os alunos interagem entre eles quando, por exemplo, realizam trabalhos em grupo. Têm a possibilidade de aprender e melhorar os relacionamentos sociais. De acordo com Arends (1995) “um dos aspectos importantes da aprendizagem cooperativa é o de que, ao ajudar a promover o comportamento cooperativo e ao desenvolver melhores relações grupais entre os alunos, está simultaneamente a ajudar os alunos na aprendizagem escolar.” (p. 369).

O aluno consegue aprender melhor em interação com colegas com mais capacidades do que sozinho. A este propósito, Vygotsky (1978) refere que “aquilo que a criança consegue fazer com a ajuda dos outros poderia ser de alguma maneira, muito

(20)

19

mais indicativo do seu desenvolvimento mental do que aquilo que consegue fazer sozinha.” (p. 85)

Mais importante do que a interação com o computador será a interação entre as pessoas presentes na sala de aula como fator proporcionador de motivação e aprendizagem, desta forma Arends (1995) refere que “ (…) a interação social na sala de aula é um resultado de pessoas individualmente motivadas respondendo umas às outras num contexto social (…) e produz determinados comportamentos dos alunos para a aprendizagem social e escolar.” (p.111)

1.1.4 A importância da programação para o desenvolvimento do pensamento computacional

Na programação a aprendizagem não é adquirida de forma mecânica, não se transmite informação que seja memorizada de forma automática, em cada problema é necessário ajustar os conhecimentos anteriores à nova situação.

O pensamento computacional é uma caraterística que é desenvolvida no aluno com o apoio do computador, sendo definido por Wing (2006) como “uma maneira de pensar humana e não dos computadores. O Pensamento computacional é uma forma humana de resolver problemas e não uma forma de tentar que os seres humanos pensem como computadores.” (p. 35).

Ainda em relação ao conceito “pensamento computacional” Ramos (2013) acrescenta características como

(…) formular problemas numa forma que permita utilizar o computador e outras ferramentas para resolver, organizar e analisar dados de forma lógica, são aspetos que estão envolvidos no pensamento computacional. Representar dados através de abstrações como por exemplo modelos e simulações. Automatizar soluções através do pensamento algorítmico. Identificar, analisar e implementar soluções possíveis. Generalizar e transferir estes processos para resolver uma grande variedade de situações.

(21)

20

Para desenvolver o pensamento computacional pode-se utilizar um conjunto de aplicações ou programas, sendo que com estas ferramentas o aluno tem capacidade de se tornar mais autónomo, mais criativo e ir assim adquirindo uma atitude mais crítica em relação ao que o rodeia.

Ramos (2013) também considera que “essas capacidades servem para descrever e explicar situações complexas, é mais uma linguagem que podemos usar para compreender o universo, os seus fenómenos e os seus processos complexos, mas também para compreender e usar no universo humano e social na resolução dos problemas que enfrentamos.” (s/p), Ou seja, o “pensamento computacional” permite para compreender o ser humano, os problemas sociais, os fenómenos do universo e sua complexidade e, assim, ajuda a resolver os problemas a eles associados.

À semelhança de outras aplicações referidas por Jonassen (2007) como micromundos, onde se podem representar simulações de fenómenos do mundo real, ao utilizar uma linguagem de programação “os alunos aprendem fazendo, em vez de apenas observarem ou ouvirem uma descrição de como algo funciona. Por esta razão, os micromundos tendem a ser intrinsecamente mais motivantes do que as descrições tradicionais de atividades” (p. 179)

Portanto, ao utilizar uma linguagem de programação, o aluno desenvolve a capacidade de pensar ou raciocinar ao construir programas, uma vez que conhecendo os conceitos da linguagem pode construir o programa dando um cunho pessoal, exibindo a sua criatividade.

Sendo uma linguagem de programação uma forma de desenvolver o pensamento computacional, esta pode ser considerada uma ferramenta cognitiva, uma vez que desenvolve as capacidades cognitivas do aluno, e assim “aprender com as ferramentas cognitivas exige que os alunos pensem com mais empenho sobre a matéria que está a ser estudada do que pensariam se as não usassem.” (Jonassen, 2007, p. 22)

1.1.5 A linguagem de programação Python

Morais e Pires explicam assim a origem desta linguagem: “Python é uma linguagem de programação criada por Guido Van Rossum no início da década de 90 (…) ” e o nome vem do facto do seu criador ser fã série britânica Monty Python. (, 2002, p. 1)

O motivo de ter sido criada foi porque “Guido sentiu falta de uma linguagem de mais alto nível que o C (…), mas que fosse mais poderosa do que as linguagens de shell scripting (…). Para preencher essa lacuna, resolveu criar o Python.” (idem)

(22)

21

Algumas das caraterísticas desta linguagem são: é fácil de utilizar; incentiva à utilização de metodologias de programação corretas, tornando os programas muito legíveis e fáceis de compreender. É orientada a objetos, assim como a linguagem de programação Java. É uma linguagem multiplataforma, ou seja, é possível executar em vários sistemas operativos, como Windows, Linux, Macintosh, etc. (Morais & Pires, 2002).

Esta é uma linguagem que oferece mais vantagens do que desvantagens, uma vez que é uma das melhores escolhas para programadores que procuram robustez e produtividade, é fácil de aprender, tem disponíveis na sua biblioteca módulos prontos para tarefas como conexão a sistemas de herança, webservices, tratamento de imagem, integração com aplicativos de produtividade e com todo tipo de aplicações que se possa imaginar. É útil na criação de páginas web e no acesso a bases de dados.1Por exemplo, a linguagem Perl está ao mesmo nível do Python, no entanto à medida que um programa em Perl cresce torna-se cada vez mais difícil de ler e compreender (Morais & Pires, 2002).

Os alunos com que trabalhei já tinham experimentado anteriormente a linguagem C e puderam fazer a comparação com um código simples que dá como resultado a impressão de uma frase no ecrã. Na linguagem C, são precisas algumas linhas de código, enquanto que em Python basta uma linha de código, como se pode observar na tabela seguinte.

Tabela 1 - Comparação de código da linguagem de programação C com a linguagem de programação Python Impressão da frase “Olá Mundo!”

Linguagem de programação C Linguagem de programação Python

include <stdio.h> int main() {

printf(“Olá Mundo!\n”) return 0;

}

print “Olá Mundo!”

Esta linguagem é utilizada nos sites do Google, do Youtube, nos programas da NASA, no programa Gimp. Foi utilizada para a criação de um conjunto de jogos, como por exemplo Word of Tanks. Também foi utilizada para a criação dos efeitos especiais do filme Star Wars.2

1 http://www.python.org

(23)
(24)

23

CAPÍTULO II – CONTEXTO E PLANO GERAL DE INTERVENÇÃO 2.1 Contexto da intervenção

2.1.1 Caraterização da escola

O meu estágio realizou-se na Escola Secundária Alberto Sampaio, situada na Rua Álvaro Carneiro, freguesia de S. Lázaro no conselho de Braga.

Figura 1 - Escola Secundária Alberto Sampaio

Entre 2009 e 2010 as instalações da escola foram objeto de requalificação, com o objetivo de reunir as condições essenciais ao desenvolvimento da ação educativa. (IGEC, 2011, p. 2)

Ainda segundo IGEC (2011) “Para responder à heterogeneidade da comunidade educativa que serve, a Escola apresenta na sua oferta formativa todas as modalidades de formação de nível secundário: cursos científico-humanísticos; cursos profissionais; cursos de educação e formação de adultos; formações modulares; reconhecimento, validação e certificação de competências; e português para todos, orientado para estrangeiros.” (p. 2), Ou seja, a Escola Secundária Alberto Sampaio tem uma vasta oferta formativa, incluindo Oficinas de Teatro, Oficinas de Artes, Oficinas de Música entre outras.

De acordo com IGEC (2011), “a população escolar, em 2011-2012, é constituída por 1622 alunos. Destes, 1206 (47 turmas) frequentam os cursos científicos-humanísticos regulares, 299 (25 turmas) os cursos profissionais e 117 (nove turmas) os cursos de educação e formação de adultos. […] A equipa docente é constituída por 197 professores. […] O pessoal não docente é constituído por 42 trabalhadores.” (p. 2)

Segundo IGEC (2011), no ano letivo 2010-2011, a idade média dos alunos encontra-se abaixo da média nacional, constatando-se uma baixa incidência de retenções no percurso escolar dos alunos que frequentam a escola. (p. 2)

(25)

24

O tipo de público que a Escola Secundária Alberto Sampaio recebe é de variados extratos sociais conforme é referido em ESAS (2011):

A ESAS capta uma população estudantil muito diversificada, servindo, fundamentalmente, a zona centro e sul da cidade. Contudo, nos últimos anos, tem-se acentuado a tendência para uma maior diversificação, integrando a escola alunos provenientes de todas as freguesias da cidade. Do ponto de vista sociológico, esta escola integra alunos oriundos de famílias de nível social médio-alto e alto, mas também, numa parcela significativa, alunos oriundos de famílias de nível social médio-baixo e baixo, portadores de níveis de instrução muito baixos. Na proximidade da escola, na zona oeste e sul, situam-se alguns dos bairros mais degradados da cidade e com maiores problemas em matéria de segurança pública. (p. 14)

Em termos de equipamento informático, verifiquei que esta Escola está bem equipada, servindo convenientemente os alunos em termos informáticos, tendo em média um computador para cada aluno.

2.1.2 Caraterização da turma

Esta turma frequenta o 12º ano do curso de Técnico de Gestão e Programação de Sistemas Informáticos, é constituída por 21 alunos, dos quais 20 são rapazes e uma é rapariga. A disciplina onde realizei o meu estágio é designada por Programação e Sistemas de Informação. Esta disciplina está dividida em dois turnos, um com 11 alunos e outro com 10 alunos, sendo este último aquele onde realizei o meu estágio. Estes 10 alunos eram todos do sexo masculino.

Relativamente às caraterísticas da turma, de acordo com a informação fornecida pelo Diretor de Turma, seis dos alunos são os próprios Encarregados de Educação. Apenas dois Encarregados de Educação estão desempregados, sendo que a maior parte deles estão contratados e apenas sete estão efetivos. As suas profissões variam muito, sendo que a de serralheiro e assistente operacional são as mais representadas. Verifica-se, pois, uma baixa escolaridade dos Encarregados de Educação.

(26)

25

Em relação aos alunos, a maior parte tem dezassete anos, no entanto, existem alguns alunos já fora da escolaridade obrigatória. A sua média de idades é 18,1 anos, sendo a mesma média de idades no turno onde estagiei, informação que obtive a partir dos dados do questionário que apliquei ao turno.

No que diz respeito à vida escolar, sete destes alunos já repetiram pelo menos um ano letivo. No entanto, nenhum deles é repetente no 12º ano e todos estes alunos andaram nesta Escola no ano anterior.

De referir também, que apenas um aluno afirma que estuda todos os dias. As suas disciplinas preferidas são Educação Física e Programação e Sistemas de Informação, enquanto que as disciplinas em que os alunos sentem mais dificuldade são Inglês e Programação e Sistemas de Informação.

Questionado o turno onde estagiei, verifiquei que em relação à ocupação dos tempos livres, quase todos os alunos utilizam a Internet, gostam de ver filmes na televisão e ouvir música. Todos referiram que possuem computador e internet em casa.

Quanto ao comportamento durante as aulas, e segundo Ata do Conselho de Turma (2013), do terceiro período, é declarado a nível de comportamento que os alunos são mal comportados, perturbando o bom funcionamento das aulas. Verifiquei este facto nas aulas que observei e durante a minha intervenção pedagógica; havia falta de respeito pela autoridade do professor, eram bastante barulhentos e manifestavam pouco interesse na realização das tarefas.

2.1.3 Caraterização da disciplina

Conforme DGFV (2005), “A disciplina de Programação e Sistemas de Informação, vulgarmente designada por PSI, integra a componente de formação técnica dos cursos profissionais, de forma a garantir aos jovens a aprendizagem de técnicas de programação e desenvolvimento de sistemas informáticos, indispensáveis ao sucesso pessoal e profissional nesta área.” (p. 2)

Esta disciplina é composta por vários módulos ao longo dos três anos do curso, sendo que no 12º ano é constituída por quatro módulos. A minha intervenção sucede no 3º módulo, módulo opcional da lista dos módulos opcionais definidos no programa da disciplina, designado por Ferramentas de desenvolvimento de páginas web. A planificação deste módulo encontra-se em anexo.

(27)

26

Quanto às competências desenvolvidas neste módulo, e segundo DGFV, (2005) “este módulo destina-se a dotar os alunos de conhecimentos de nível mais avançado na utilização da ferramenta de desenvolvimento de páginas web, para que desenvolvam sites profissionais mais completos, com ligações a bases de dados, permitindo evoluir de um site estático para um site dinâmico. Pretende-se também interligar a ferramenta de desenvolvimento com outras aplicações.” (p. 51). A ferramenta definida para desenvolvimento de páginas web é a linguagem de programação Python.

2.2 Plano geral da intervenção 2.2.1 Objetivos

O que pretendia como resultado era verificar no final se estes alunos se tornaram

autónomos na construção de programas, seja na linguagem de programação Python ou

em outras linguagens de programação, uma vez que cada problema é sempre diferente do anterior, exigindo que alie um conhecimento prévio ao novo conhecimento. Ao utilizar interação durante as aulas, pretendi verificar no final se estes alunos se tornaram mais colaborativos na realização de tarefas.

Foi também minha intenção verificar se ficaram mais motivados para a linguagem de programação Python bem como apurar se as aprendizagens dos alunos foram consolidadas e eles adquiriram novas competências.

2.2.2 Técnicas e instrumentos de recolha de dados

Os instrumentos utilizados para a recolha de dados foram três questionários online construídos na ferramenta Google Drive. Os alunos tinham acesso através de um link para esse questionário criado no final da construção do mesmo e as respostas eram enviadas para um ficheiro do tipo folha de cálculo e colocadas na minha conta do Google Drive.

O primeiro questionário foi aplicado à turma antes de iniciar a minha intervenção pedagógica, com o objetivo de analisar os seus conhecimentos prévios, dificuldades na área da informática, gosto por programação, as suas aspirações em termos de futuro profissional, entres outras questões.

No final da minha intervenção pedagógica apliquei dois questionários. Um deles apliquei-o no último dia da minha intervenção pedagógica e com isso pretendi analisar as aprendizagens que eles realizaram, isto é, saber se tiverem dificuldades com as matérias

(28)

27

que lecionei e se a resposta fosse positiva pedia-lhes que referissem qual a dificuldade. O último questionário tinha como objetivo verificar a forma como os alunos avaliaram as minhas aulas, onde questionava se realizaram as tarefas propostas, se gostaram da forma como foram lecionadas, se lhes foram tiradas as dúvidas, se ficaram motivados para a linguagem de programação Python, entre outras.

2.2.3 Estratégias de intervenção

Depois de aplicar o questionário anteriormente à minha intervenção pedagógica, fiz uma análise, onde verifiquei os conhecimentos prévios dos alunos, neste caso conhecimentos sobre linguagens de programação. Dessa análise foi possível também fazer comparações de algumas situações com uma linguagem que eles tiveram e que também era conhecida para mim, de modo a que a aprendizagem pudesse ser concretizada e assim incorporar um novo conhecimento no anterior.

Através da questão em que pedi para sugerir uma estratégia que motivasse para aprender programação, de entre as poucas respostas aquela que considerei relevante para adotar na minha intervenção pedagógica foi a que referia a interação como algo que cria motivação para aprender programação. Assim, resolvi apostar na interação nas minhas aulas. Para além de haver interação com o computador na construção dos programas, houve interação professora/aluno ao longo das apresentações de exemplos, demonstrações e construção de programas de forma interativa, onde se questionam os alunos com o objetivo de os fazer pensar. No que diz respeito à interação Silva (2001) refere que “ o essencial não é a tecnologia, mas um novo estilo de pedagogia sustentado por uma modalidade comunicacional que supõe interatividade, isto é, participação, cooperação, bidirecionalidade e multiplicidade de conexões entre informações e atores envolvidos.” (p. 15)

(29)

28

CAPÍTULO III - DESENVOLVIMENTO E AVALIAÇÃO DA INTERVENÇÃO 3.1 Ferramentas educativas

Esta secção apresenta uma breve caraterização das ferramentas utilizadas para apoio à minha intervenção pedagógica.

3.1.1 Google Drive

O Google Drive é um serviço de armazenamento na nuvem, disponibilizado pela Google em abril de 2012, considerado um concorrente à Dropbox. Permite aos utilizadores armazenar, partilhar, editar e visualizar diferentes tipos de ficheiros e sincronizá-los usando vários dispositivos a partir de múltiplos pontos de acesso com terminais fixos ou móveis.

É OpenSource, ou seja é um serviço gratuito que oferece 15 GB de capacidade de armazenamento, basta fazer o download e instalar, possibilitando o acesso aos ficheiros através do ícone que se encontra na barra de tarefas como se pode observar na figura seguinte:

Figura 2 - Ícone do Google Drive na barra de tarefas

Ao instalar fica integrado com o Google Docs. Da mesma forma pode-se criar documentos e trabalhar em grupo no mesmo documento e as alterações aparecem em tempo real. Também determina-se quem pode ter acesso a determinados documentos com as opções de partilha. A particularidade do Google Drive é a de poder manter os vestígios das sucessivas versões dos documentos modificados. É também possível reverter as alterações feitas durante os últimos 30 dias.3

Nas minhas aulas utilizei o Google Drive para disponibilizar aos alunos o programa Python que os alunos deveriam instalar, um manual da linguagem para quem quisesse aprender algo mais sobre a linguagem em horário não letivo, apresentações utilizadas nas aulas e alguns programas desenvolvidos, como se pode observar a seguir (Fig. 3):

(30)

29

Figura 3 - Google Drive - Partilha de material com os alunos

Também utilizei esta ferramenta para criar pastas individuais partilhadas com cada aluno, onde me depositariam programas/exercícios que resolviam como T.P.C. (Trabalho Para Casa), como se pode observar na imagem seguinte (Fig. 4). No entanto, esta intenção não produziu resultados, como se explica na secção 3.3.

Figura 4 - Google Drive - Partilha de pastas individuais para colocar TPC's

3.1.2 Microsoft PowerPoint

O Microsoft PowerPoint está incorporado no Microsoft Office. É um software que permite a criação de materiais que podem ser apresentados por meio de um projetor. O

(31)

30

uso desses materiais serve para anunciar um relatório ou uma proposta sendo designado de apresentação. Transitam de uma tela para a outra, como uma apresentação de slides. Pode-se animar o texto e as ilustrações na tela, usando o recurso de animação, podendo também adicionar-se efeitos de som e narração. Este software incorpora imagens, sons, vídeos, textos e gráficos para criar uma apresentação interativa. Interage também com outros produtos do Microsoft Office, como o Microsoft Word e Microsoft Excel.4

Utilizei esta ferramenta nas minhas aulas com o objetivo de apresentar alguns conceitos teóricos, sintaxe e exemplos da linguagem Python, como se pode observar na tabela seguinte que inclui slides onde é mostrada essa utilização:

Tabela 2 - Apresentações no ensino da linguagem de programação Python

Conceitos Sintaxe Exemplo

3.1.3 Interpretador do Python

Um interpretador é um programa que executa outros programas.

O interpretador do Python lê o código Python e executa as instruções que ele contém. É um interpretador interativo sendo uma característica diferencial da linguagem, porque há a possibilidade de testar e modificar funções antes de incluí-las nos programas. Isso permite um grau de aprendizagem relativamente alto em relação às outras linguagens.5

Como exemplo apresento um programa construído durante as aulas, em que sendo dado um número inteiro entre 1 e 3999 se pretende obter como resultado o

4 http://www.businessdictionary.com/definition/Microsoft-PowerPoint.html 5 https://www.python.org/

(32)

31

correspondente em numeração romana. O código e o interpretador na forma interativa são apresentados como se observa a seguir (Fig. 5):

Figura 5 - Programa e interpretador interativo do Python

3.2 Aulas observadas

A minha primeira visita à escola foi no dia 1 de novembro de 2013, passando a assistir às aulas do professor cooperante a partir daí.

No total assisti a seis aulas lecionadas pelo professor cooperante, uma delas na turma onde o colega de estágio Ricardo Carvalho realizou a sua intervenção pedagógica e cinco aulas onde realizei a minha intervenção pedagógica.

A 5 de novembro de 2013 acompanhei o colega de estágio Ricardo Carvalho à primeira aula que assistimos em conjunto, com professor cooperante a lecionar na turma onde o colega realizou a sua intervenção pedagógica. Nessa aula os alunos estavam a apresentar trabalhos sobre redes com projeção no computador do professor.

Na turma onde realizei a minha intervenção pedagógica concretizei as observações às quintas-feiras desde 7 de novembro de 2013 até 12 de dezembro de 2013, exceto a quinta-feira dia 28 de novembro.

A primeira aula que assisti, na turma onde tive a minha intervenção pedagógica foi a 7 de novembro de 2013, com a presença do colega de estágio. Nessa aula os alunos estavam a

(33)

32

trabalhar com UML (Unified Modeling Language). O aluno J. F. foi ao quadro desenhar uma tabela, ao mesmo tempo que manifestava ao professor cooperante desagrado pela tarefa.

Nestas aulas observadas estavam a ter o módulo 17C de opção, com a designação de Metodologia de análise e desenvolvimento de sistemas, sendo o conteúdo sobre UML. Esta é uma linguagem que se define como linguagem de modelagem que permite representar um sistema de forma padronizada. O UML permite que os programadores visualizem o produto do seu trabalho sobre a forma de diagramas padronizados. Os objetivos do UML são: especificação, documentação, estruturação para sub-visualização e maior visualização lógica do desenvolvimento completo de um sistema de informação.6

Comportamento observado

Em algumas situações gerava-se bastante confusão com barulho e gargalhadas fazendo com que o professor cooperante acabasse por mandar algum deles para a rua.

Numa dada situação um aluno comentou algo que estava a observar pela janela, levando outros colegas a vir do outro lado da sala juntar-se a eles para observar. O professor cooperante mandou irem para os seus lugares, no entanto davam pouca importância à ordem do professor, desobedecendo. Em algumas situações distraíam-se com jogos de computador, utilização do telemóvel, entre outras coisas que não faziam parte do conteúdo sumariado.

Alguns entravam às vezes a cantar na sala de aula, numa atitude clara de desrespeito. Num outro momento observavam fotos de alguém, onde comentavam ser uma pessoa da escola. Numa aula o professor cooperante tirou o telemóvel de um aluno, e o aluno exaltou-se com ele por esse facto, reclamando o telemóvel. Em geral chegavam atrasados, embora fosse hora do almoço, chegavam depois do limite da tolerância.

“Por indisciplina entende-se a transgressão das normas escolares, prejudicando as condições de aprendizagem, o ambiente de ensino ou o relacionamento das pessoas na escola.” (Veiga, 2007, p. 15)

(34)

33

O professor cooperante chegou a mandar fazerem o relatório para a PAP (Prova de Aptidão Profissional), dois deles abriram o relatório, no entanto logo a seguir voltaram a fechar, continuando com os jogos. Apenas um deles continuou a trabalhar no relatório.

Na penúltima aula que assisti, os alunos em geral, não fizeram trabalho útil, apenas o aluno T. B. esteve a fazer um levantamento dos problemas dos computadores da sala de aula, para depois serem resolvidos, por sugestão do professor cooperante.

Na última aula que assisti, dia 12 de dezembro de 2013 apliquei um inquérito à turma, para daí perceber alguns conhecimentos prévios, ambições para o futuro, entre outros assuntos. Aproveitei essas informações para aplicar na construção do projeto de intervenção. Os resultados desse questionário são apresentados a seguir na secção 3.3.

3.3 Levantamento de requisitos

Na última aula observada, antes de iniciar a minha intervenção pedagógica, apliquei um questionário online à turma/turno com o objetivo de me informar dos seus conhecimentos prévios, a possibilidade de utilizar computador em casa, onde encontram dificuldades, as pretensões para o final do curso, entre outros assuntos. Este questionário encontra-se em anexo.

Conjunto de questões aplicadas:

 Que idade tens?

 Possuis computador em casa?

 Possuis internet?

 Quais as matérias na área da informática que tens mais dificuldades?

 Quais as matérias que dominas melhor na área da informática?

 Gostas de programar?

 Tens alguma dificuldade em programação?

 Se respondeste “sim” à questão anterior, explica de género é a tua dificuldade.

 Sugere uma estratégia que te motive para a programação.

 O que ambicionas que este curso profissional te traga profissionalmente?

 Pretendes atingir o ensino superior?

 O que ambicionas para o futuro?

(35)

34

Quanto à resposta à primeira questão resultou uma média de idades de 18,1 anos de idade, como também foi referido no capítulo II.

À segunda e à terceira questão, todos referiram que possuem computador e internet em casa.

As cinco questões seguintes testam os conhecimentos prévios e como referem Coll et al. (2001) “O fator mais importante que influi na aprendizagem, é aquilo que o aluno já sabe. Isto deve ser averiguado e o ensino deve depender desses dados” (p. 66)

Quanto à questão “Quais as matérias na área da informática que tens mais dificuldades?”, dois não responderam, outros dois afirmaram que tinham dificuldades em quase tudo, um deles referiu que não tinha nenhuma dificuldade e os restantes cinco referiram AJAX, Casos de uso, Redes, Redes de comunicação e Programação como as suas dificuldades.

Em relação à questão “Quais as matérias que dominas melhor na área da informática?”, um dos alunos não respondeu, dois afirmaram que não dominam nenhuma matéria na área da informática, dois referiram “programação” como a matéria que dominam melhor, um aluno referiu que domina melhor C# e outro além de C# também referiu Redes. Um deles afirmou que domina melhor HTML (HyperText Markup Language), outro aluno referiu “programação web” e o último afirmou que domina melhor PHP (Personal Home Page), HTML e JavaScript.

Quanto à questão “Gostas de programar?”, oito dos alunos responderam “sim” e dois responderam “não”.

Em relação à questão “Se respondeste “sim” à questão anterior, explica de género é a tua dificuldade.”, apenas três responderam a esta questão, onde um deles mencionou “um pouco de tudo”, outro aluno referiu “Lembrar os códigos” e o último acrescentou que tem dificuldade em “Sintaxe, comandos e funções complexas”.

A questão “Sugere uma estratégia que te motive para a programação.” foi aquela que pretendia que me orientasse para a minha estratégia de intervenção. Três dos alunos não responderam, um deles afirmou “não sei”, outro aluno referiu “programação web” e outro acrescentou como uma estratégia que o motivasse como “criação de programas uteis”. Dois deles referiram que gostariam de ouvir música enquanto trabalham e o outro

(36)

35

aluno referiu que o motiva “Aulas interativas”. Assim, depois de analisar as respostas considerei esta a mais relevante e que estaria adequada para colocar em prática.

Quanto à questão “O que ambicionas que este curso profissional te traga profissionalmente?”, dois dos alunos não responderam e as oito respostas obtidas foram “trabalhar em empresas, categoria”, “programação web”, “Capacidade de trabalho independente de terceiros.”, “Dinheirinho”, “€”, “Pergunta que não possui resposta”, “Preparação para o mundo do trabalho” e “Trabalho”.

Em relação à questão “Pretendes atingir o ensino superior?”, cinco dos alunos responderam “não” e cinco responderam “sim”.

Finalmente na questão “O que ambicionas para o futuro?” dois dos alunos não responderam e as respostas obtidas foram “Ser empresário de sucesso”, “trabalhar”, “Dinheiro e mulheres”, ” Trabalhar”, “trabalho”, “Não sei”, ” Um trabalho estável e desafiador.” e “Trabalhar”.

3.4 Implementação e avaliação da ação

3.4.1 Calendarização das atividades realizadas

Estratégias gerais:

 Diálogo com os alunos;

 Ensino de Conceitos;

 Exposição dos conteúdos de forma interativa, alternado com questões aos alunos e promovendo a discussão na sala de aula;

 Utilização do programa Python para experimentar exemplos;

 Interrogar os alunos ao desenvolver programas de modo a desenvolver o seu raciocínio.

Tabela 3 - Calendarização das atividades realizadas

Aula Duração Data Conteúdo Atividades/Estratégias

1 minutos 90 8-01-2014  Conceitos teóricos da linguagem Python;  Instalação do programa Python 2.7.6.  Estratégias gerais.

(37)

36 2 minutos 90 8-01-2014  Conceitos básicos da linguagem;  Operadores lógicos e aritméticos;  Variáveis – atribuição;  Tipos de dados. 3 minutos 90 9-01-2014  Comando print;  Comando input;

 Criar um ficheiro .py;

 Abrir um ficheiro .py.

 Estratégias gerais;

 Resolução de problemas utilizando os comandos print e input. 4 minutos 90 13-01-2014  Comandos if/elif/else.  Estratégias gerais;  Resolução de problemas utilizando os comandos if/elif/else. 5 minutos 90 13-01-2014 6 minutos 90 15-01-2014  Conclusão da matéria com utilização dos comandos if/elif/else.  Estratégias gerais;  Resolução de problemas utilizando os comandos if/elif/else;  Resolução de problemas utilizando o comando while.

7 minutos 90 15-01-2014  Introdução do comando while. 8 minutos 90 16-01-2014  Introdução ao tipo de dados sequenciais – strings;  Operadores + e *;  Comando raw_input.  Estratégias gerais;  Resolução de problemas utilizando strings com o

comando raw_input e utilizando os operadores + e *.

(38)

37

10 minutos 90 20-01-2014

sequenciais – strings: Interpolação.

 Construção do programa da aula anterior em conjunto com a turma;  Resolução de problemas utilizando interpolação em strings. 11 minutos 90 22-01-2014  Indexação em strings;  Método len;

 Códigos ASCII dos carateres da tabela ASCII;

 Métodos mais utilizados da classe String;

 Pesquisa dos métodos da classe String.

 Estratégias gerais;

 Resolução de um problema com

base na tabela ASCII;

 Resolução de problemas

utilizando indexação, os métodos existentes e também utilizando slicing.

12 minutos 90 22-01-2014  Fatiar/slicing strings.

13 minutos 90 23-01-2014  Introdução ao tipo de dados sequenciais – listas;  Operadores + e *;  Caraterísticas das listas;  Alterar (inserir, remover, atualizar) valores em listas de tamanho definido.  Estratégias gerais;

 Resolução de problemas fazendo a alteração e inserção de valores em listas de tamanho definido.

14 minutos 90 27-01-2014  Tipos de dados sequenciais – strings;  Tipos de dados  Estratégias gerais;  Resolução de problemas utilizando strings;

(39)

38

sequenciais – Listas de tamanho definido.

 Resolução de problemas utilizando listas de tamanho definido;

 Resolução de problemas utilizando listas de tamanho indefinido e os métodos len, del e append. 15 minutos 90 27-01-2014  Tipos de dados sequenciais – listas: listas de tamanho indefinido;

 Métodos len, del e append.

16 minutos 90 29-01-2014

 Fatiar/slicing listas;

 Inserção utilizando slicing;

 Métodos mais utilizados da classe list;

 Pesquisa dos métodos da classe list;

 Método randint da classe random.

 Estratégias gerais;

 Resolução de um problema

utilizando slicing, os métodos da classe list e o método randint da classe random.

3.4.2 Recursos utilizados e elementos de avaliação

Recursos:  Quadro  Videoprojector  Computador  Windows  Python 2.7.6 Avaliação:

 Grelha de Observação (encontrando-se esta em anexo)

 Pontualidade

(40)

39

 Comportamento

 Participação

3.4.3 Da aula 1 até à aula 12 e aula 14 – Aulas não assistidas Aula 1 e aula 2

Este foi o primeiro dia de aulas da minha intervenção pedagógica e coincidiu com o início do segundo período. Este dia era composto por dois blocos de 90 minutos.

Faltou apenas um aluno por estar doente.

Dei início a um novo módulo da disciplina de Programação e Sistemas de Informação (PSI), com a linguagem de programação Python.

Os objetivos que se pretendiam com estas duas aulas eram:

 Entender os conceitos da linguagem;

 Saber trabalhar com os operadores lógicos e aritméticos da linguagem;

 Saber definir uma variável e atribuir-lhe valores. No primeiro bloco

Os alunos receberam-me de forma agradável e participaram quando questionados. Comecei por questionar as respostas dadas ao questionário aplicado à turma no dia 12 de dezembro de 2013, dia da última aula a que tinha assistido. Também os questionei sobre as linguagens de programação que tinham estudado anteriormente, para poder comparar com aquelas que conhecia e também perceber se tinham algum conhecimento sobre a linguagem de programação Python. Apenas o aluno T. B. referiu que esteve a pesquisar algumas noções e a experimentar alguns comandos desta linguagem. “A programação em contexto adequado oferece condições particularmente favoráveis, condições que melhoram quanto mais jovem for o programador” (Papert, 1995, p.186), sendo neste caso, alunos relativamente jovens.

De seguida passei à introdução da linguagem Python, passando pela apresentação de conceitos teóricos, assim como a sua origem, as características, as vantagens da sua utilização, exemplos de aplicação desta linguagem desde sites e jogos, etc., questionando os conhecimentos dos alunos de forma interativa.

O aluno T. B. interrompeu para perguntar sobre a construção de jogos; referi que não estava previsto para aquele módulo da disciplina.

(41)

40

Procederam à instalação do programa nos seus computadores.

Como os alunos já tinham estudado a linguagem C, e uma vez que tenho conhecimento dessa linguagem, resolvi fazer uma comparação com essa linguagem. Apresentei um programa construído em linguagem C que imprime uma frase comparando com o mesmo programa

construído em Python. Este programa em Python tem apenas uma linha de código e em C o

mesmo programa é composto por cinco linhas de código, podendo-se verificar, como demonstrei aos alunos, que é mais prático trabalhar com a linguagem Python.

No segundo bloco

Mostrei os operadores aritméticos, os operadores lógicos, as expressões booleanas, qual a forma de comentar o código Python, tudo isto seguido de exemplos. Apresentei as regras para se criarem variáveis e expliquei como funcionavam as atribuições às variáveis e quais os tipos de dados desta linguagem. Referi que todos os tipos de dados no Python são objetos, apresentando o exemplo de que os números inteiros também são reconhecidos como objetos, isto para demonstrar que esta é uma linguagem por objetos.

Resultados destas duas primeiras aulas

De uma forma geral, os alunos, portaram bastante bem, para aquilo que era habitual. Participaram de modo satisfatório quando questionados.

Pela forma como participou, o aluno P. M. deixou-me expectativas de que viria a ser um aluno interessado.

Reflexão da aula 1 e da aula 2

Foi minha intenção verificar os conhecimentos prévios dos alunos. No final destas aulas fiquei com boa impressão dos alunos pela forma como se mostraram interessados pelos assuntos tratados, uma vez que parti com poucas expetativas depois do que tinha observado em aulas anteriores.

Aula 3

Neste dia de aulas a disciplina de PSI era composta por 1 bloco de 90 minutos. Não faltou nenhum aluno.

(42)

41

Os objetivos que se pretendiam com esta aula eram:

 Entender os conceitos da linguagem;

 Saber trabalhar com o comando print;

 Saber trabalhar com o comando input;

 Saber criar ficheiros em Python com exemplos simples;

 Saber abrir os ficheiros criados anteriormente.

No início desta aula o professor cooperante começou a discutir um assunto com o aluno J. F. que não se referia diretamente aos assuntos tratados nas aulas, enquanto eu estava a tentar começar a aula, até que o aluno T. B. ao ver-me a insistir em dar início à aula, intervém dizendo “Deixe a professora começar a aula!”

Depois de o professor cooperante concluir a discussão com o aluno J. F., iniciei a aula onde passei a apresentar a sintaxe do comando print e input e alguns exemplos de utilização destes comandos. O comando print serve para imprimir mensagens no ecrã e o comando input serve para receber valores do tipo inteiros ou decimais introduzidos pelo utilizador para serem utilizados no programa.

Em vez de fazer correr o código diretamente na linha de comandos e com o objetivo de tornar o código mais claro, facilitar a compilação e ter sempre acesso ao programa, exemplifiquei como se criava um ficheiro com a extensão .py, como se guardava e como se abria esse ficheiro.

De seguida resolveram alguns exercícios propostos onde iriam aplicar todos os conceitos aprendidos até ao momento.

Um dos resultados de compilação do seguinte problema do serviço de restaurante:

Figura 6 - Enunciado do problema "Serviço de restaurante"

(43)

42

Figura 7 - Compilação do programa sobre o problema "Serviço de restaurante"

Resultados desta aula

Nesta aula, de uma forma geral, os alunos tiveram um comportamento razoável e mostraram interesse em resolver os exercícios.

Ao resolverem o exercício referido em cima, observando um a um, verifiquei que o aluno R. B. estava a resolver de forma interessada, organizando o código de forma legível, separando as contas. O aluno P. F. resolvia também de forma interessada, demonstrando ser um aluno empenhado.

O aluno J. F. e o aluno T. B. experimentavam código no programa Python que iam buscar à internet, código este que ainda não tinha sido lecionado. Assim, não estavam atentos aos assuntos que estavam a ser lecionados e que eram importantes, por exemplo pormenores de sintaxe, acabando estes alunos por questionar os erros que obtinham com esse código retirado da internet. Quem mais interrompia com questões era o aluno T. B. Acabei por informar o T. B. e o J. F. que tinha disponibilizado um manual de Python na pasta partilhada com a turma no Google Drive, para que em vez de perguntarem assuntos que não eram referentes à aula, consultassem o manual.

Os alunos P. M. e J. R. estiveram conversadores, usavam o computador, não para trabalhar, mas para outros fins. Nesta aula não foi possível captar o interesse destes alunos.

Reflexão da aula 3

Nesta aula, onde começaram por desenvolver trabalho pela primeira vez, marcaram pela positiva os alunos R. B. e P. F. pelo empenho, criando-me expetativas para aulas futuras.

Em relação aos alunos J. F. e T. B., preocupava-me a forma como trabalhavam, uma vez que tinham bastantes capacidades, talvez estavam acima da média da turma. Em termos de autonomia tinham uma atitude positiva, mas o facto de não estarem atentos quando eram

(44)

43

apresentados os conceitos básicos levava a que acabassem por ter dificuldades quando desenvolviam os programas.

Para tentar que os alunos P. M. e J. R. criassem motivação para o Python, poderia ter de os acompanhar mais e dar apoio para as dificuldades que pudessem ter.

Aula 4 e aula 5

Neste dia de aulas a disciplina de PSI era composta por dois blocos de 90 minutos. O conteúdo destas duas aulas foi o ensino dos comandos if/elif/else, seguido da resolução de exercícios utilizando a combinação destes comandos.

A primeira aula começou com um atraso de cerca de 20 minutos por motivos que me foram alheios.

Os objetivos que se pretendiam com estas duas aulas eram:

 Entender os conceitos da linguagem;

 Saber trabalhar com os comandos if/elif/else.

Comecei por lecionar os comandos if/elif/else e de seguida dei alguns exercícios para resolverem em que utilizavam estes comandos.

Estes são designados comandos de controlo de fluxo, onde conjuntos de instruções são executados de forma condicional permitindo validar a entrada de dados. A sintaxe geral de um bloco de código é da seguinte forma:

(45)

44

Pode haver casos onde só seja necessário utilizar a instrução if ou outros onde não seja necessário utilizar a instrução elif ou a instrução else.

Neste problema resolvido durante a aula sobre cálculo da média das notas de um aluno não foi necessário utilizar a instrução else, uma vez que os intervalos de valores eram específicos.

Figura 9 - Enunciado do problema "Média das notas de um aluno"

As três possibilidades de resultado de um exemplo da compilação de um programa que resolve este problema, poderia ser da seguinte forma:

Figura 10 - compilação do programa sobre o problema "Média das notas de um aluno"

Começaram a construir os programas pedidos no final do primeiro bloco, continuando depois esse trabalho no segundo bloco. Uma vez que estes problemas eram mais simples e exigiam menos raciocínio, apenas acompanhei os alunos um a um orientando na construção dos programas.

Imagem

Tabela 1 - Comparação de código da linguagem de programação C com a linguagem de programação  Python
Figura 1 - Escola Secundária Alberto Sampaio
Figura 3 - Google Drive - Partilha de material com os alunos
Tabela 2 - Apresentações no ensino da linguagem de programação  Python
+7

Referências

Documentos relacionados

Para Piaget, a forma de raciocinar e de aprender da criança passa por estágios. Por volta dos dois anos, ela evolui do estágio sensório motor, em que a ação envolve os

A destinação dos resíduos sólidos da maioria dos municípios brasileiros ainda é os lixões (vazadouros a céu aberto) e os aterros controlados, formas de disposição

Este artigo está dividido em três partes: na primeira parte descrevo de forma sumária sobre a importância do museu como instrumento para construção do conhecimento, destaco

Considerando a formação da equipe de trabalho, o tempo de realização previsto no projeto de extensão e a especificidade das necessidades dos catadores, algumas

De seguida, vamos adaptar a nossa demonstrac¸ ˜ao da f ´ormula de M ¨untz, partindo de outras transformadas aritm ´eticas diferentes da transformada de M ¨obius, para dedu-

29. Na especificação da receita e da despesa é utilizada a tabela de Medidas que consta do Anexo IV. O Orçamento inscrito em projetos e atividades abrange as despesas

Outro aspecto a ser observado é que, apesar da maioria das enfermeiras referirem ter aprendido e executado as fases do processo na graduação, as dificuldades na prática

Exposição no Átrio do Auditório Municipal de Mesão Frio Exposição dos trabalhos feitos nas Oficinas de Origamis para alunos, promovida no dia 13 de Abril de 2011 na