Páginas

miércoles, 11 de enero de 2017

La lógica de programación, barrera u oportunidad


La experiencia más enriquecedora en mi rol como docente, ha sido favorecer el desarrollo del pensamiento lógico  en mis estudiantes y llevar de un lenguaje cotidiano a un lenguaje de programación que será interpretado por una máquina y que arrojará mediante un proceso sistémico, un producto. La calidad de este producto depende de la calidad de lógica natural y científica (López, 2008), que tenga el estudiante,   entendida la lógica natural como todo raciocinio adquirido por experiencia sensible y la lógica científica toda aquella  que además de usar la lógica natural,  usa la razón y la enjuicia.

Todos los tipos de lógica existentes permiten desarrollar el término más apropiado en este caso, la  “Lógica de programación”, ésta involucra, de una manera técnica y organizada, los conceptos que nos  permiten diseñar en términos generales la solución a problemas que pueden llegar a ser implementados  a través de un computador (Trejos, 1999). Para el estudio de ésta no es necesario tener conocimientos  previos de computadores, de ahí la confusión con la programación, que son las técnicas e instrucciones  de un lenguaje de programación para qué mediante éste, se dé una solución en el computador.

La lógica de programación, dispone los conceptos básicos que permite que el estudiante se enfrente a cualquier lenguaje de programación y no presente las barreras ya generalizadas que hace que cada vez que se trate un lenguaje nuevo o aun utilizando el mismo, no encuentre el camino que le permita una  solución adecuada a una necesidad del contexto.

Este escrito me permite exteriorizar que como docentes en muchos casos por no tener claridad en los conceptos  de lógica aplicada, creamos esas barreras que hacen tanto daño a nuestros estudiantes,  haciendo que éstos, sean  una estadísticas más de deserción en las instituciones educativas o que cada vez tengan mayor grado de dificultad al momento de desarrollar software.  También es pertinente  precisar que este tipo de dificultades se encuentran en ellos al momento de desarrollar otro tipo  de actividad académica, en esos casos donde seguramente un tipo de lógica aplicada, les ayudaría mucho,  de ahí la importancia que desde cada área del saber se desarrolle un tipo de pensamiento lógico que  explique los fenómenos cotidianos de la vida. Un ejemplo claro es lo que podría hacer un tendero en  una transacción cotidiana, vender artículos, para sacar la cuenta a un cliente que le paga con un  billete de alguna denominación, esto que parece tan sencillo, en programación se vuelve un cuello  de botella para aquellos estudiantes que no hacen el ejercicio deductivo para establecer la operación  racional, porque una cosa es tener la lógica de programación, alimentada por el saber del caso y otra es llevarla al lenguaje de programación como lo explique antes, es decir debemos tener el conocimiento  del caso de la tienda, hacer el análisis y diseño de la situación y llevarla al lenguaje interpretado  por la máquina.

En mis términos considero que la lógica es una serie coherente de ideas y razonamientos, siendo la forma obvia y más fácil de hacer algo, por lo tanto, la base para la solución de problemas a través del computador es  vislumbrar el camino más obvio y fácil para lograr el objetivo.   Siempre que vamos a resolver un problema nos encontramos con una dificultad y es encontrar la solución,  en el caso de los estudiantes, quieren a la primera, hacer la codificación en un lenguaje y no  detenerse a pensar cual puede ser el camino más obvio y los resultados claramente no serán los  esperados, eso es como querer ir inmediatamente a la playa si no sabemos dónde queda, es  indispensable volver el problema un objetivo, en este caso “ir a la playa”, esto permite  saber para donde vamos y a donde debemos llegar, el objetivo se convierte en la razón del  problema, para precisar en términos técnicos el camino hacia el objetivo, se habla de desarrollar el algoritmo, éste es la secuencia detallada de pasos, sin dejar escapar nada  en lo absoluto, cualquier detalle omitido podría repercutir en el resultado (objetivo),  hasta este momento podría ser representativo, me refiero a que puedo de alguna manera hacer  el proceso sin la necesidad de un computador, si lo voy a utilizar lo denominaré algoritmo  computacional; con esto aclaro aquel asunto donde dije que la lógica de programación no requería conocimientos computacionales, estos son requeridos al  momento de hacer el  “algoritmo computacional”.

De otro lado mi devenir como ingeniero de sistemas me ha permitido no solo hacer alusión a terminología técnica propia de la computación, sino a implementarla y a trabajar en otras  áreas del saber, ratificando que la ingeniería de sistemas, permite adentrarse en otras  fuentes del saber y no solo adentrarse, sino hacerlas suyas, o como se explica que un  contador de profesión, le pregunte a un ingeniero de sistemas sobre temáticas propias de la contaduría o como es una fórmula matemática desarrollada en un programa  a un  matemático. Hago alusión a esto porque una de mis pasiones es la pedagogía y como la tecnología computacional y de comunicaciones favorece la misma. Aquí vuelve el problema de la lógica, en muchos escenarios académicos se plantea que para ser docente es necesario estudiar una licenciatura y aquí me pregunto será que un profesional de un área distinta  que tiene lo más importante, el conocimiento no puede ser buen docente, ya que entre  otras cosas, tiene la experiencia de  su área y el ser docente también se hace desde  la familia y desde otros escenarios. Se podría decir lo mismo de un profesional en  pedagogía, que habla de mediaciones tecnológicas y de todo lo relacionado con ambientes  mediados tecnológicamente, cuando en su vida los ha utilizado, solo entendiendo desde  lo que los demás dicen, que buena discusión es esta, cuál será el pensamiento lógico  al respecto, será que hacemos lo mismo que algunos estudiantes, desarrollar una solución  sin tener claro el objetivo, o hablar de la solución sin tener el mínimo de conocimiento  al respecto.

Referencias
Lopez, J. J. (12 de 12 de 2008). Yahoo. Obtenido de Yahoo: https://es.answers.yahoo.com/question/index?qid=20080817185424AAJIfAK
Trejos, O. I. (1999). La esencia de la lógica de programación. Pereira: Papiro.

Reflexión: José Omar Mayorga Pabón