Lógica de programación
Parto de que la alfabetización digital, ahora entendida como competencia digital, que no es lo mismo pero se parece y para qué andarnos con diferenciaciones de matiz, 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 más o menos competente de los recursos digitales (competencia digital a nivel usuario, que es la realmente predominante), pero sí en fundamental para hablar de alfabetización digital, también en sentido estricto, que asimilo a lo que el conocimiento y dominio de la lectura y la escritura son a la alfabetización a secas: conocer y saber usar el código, comprender los mensajes y componer textos. En esas diferencias radican las que se dan entre determinada forma de entender la competencia digital y el significado real 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 y algoritmos comercializados, sin negar la evidencia de que su conocimiento y dominio de uso son también necesarios. Necesarios sí, pero no suficientes.
Podemos definir como lógica de programación la formalización mediante representaciones y lenguajes formales de la capacidad de identificar un problema y organizar y estructurar ideas e instrucciones de forma coherente para 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 forma 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 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 no formal de la algoritmia "natural", que la que aprendemos 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 real 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 reales que se planteen alcanzar. Dicho de otro modo, es en este momento donde debemos valorar la idoneidad de Python como lenguaje de programación en el que basar el proceso de alfabetización digital.
No hay comentarios:
Publicar un comentario
Comenta esta entrada