Dificuldades em Programação: como discentes e docentes podem lidar com esse dilema? - IMEPAC

Dificuldades em Programação: como discentes e docentes podem lidar com esse dilema?

Vinte e cinco anos de atividade docente no ensino superior e ainda testemunho discentes com dificuldades para transformar uma solução científica e/ou matemática em um programa para computador. As dificuldades se manifestam de formas diversas, desde o simples (des)entendimento do problema até a localização e eventual correção dos erros no código-fonte (processo de “debug”), mas o cerne das dificuldades ainda tem seu espaço comum: o tipo de raciocínio necessário para a criação de um programa. A programação, ou criação de um programa, deve ser entendida aqui em um contexto mais amplo, desde um simples “adestramento” até a apropriação de procedimentos mentais complexos, seja pelo próprio ser humano ou pela máquina.

 

Desde o momento das primeiras manifestações de autonomia do pensamento, o ser humano passa por diversas etapas de desenvolvimento cognitivo, seja acompanhado, seja monitorado, ora pelos pais, ora pelos parentes mais próximos, ora pelos professores e, por fim, pelos círculos social e profissional. A autonomia do pensamento é geralmente associada à capacidade de encontrar soluções para problemas e de aplicar essas soluções de forma autoavaliativa, sobre a qual o ser humano faz constantes autocríticas na busca da melhor relação custo-benefício neurológico: lembrar das soluções triviais, manter as sequências de raciocínio para os problemas mais complexos, e ficar atento às situações originais para desenvolver e aplicar novas soluções demandadas pelos novos problemas.

 

O comportamento operacional racional do cérebro humano no dia-a-dia, visto na perspectiva do relacionamento do ser humano com o mundo, pode ser quebrado em diversas sequências menos complexas envolvendo quatro “micro” etapas simples: observação, conclusão, decisão e ação. Todos os eventos testemunhados pelo ser humano são passivos de observação. Uma vez observados os eventos, o ser humano tira suas conclusões e, opcionalmente, tomará alguma decisão. Após a tomada da decisão, as ações decorrentes da decisão tomada deverão ser executadas – mesmo que seja a simples ação de ignorar o evento observado.

 

Assim como em qualquer situação, essas etapas estão fortemente presentes nos processos de ensino e aprendizagem. Em um ambiente de aprendizagem, a observação dos diversos eventos teóricos e/ou práticos (ex.: entender o controle de um processo antes da criação de um código-fonte) demandam conclusões (entendi; posso utilizar… posso aprimorar…) que levam a decisões (“Preciso pesquisar mais?” “Preciso estudar outros processos?” “Preciso expor minhas dúvidas e solicitar esclarecimentos?”), culminando nas ações decorrentes (“Vou estudar”, “Vou criar o código”, “Vou perguntar agora e depois começo o desenvolvimento”…). Para os discentes, esse ciclo deveria se repetir incessantemente nos processos de ensino-aprendizagem.

 

O enfrentamento de problemas e a busca de soluções fazem parte do dia-a-dia do ser humano, mas quando esses problemas são recorrentes e triviais na sua maioria, os processos criativos e inovadores tendem a ficar amortecidos, subutilizados. De forma geral, podemos adotar abordagens mais assertivas para a solução de quase todo tipo de problema enfrentado por um ser humano com o uso de uma sequência simples de três etapas básicas, consonantes com as quatro etapas descritas acima:

 

1) identificação e entendimento do problema em si (observações) – não saber qual é o problema e não o entender são fatores que impossibilitam a mera instância de se encontrar uma solução para o mesmo.

2) saber resolver o problema (conclusões e decisões) – ter o completo conhecimento do problema não implica conhecer os procedimentos para a sua solução; se os procedimentos para solução do problema são desconhecidos, deverão ser buscados ou criados pois sem eles é impossível resolver o problema de forma científica.

3) descrever a solução através da formalização das etapas a serem seguidas para resolver o problema (registrar as ações) – o registro da solução do problema é essencial para que as futuras gerações tenham acesso às referências históricas e criem bases solidas para seu desenvolvimento intelectual continuado.

 

