Lógica de programación
Cuestiones introductorias
Parto de que la alfabetización o competencia digital tiene como uno de sus (discutidos) componentes la lógica de programación. Digo discutidos porque, en sentido estricto, no es necesario dominar dicha lógica para ser un usuario de los recursos digitales (competencia digital a nivel usuario), pero sí en fundamental para hablar de alfabetización digital: conocer y saber usar el código, comprender los mensajes y cómo se formulan y ser capaz de componer textos.
En esas diferencias radican las que se dan entre determinada forma de entender la competencia digital y el significado de lo que supone la alfabetización digital.
Evidentemente defiendo la necesidad de lograr esta última y considero falaz un desarrollo competencial que nos limite al mero papel de usuarios de tecnologías comerciales, sin negar la evidencia de su utilidad y de que su conocimiento y dominio también son necesarios. Necesarios sí, pero no suficientes.
Podemos definir como lógica de programación la formalización, mediante representaciones y lenguajes, de la capacidad de identificar un problema y la organización y estructuración de instrucciones algorítmicas de forma coherente con su resolución. Esta estructuración que deriva y se expresa en lo que llamamos algoritmo, se realiza mediante la aplicación de reglas y procesos coherentes.
De la definición anterior se siguen dos cuestiones principales que revelan su importancia en el proceso de alfabetización que pretendemos:
- Que existe y se conoce un problema, luego hay un conocimiento "experto" previo y una situación real que se problematiza.
- Que se procede mediante un lenguaje formalizado, dotado de elementos formales y regido por una lógica propia, no siempre equivalente (al menos en lo formal) a otros lenguajes y a otras lógicas. Un lenguaje que, en consecuencia, es necesario comprender y "hablar".
Si de la primera cuestión se deriva la importancia del conocimiento "experto" del problema y de su contexto (lo cual es clave en un enfoque instrumental y aplicado de la alfabetización digital), la segunda implica que existe una diferencia entre el conocimiento de la algoritmia "natural" (aquella que adquirimos en función de nuestra experiencia vital socializada) y la alfabetización digital, que supone el conocimiento de un lenguaje básico formalizado (que generalmente denominamos pseudolenguaje) mediante el que se expresa el algoritmo, y la formalización de la representación (gráfica) del mismo mediante diagramas de flujo.
Aunque este conocimiento básico subyace a todo proceso de alfabetización en lógica de programación, no es hasta que se conoce y "habla" un lenguaje concreto de programación que se alcanza la capacidad de aplicar la lógica de programación a la resolución de un problema, siendo éste el objetivo y la medida del logro del proceso de alfabetización.
Es aquí donde se revela necesario optar por un lenguaje en función de los objetivos que nos planteemos alcanzar. Dicho de otro modo y en concreto: es en este momento cuando debemos valorar la idoneidad de Python como lenguaje de programación en el que basar nuestro proceso de alfabetización digital.
No hay comentarios:
Publicar un comentario
Comenta esta entrada