• No results found

Delicensing of UK nuclear sites: Survey optimization leading to dose assessment

Constraints and optimization

4.8 Delicensing of UK nuclear sites: Survey optimization leading to dose assessment

Ensinar a programar revela-se como uma das mais difíceis tarefas que poderão ser dadas a um professor de informática, especialmente quando se trata da introdução à programação e aos paradigmas a ela associados. Os problemas associados ao processo de ensino-aprendizagem da programação podem ser encontrados tanto do lado dos alunos como dos professores. Programar, longe de constituir uma disciplina de memorização e reprodução de factos, assenta essencialmente na compreensão e aplicação prática de conceitos e conhecimentos que resultarão no desenvolvimento de programas de computador. A programação constitui, desta forma, uma disciplina de cariz complexo que exige um esforço e uma abordagem especial na forma como é ensinada e aprendida. Tal é comprovado pelo índice de retenções e desistências no que concerne às disciplinas do âmbito de competências da programação, que tendem a ter uma expressão anormalmente alta perante outras disciplinas que não incorporam as regras e rigor mental associadas a estas. Referem assim Konecki, Duric & Milic (2015) que, “(…) since failure and dropout rates in programming courses are high in many cases various efforts have been made to improve this situation” (p.1). São enumeradas, de seguida, algumas das razões que conduzem ao insucesso dos alunos e à falta de eficácia do processo de ensino- aprendizagem no que concerne ao ensino da programação, às quais o professor de informática deverá estar atento e endereçar a sua atenção:

1. Falta de preparação dos alunos para aprenderem a programar

Programar constitui uma das abstrações mais complexas de operacionalizar por parte dos alunos, faltando muitas vezes a estes a concentração e capacidade de resolver de forma prática problemas. É desta forma referido por Gomes & Mendes (2007) que, “(…) experience shows that the problem starts for many students in the initial phase of learning, when they have to understand and apply abstract programming concepts, like control structures, to create algorithms that solve concrete problems” (p.1). Verifica-se desta maneira que uma boa parte dos alunos tem dificuldades no processo de criação dos algoritmos associados à resolução de um determinado problema, condicionando todo o processo de ensino-aprendizagem da programação. Formatar a abstração dos alunos para o paradigma da programação não é de forma alguma fácil e obriga-os a estruturar de forma ordenada o seu pensamento que deverá ser expresso de forma explícita e clara. Os alunos tendem assim a perceber

os conceitos e as principais estruturas de dados associadas à programação, apresentando dificuldades na sua operacionalização.

2. Recursos pedagógicos utilizados pelos professores que tendem a ser estáticos perante o dinamismo associado ao processo de codificação

Programar é um ato dinâmico que se suporta numa interação homem-máquina onde da máquina provém um feedback acerca de potenciais erros sintáticos ou semânticos no que concerne às linhas de código produzidas pelo programador. O debugging e outras potenciais ajudas provenientes da parte do ambiente de desenvolvimento integrado onde o programador desenvolve os seus projetos de software, constituem assim suporte às aprendizagens deste e leva a que muitas vezes, se retirem lições a partir daí. Ora, o ensino da programação suporta-se normalmente em recursos pedagógicos estáticos, que elucidam os alunos acerca da sintaxe e principais estruturas de dados inerentes a um determinado paradigma e linguagem de programação mas que não encerram consigo o dinamismo associado ao processo de codificação. Gomes et al. (2007) referem assim que, “(…) programming involves several dynamic concepts that many times are taught through static means (projected presentations, verbal explanations, texts …). For some students this is a problem, as they fail to understand program dynamics through this type of materials” (p.1). Ao retrato da forma como se deverá suportar o ato de programar deverá ser adicionado um dinamismo que só tomará forma aquando do próprio ato de programar por parte dos alunos. Os alunos deverão assim começar por aprender a programar através de ambientes de desenvolvimento integrados, que lhes assegurem a desejável interação para com os algoritmos produzidos por estes. O programar envolve uma dialética que dificilmente é conseguida através dos recursos pedagógicos disponibilizados pelo professor, cabendo a este a tarefa de dinamizar as aprendizagens dos alunos. Estas resultam da capacidade destes em aplicar na prática os conceitos de programação lecionados pelo professor, tornando todo o processo de ensino-aprendizagem eminentemente prático. Aos professores de informática é desta forma requisitado que estes sejam capazes de integrar na sua prática pedagógica o desenvolvimento de software, consolidando os conhecimentos e competências dos alunos no que concerne a esta disciplina em particular.

3. Foco excessivo do professor na linguagem de programação e não nos algoritmos e estruturas de dados