A terceira etapa em si prevê o uso da linguagem, incluindo-se aí as linguagens de programação, enquanto as duas primeiras são essencialmente mentais e parcialmente conectadas ao paradigma da linguagem (de programação) a ser utilizada. Ocorre que, diante de um quadro de necessidades ferramentais para a formação de programadores profissionais, nos deparamos com ingressos desatrelados das etapas de observação, conclusão, decisão e ação, essenciais nos procedimentos mentais utilizados nas três etapas.

 

Podemos afirmar que nossos discentes estão, nesse momento, desprovidos de ferramentas mentais reforçadas, sólidas, e de fácil capacidade de moldagem para que apresentem desempenho superior e crescente no decorrer dos semestres letivos. O simples esclarecimento e eventual validação desses aspectos pode ser o primeiro passo para a busca de soluções mais eficientes que permitam o aprimoramento efetivo dos nossos discentes. A ação dos profissionais das áreas da pedagogia e da psicologia, atuando em parceria com coordenações, docentes e discentes, poderá levar às melhores práticas intra e extraclasse que promovam e fomentem um melhor desempenho acadêmico. Claro está que o ferramental tecnológico das IES nos dias de hoje, em conjunto com o aprimoramento continuado dos docentes, tem fortalecido nossas estruturas operacionais. Resta-nos agora colocar nossos discentes “no circuito do aprimoramento”, de forma ativa, e não somente para cumprir as determinações e atividades previstas nos planos pedagógicos.

 

No que tange o desenvolvimento de programas – o ato da programação em si – não existe ainda provimento formal de apoio aos discentes com necessidades específicas nos campos mentais. O equivalente da programação como tarefa humana cotidiana é exercido sem que percebamos: quando explicamos um procedimento, quando ensinamos um processo, quando simplesmente chamamos a atenção de alguém sobre o que deve ser feito para se concluir uma tarefa ou parte dela. Quando se programa o computador o aprendiz é uma máquina, e para “conversar” com a máquina e nos fazermos entender por ela precisamos ter mais capacidade operacional nos nossos neurônios do que a capacidade dos processadores digitais dos computadores, precisamos estar além das capacidades da máquina. Essas máquinas, infinitamente inferiores ao cérebro humano, são de fácil compreensão e manuseio, pois nossos cérebros têm capacidades que ainda não foram implementadas nos computadores: percepção, avaliação, inteligência, criação… tudo isso ainda é simulado, experimentado, testado. Nada é definitivo.

 

Mas a programação básica, inicial, deve ser apropriada pelos alunos como qualquer outro conhecimento, pois aliada à base de dados e de informações já existentes nos discentes e aprendizes, permitirá o desenvolvimento de soluções originais, criativas e inovadoras. Cabe ao corpo docente, às coordenações e aos profissionais da pedagogia e da psicologia, ora mais que preparados e equipados, a inserção dos discentes dos cursos de sistemas de informação nos circuitos de aprendizagem e de utilização crítica dos processos de aprimoramento intelectual para lidar com as ferramentas mentais de forma mais eficiente. Afinal, uma vez aplicadas em sala de aula, as metodologias só produzem resultado na ação dos discentes quando as orientações dos docentes são compreendidas por eles e executadas adequadamente. No caso dos discentes dos cursos de sistemas de informação, a quantidade de novas informações a serem absorvidas é bem elevada: conhecer os procedimentos a serem aplicados aos problemas visando encontrar uma solução, conhecer as linguagens e seus paradigmas para traduzir soluções humanas em soluções de máquina, converter procedimentos humanos em procedimentos artificiais e abstratos nos circuitos dos computadores (bases de dados, sistemas de comunicação, inteligência artificial), atender às solicitações das metodologias de aprendizagem e apresentar resultados que possam ser avaliados pelos docentes.

 

Enfim, a criação de programas em si não é tarefa simples, e os discentes que se perdem em uma ou outra etapa durante o processo de formação profissional, podem ficar perdidos no sistema educacional sem que tenhamos conhecimento das verdadeiras causas. Fica aqui a sugestão de trabalharmos em conjunto com a pedagogia e a psicologia para melhor identificarmos os pontos de fragilidade e criar procedimentos para seu reforço.

 

Por: Luiz Claudio Vieira

Professor do curso de Análise e Desenvolvimento de Sistemas.