Espaço destinado à atualização periódica de tecnologias nacionais e internacionais que podem impactar o segmento educacional e, portanto, subsidiar gestores das instituições de ensino para que sejam capazes de agir proativamente olhando para essas tendências.

24/08/2021 | 542

Aprender a programar vai além de programar

Por: Ronaldo Mota*

Associamos cognição ao processo de aprendizagem de determinado conteúdo, bem como dos procedimentos e técnicas a ele relacionados. Metacognição, por sua vez, trata da reflexão acerca do que foi aprendido e de como se aprende. Grosso modo, cognição tem a ver, mais diretamente, com “aprender”; enquanto metacognição com o “aprender a aprender” ou com a reflexão acerca do processo, ampliando o nível de consciência do educando sobre sua própria aprendizagem.

Dominar uma linguagem de programação é estar apto a estabelecer um sistema de comunicação que permite aos desenvolvedores de software dar instruções às máquinas. Via instruções escritas, seguindo a lógica de uma linguagem previamente estabelecida, ordens precisas são emitidas aos computadores e outras máquinas para obter um determinado resultado. Seja ela uma operação matemática, a criação de um documento ou um determinado movimento, entre outras inúmeras simples ou complexas ações.

Tal como ocorre com os idiomas em geral, algumas linguagens de programação podem compartilhar vocábulos ou estruturas de frases e outras podem ser completamente distintas. De qualquer forma, tal qual idiomas, cada linguagem de programação tem seus vocábulos e sua própria sintaxe e regras semânticas, os quais, no conjunto, a caracterizam.

Não há e não haverá uma receita única para ensinar programação. Tampouco há uma linguagem totalmente dominante e que atenda a todos os propósitos. Na prática, cada uma delas se mostra mais apropriada para determinada circunstância. De acordo com pesquisa recente (maio 2021) da Plataforma StackOverflow, contemplando consulta a mais de 80 mil desenvolvedores no mundo, as mais populares são as seguintes linguagens, na ordem: JavaScript, HTML/CSS, Python, SQL e Java. São também positivamente citadas: Rust, Clojure, TypeScript, Elixir e Julia.

Além disso, ao contrário do passado quando o primeiro passo era a definição da linguagem de programação, atualmente, a etapa inicial é a elaboração do projeto do serviço a ser realizado, o que inclui estreita colaboração com o usuário ou demandante. O projeto é que determina qual a linguagem a ser adotada, levando em conta variáveis tais como a base instalada na empresa. Portanto, um futuro profissional deve estar preparado para qualquer cenário, onde o ponto em comum é a multiplicidade de possibilidades entre usuários e máquinas.

Um bom programador deve estar preparado para pensar em sistemas e em designs, instanciar a implementação e a linguagem que for a mais apropriada e, fundamentalmente, estar preparado para aprender novas linguagens e trabalhar em equipes híbridas, ressaltando os aspectos colaborativos entre todos os atores envolvidos no projeto.

Para alguém como eu, educado em Fortran, é mais fácil perceber a evidente impermanência das linguagens de programação ao longo do tempo, bem como sua grande diversidade em qualquer tempo. Porém, algo parecer ser perene na aprendizagem de qualquer linguagem, tal que o domínio de qualquer uma delas, quando bem desenvolvida, contribui, e muito, com aprender as próximas.

Em suma, a mais adequada abordagem educacional no contexto atual parece ser aquela que entende ser mais relevante aprender a aprender linguagens computacionais, em geral, evitando a tentação de ficar restrito a uma particular linguagem, circunstancialmente na moda. Nesse sentido, associamos, em geral, a aprendizagem de uma particular linguagem aos processos cognitivos mais simples. Por sua vez, a metacognição, que vai além da cognição, diz respeito à capacidade de ampliar a consciência do aluno acerca de como ele aprende, preparando-o para as próximas aprendizagens. 

Ou seja, ao ensinarmos o estudante a dominar qualquer linguagem, há que se explorar, simultaneamente, a reflexão acerca de sua própria aprendizagem, preparando-o a conjugar a habilidade do domínio de linguagens à atitude de não temer novos desafios no mundo da programação, sejam eles quais forem.

Em outras palavras, também na área da aprendizagem de linguagens de programação, mais importante do que o que foi aprendido, relativo à cognição, é termos estimulado no educando a prática de aprender a aprender, continuamente e ao longo de toda a vida, a chamada metacognição. Trata-se de aprender programação, não somente uma linguagem específica para fazer um determinado programa.

Em suma, linguagens são apenas ferramentas e o principal objetivo educacional deve ser promover a devida maturidade do futuro profissional, permitindo que ele tenha uma boa visão do potencial de várias linguagens de programação. Dentro do referencial cognitivo, a preocupação central é ensinar uma determinada linguagem (ou um software específico), enquanto na perspectiva metacognitiva o mais relevante é capacitar o educando a aprender linguagens novas, sejam elas quais forem incluindo aquelas que nem sequer foram ainda desenvolvidas.

_____________

*Ronaldo Mota é Diretor acadêmico do IPD/ITuring e diretor científico da Digital Pages

Curtir:

Compartilhar:

Carmen Tavares

Gestora educacional e de inovação com 28 anos de experiência em instituições de diversos portes e regiões, com considerável bagagem na construção de políticas para cooperação intersetorial, planejamento e gestão no ensino privado tanto na modalidade presencial quanto EAD. Atuou também como executiva em Educação Corporativa e gestora em instituições do Terceiro Setor. É mestre em Gestão da Inovação pela FEI/SP, com área de pesquisa em Capacidades Organizacionais, Sustentabilidade e Marketing. Pós-graduada em Administração de Recursos Humanos e graduada em Pedagogia pela UEMG.

contato@proinnovare.com.br - www.proinnovare.com.br