A linguagem de programação adotada pelo professor constitui um meio e não um fim de consumar o processo de ensino-aprendizagem. O foco do professor não deverá desta forma estar centrado na linguagem, mas sim nos algoritmos e estruturadas de dados produzidas pelos alunos que deverão encontrar substrato numa linguagem que permita aplicar na prática as aceções e conceitos arquitetados por estes. Isto é corroborado por Gomes et al. (2007) que referem que, “(…) teachers are more concentrated on teaching a programming language and its syntactic details, instead of promoting problem solving using a programming language” (p.1). O professor deverá assim ter a preocupação de ensinar conceitos e paradigmas conotados com a programação e não o de levar os alunos a ficarem “presos” a uma determinada tecnologia ou linguagem de programação.

4. Estereótipos e falta de motivação dos alunos para aprenderem a programar

Os alunos antes de frequentarem as aulas de programação consideram-nas complicadas e confusas, o que os condiciona mentalmente e os leva a predisporem-se ao insucesso neste tipo de disciplinas. É desta forma referido por Gomes et al. (2007) que, “(…) many students don’t have enough motivation to study programming, because there is an extremely negative connotation associated with programming that passes from student to student. (…) Additionally, programming courses acquire the reputation of being difficult” (p. 2). Assim, cabe antes de mais ao professor desconstruir este estigma, incentivando e motivando os alunos a aprenderem a programar, tornando todo o processo de ensino-aprendizagem descontraído e estimulante para os alunos. Uma das possíveis abordagens que permite consumar esta postura no ensino da programação é o recurso a jogos de computador que permitem levar os alunos a aprender de uma forma lúdica e descontraída. Konecki et al. (2015) referem assim que, “(…) a majority of the students think games make studying more interesting, and also that the majority of students prefer doing their exercises using games rather than doing the exercises in a traditional way during the class” (p.3). Levar os alunos a jogar ou a desenvolver um jogo pode assim constituir uma das abordagens pedagógicas para promover o interesse e motivação dos alunos no que

concerne à programação, estimulando o trabalho dos alunos em disciplinas de cariz essencialmente prático.

5. Métodos de trabalho e esforço adotados para com as disciplinas relacionadas com a programação

As disciplinas relacionadas com a programação tendem a ser exigentes em termos de esforço, dedicação e tempo despendido pelos alunos. Não basta despender algum tempo antes de trabalhos ou avaliações para se ter sucesso a estas disciplinas. É preciso construir as competências no que concerne à programação e aos paradigmas a elas associados desde muito cedo, sobrepondo camada a camada conhecimentos. Gomes et al. (2007) referem assim que, “(…) they are used to subjects where assisting classes and studying a text book is enough. However programming demands intense work extra classes” (p.2). Isto significa que os métodos de trabalho dos alunos deverão ser ajustados ao tipo de disciplina que frequentam. Assim, as disciplinas relacionadas com a programação deverão ser das que mais requerem trabalho e dedicação por parte dos alunos, moldando o processo de abstração destes à lógica da programação. Constitui, desta maneira, trabalho do professor alertar para este mesmo facto, procurando levar os alunos a adotar uma outra filosofia de trabalho e estudo para com as disciplinas relacionadas com as ciências da computação.

Por fim, verifica-se de igual forma que grande parte das disciplinas relacionadas com a programação encontram expressão no currículo dos cursos profissionais referentes à informática, o que leva necessariamente da parte do professor à adoção de métodos e estratégias de trabalho que visam preparar os alunos a médio prazo para ingressarem no mercado de trabalho. A grande problemática referente ao trabalho desenvolvido pelo professor é a de preparar devidamente os seus alunos para ingressarem num contexto laboral que muitas vezes se encontra desconectado da escola. Assim, o professor deverá levar os seus alunos a confrontarem-se com muitos dos cenários que encontrarão em contexto laboral e que no caso do ensino da programação tem reflexos, por exemplo, no consumar o processo de ensino-aprendizagem a partir de aplicações pré-existentes desenvolvendo novas funcionalidades a partir destas. Guo (2013) refere desta maneira que, “(…) almost nobody starts coding a real-world project “from scratch” anymore; modern programmers usually scavenge parts from existing projects” (p.10). Assim, o ensino da programação deverá incorporar a componente pedagógica de criar mas também interpretar

código e funcionalidades associadas a uma determinada aplicação, levando a que os alunos se confrontem com novos estilos de programar, sintaxe, estruturas de dados e paradigmas (Exemplo: Abordagem recursiva). Programar constituí assim uma competência que deverá ser exercitada, visando o sucesso e as aprendizagens dos alunos, enquadrando-os da melhor forma possível numa futura vida profissional.