Pular para o conteúdo

Para o termo exato, use aspas. Ex.: “44 anos”

Por: ABMES

Aprender a programar vai além de programar

<p style="text-align: justify;"><em>Por:&nbsp;Ronaldo Mota*</em></p>

<p style="text-align: justify;">Associamos cogni&ccedil;&atilde;o ao processo de aprendizagem de determinado conte&uacute;do, bem como dos procedimentos e t&eacute;cnicas a ele relacionados. Metacogni&ccedil;&atilde;o, por sua vez, trata da reflex&atilde;o acerca do que foi aprendido e de como se aprende. Grosso modo, cogni&ccedil;&atilde;o tem a ver, mais diretamente, com &ldquo;aprender&rdquo;; enquanto metacogni&ccedil;&atilde;o com o &ldquo;aprender a aprender&rdquo; ou com a reflex&atilde;o acerca do processo, ampliando o n&iacute;vel de consci&ecirc;ncia do educando sobre sua pr&oacute;pria aprendizagem.</p>

<p style="text-align: justify;">Dominar uma linguagem de programa&ccedil;&atilde;o &eacute; estar apto a estabelecer um sistema de comunica&ccedil;&atilde;o que permite aos desenvolvedores de software dar instru&ccedil;&otilde;es &agrave;s m&aacute;quinas. Via instru&ccedil;&otilde;es escritas, seguindo a l&oacute;gica de uma linguagem previamente estabelecida, ordens precisas s&atilde;o emitidas aos computadores e outras m&aacute;quinas para obter um determinado resultado. Seja ela uma opera&ccedil;&atilde;o matem&aacute;tica, a cria&ccedil;&atilde;o de um documento ou um determinado movimento, entre outras in&uacute;meras simples ou complexas a&ccedil;&otilde;es.</p>

<p style="text-align: justify;">Tal como ocorre com os idiomas em geral, algumas linguagens de programa&ccedil;&atilde;o podem compartilhar voc&aacute;bulos ou estruturas de frases e outras podem ser completamente distintas. De qualquer forma, tal qual idiomas, cada linguagem de programa&ccedil;&atilde;o tem seus voc&aacute;bulos e sua pr&oacute;pria sintaxe e regras sem&acirc;nticas, os quais, no conjunto, a caracterizam.</p>

<p style="text-align: justify;">N&atilde;o h&aacute; e n&atilde;o haver&aacute; uma receita &uacute;nica para ensinar programa&ccedil;&atilde;o. Tampouco h&aacute; uma linguagem totalmente dominante e que atenda a todos os prop&oacute;sitos. Na pr&aacute;tica, cada uma delas se mostra mais apropriada para determinada circunst&acirc;ncia. De acordo com pesquisa recente (maio 2021) da Plataforma <em>StackOverflow</em>, contemplando consulta a mais de 80 mil desenvolvedores no mundo, as mais populares s&atilde;o as seguintes linguagens, na ordem: JavaScript, HTML/CSS, Python, SQL e Java. S&atilde;o tamb&eacute;m positivamente citadas: Rust, Clojure, TypeScript, Elixir e Julia.</p>

<p style="text-align: justify;">Al&eacute;m disso, ao contr&aacute;rio do passado quando o primeiro passo era a defini&ccedil;&atilde;o da linguagem de programa&ccedil;&atilde;o, atualmente, a etapa inicial &eacute; a elabora&ccedil;&atilde;o do projeto do servi&ccedil;o a ser realizado, o que inclui estreita colabora&ccedil;&atilde;o com o usu&aacute;rio ou demandante. O projeto &eacute; que determina qual a linguagem a ser adotada, levando em conta vari&aacute;veis tais como a base instalada na empresa. Portanto, um futuro profissional deve estar preparado para qualquer cen&aacute;rio, onde o ponto em comum &eacute; a multiplicidade de possibilidades entre usu&aacute;rios e m&aacute;quinas.</p>

<p style="text-align: justify;">Um bom programador deve estar preparado para pensar em sistemas e em designs, instanciar a implementa&ccedil;&atilde;o e a linguagem que for a mais apropriada e, fundamentalmente, estar preparado para aprender novas linguagens e trabalhar em equipes h&iacute;bridas, ressaltando os aspectos colaborativos entre todos os atores envolvidos no projeto.</p>

<p style="text-align: justify;">Para algu&eacute;m como eu, educado em Fortran, &eacute; mais f&aacute;cil perceber a evidente imperman&ecirc;ncia das linguagens de programa&ccedil;&atilde;o ao longo do tempo, bem como sua grande diversidade em qualquer tempo. Por&eacute;m, algo parecer ser perene na aprendizagem de qualquer linguagem, tal que o dom&iacute;nio de qualquer uma delas, quando bem desenvolvida, contribui, e muito, com aprender as pr&oacute;ximas.</p>

<p style="text-align: justify;">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&ccedil;&atilde;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&ccedil;&atilde;o, que vai al&eacute;m da cogni&ccedil;&atilde;o, diz respeito &agrave; capacidade de ampliar a consci&ecirc;ncia do aluno acerca de como ele aprende, preparando-o para as pr&oacute;ximas aprendizagens.&nbsp;</p>

<p style="text-align: justify;">Ou seja, ao ensinarmos o estudante a dominar qualquer linguagem, h&aacute; que se explorar, simultaneamente, a reflex&atilde;o acerca de sua pr&oacute;pria aprendizagem, preparando-o a conjugar a habilidade do dom&iacute;nio de linguagens &agrave; atitude de n&atilde;o temer novos desafios no mundo da programa&ccedil;&atilde;o, sejam eles quais forem.</p>

<p style="text-align: justify;">Em outras palavras, tamb&eacute;m na &aacute;rea da aprendizagem de linguagens de programa&ccedil;&atilde;o, mais importante do que o que foi aprendido, relativo &agrave; cogni&ccedil;&atilde;o, &eacute; termos estimulado no educando a pr&aacute;tica de aprender a aprender, continuamente e ao longo de toda a vida, a chamada metacogni&ccedil;&atilde;o. Trata-se de aprender programa&ccedil;&atilde;o, n&atilde;o somente uma linguagem espec&iacute;fica para fazer um determinado programa.</p>

<p style="text-align: justify;">Em suma, linguagens s&atilde;o apenas ferramentas e o principal objetivo educacional deve ser promover a devida maturidade do futuro profissional, permitindo que ele tenha uma boa vis&atilde;o do potencial de v&aacute;rias linguagens de programa&ccedil;&atilde;o. Dentro do referencial cognitivo, a preocupa&ccedil;&atilde;o central &eacute; ensinar uma determinada linguagem (ou um software espec&iacute;fico), enquanto na perspectiva metacognitiva o mais relevante &eacute; capacitar o educando a aprender linguagens novas, sejam elas quais forem incluindo aquelas que nem sequer foram ainda desenvolvidas.</p>

<p style="text-align: justify;">_____________</p>

<p style="text-align: justify;"><em>*Ronaldo Mota &eacute; Diretor acad&ecirc;mico do IPD/ITuring e diretor cient&iacute;fico da Digital Pages</em></p>

Voltar para Colunas

Quer saber como a ABMES pode atender as demandas específicas da sua IES?

Nossos consultores estão prontos para apresentar todos os benefícios, serviços inclusos e condições exclusivas de filiação para o perfil da sua instituição.