Fundamentos de programacin: una aproximacin al desarrollo del pensamiento

 

Programming Fundamentals: An Approach to the Development of Thinking

 

Fundamentos de programao: uma abordagem ao desenvolvimento do pensamento

Jhon Eduardo Villacrs-Sampedro I
jhon.villacres@espoch.edu.ec
https://orcid.org/0000-0002-8064-9680

,Sonia Patricia Cordovez-Machado II
sonia.cordovez@espoch.edu.ec
https://orcid.org/0000-0002-2393-7918
Nancy Maritza Montoya-Ramrez III
nmontoya@istmas.edu.ec
https://orcid.org/0000-0001-6439-9477

,Fabin Enrique Calvopia-Estrella IV
fabian.calvopina@istcarloscisneros.edu.ec
https://orcid.org/0009-0005-3330-4582
 

 

 

 

 

 

 

 

 

 


Correspondencia: jhon.villacres@espoch.edu.ec

 

Ciencias de la Computacin

Artculo de Investigacin

 

* Recibido: 06 de junio de 2024 *Aceptado: 11 de julio de 2024 * Publicado: 22 de agosto de 2024

 

        I.            Magster en Desarrollo de la Inteligencia y Educacin, Mster Universitario en Tecnologa Educativa y Competencias Digitales, Ingeniero en Sistemas, Docente de la Facultad de Informtica y Electrnica, Software, Tecnologas de la Informacin, Escuela Superior Politcnica de Chimborazo, Riobamba, Ecuador.

      II.            Mster Universitario en Ingeniera de Software y Sistemas Informticos, Ingeniero en Sistemas, Docente de la Facultad de Informtica y Electrnica, Software, Escuela Superior Politcnica de Chimborazo, Riobamba, Ecuador.

   III.            Magster en Informtica Educativa, Ingeniera en Sistemas Informticos, Instituto Superior Tecnolgico Dr. Misael Acosta Sols, Riobamba, Ecuador.

   IV.            Mster en Ciberseguridad y Privacidad, Ingeniero en informtica, Docente Carrera Diseo y Mantenimiento de Redes, Instituto Superior Universitario Carlos Cisneros, Riobamba, Ecuador.

 


Resumen

El presente trabajo de investigacin, explora la relacin existente entre los fundamentos de programacin y el desarrollo del pensamiento, haciendo nfasis en cmo la programacin puede transformarse en una herramienta poderosa para fortalecer diversas habilidades cognitivas, enmarcadas en los conceptos del desarrollo del pensamiento. Se ha realizado un estudio bibliogrfico, desde la identificacin de autores hasta un anlisis exhaustivo de la literatura, se tom como conceptos clave de la programacin, los algoritmos, las estructuras de control, las estructuras de datos, y la descomposicin de problemas, por otra parte, contribuyeron a los conceptos de desarrollo del pensamiento, el pensamiento computacional, el pensamiento lgico, la resolucin de problemas, el pensamiento crtico, la atencin y el pensamiento algortmico. Los hallazgos en la investigacin, demuestran que la prctica de la programacin no solo mejora las competencias tcnicas, sino que tambin potencia la capacidad de los individuos para enfrentar y resolver problemas complejos de manera efectiva, lgica y coherente. As mismo, se encuentra, que el desarrollo del pensamiento es un constructo social, influenciado por el entorno cultural y las interacciones sociales. Finalmente, el artculo concluye que los fundamentos de programacin ofrecen una aproximacin valiosa al desarrollo del pensamiento, sugiriendo su integracin en el currculo educativo, para ampliar las opciones cognitivas de los individuos en un mundo tecnolgicamente avanzado.

Palabras clave: Programacin; Desarrollo del pensamiento; Pensamiento lgico; Lgica de programacin; Algoritmo; Pensamiento crtico.

 

Abstract

This research explores the relationship between programming fundamentals and the development of thinking, emphasizing how programming can become a powerful tool to strengthen various cognitive skills, framed in the concepts of thinking development. A bibliographic study has been carried out, from the identification of authors to an exhaustive analysis of the literature, taking as key concepts of programming, algorithms, control structures, data structures, and problem decomposition, on the other hand, contributed to the concepts of thinking development, computational thinking, logical thinking, problem solving, critical thinking, attention and algorithmic thinking. The findings in the research demonstrate that the practice of programming not only improves technical skills, but also enhances the ability of individuals to face and solve complex problems in an effective, logical and coherent manner. Likewise, it is found that thinking development is a social construct, influenced by the cultural environment and social interactions. Finally, the article concludes that programming fundamentals offer a valuable approach to the development of thought, suggesting its integration into the educational curriculum, to expand the cognitive options of individuals in a technologically advanced world.

Keywords: Programming; Development of thought; Logical thinking; Programming logic; Algorithm; Critical thinking.

 

Resumo

O presente trabalho de investigao explora a relao entre os fundamentos da programao e o desenvolvimento do pensamento, enfatizando como a programao se pode tornar uma ferramenta poderosa para fortalecer diversas competncias cognitivas, enquadradas nos conceitos de desenvolvimento do pensamento. Foi realizado um estudo bibliogrfico, desde a identificao dos autores at uma anlise exaustiva da literatura, tomando como conceitos-chave de programao, algoritmos, estruturas de controlo, estruturas de dados e decomposio de problemas, por outro lado, contriburam para os conceitos de desenvolvimento do pensamento, pensamento computacional, pensamento lgico, resoluo de problemas, pensamento crtico, ateno e pensamento algortmico. Os resultados da investigao demonstram que a prtica da programao no s melhora as competncias tcnicas, como tambm aumenta a capacidade dos indivduos para enfrentar e resolver problemas complexos de uma forma eficaz, lgica e coerente. Da mesma forma, verifica-se que o desenvolvimento do pensamento uma construo social, influenciada pelo ambiente cultural e pelas interaes sociais. Por fim, o artigo conclui que os fundamentos da programao oferecem uma abordagem valiosa para o desenvolvimento do pensamento, sugerindo a sua integrao no currculo educacional, para expandir as opes cognitivas dos indivduos num mundo tecnologicamente avanado.

Palavras-chave: Programao; Desenvolvimento do pensamento; Pensamento lgico; Lgica de programao; Algoritmo; Pensamento crtico.

 

 

 

Introduccin

Fundamentos de programacin

La computacin en sus inicios, no fue tan sofisticada como en los tiempos actuales, se limitaba a intentar calcular y automatizar algunos procesos, un ejemplo clsico de lo que se est afirmando es el baco, definido por Pomeroy, A. (2007) como una herramienta de clculo manual, que consiste en cuentas mviles insertadas en varillas, mismas que permiten realizar operaciones aritmticas bsicas, aunque se sabe que el baco es una herramienta manual, se puede elaborar un algoritmo con las instrucciones necesarias para realizar operaciones matemticas. Charles Babbage, en el ao 1822, propone la mquina de diferencias, para el clculo de ecuaciones polinmicas, el mismo autor en el ao de 1830, propone la mquina analtica, con conceptos ms revolucionarios, al ser una computadora mecnica programable, que ya consideraba componentes como memoria y unidad de control, sin embargo, no se concret su construccin. Con el paso del tiempo otros cientficos ponan de manifiesto sus investigaciones y diseos, entre ellos, las tarjetas perforadas, que sirvieron para la tabulacin de datos en el censo de 1890 en Estados Unidos. El avance contina, dando lugar a la aparicin de lenguajes de bajo nivel, que segn Stallings (2021) y Patterson & Hennessy (2021), estn muy cercanos al lenguaje de mquina, es decir al lenguaje nativo de la computadora, por otra parte, surgen los lenguajes de alto nivel, estos por su flexibilidad, son ms fciles de entender y proporcionan muchas facilidades, para que el programador se centre en el problema a resolver y no en los detalles tcnicos de la gestin del hardware (Lutz, 2023; Bloch, 2018; Stroustrup, 2013).

 

Algoritmo

El computador visto desde el punto de vista del hardware, es un dispositivo que ejecuta uno a uno todos los pasos que un programa indica. Este conjunto de pasos o instrucciones finitas que se llevan a cabo para resolver un problema especfico o realizar una tarea en particular, es conocido con el nombre de algoritmo (Cormen et al., 2022; Heineman et al., 2016), para clarificar el concepto citamos a Knuth (2011) y Aho et al. (2020), quienes afirman que un algoritmo es un conjunto de reglas bien definidas que conllevan a la resolucin de un problema en un conjunto finito de pasos, el mismo que recibe valores de entrada y entrega algn valor o valores de salida.

Para los autores del presente trabajo de investigacin, se puede definir un algoritmo, como un conjunto finito de instrucciones lgicas, secuenciales y ordenadas que conllevan a la resolucin de un problema, la consecucin de un objetivo o la realizacin de una tarea en particular.

 

Estructuras de Control

Para que un algoritmo tenga un diseo correcto, el desarrollador, debe poder controlar el flujo del programa, esto se logra con el uso de las estructuras de control, para Tanenbaum (2016), las estructuras de control son bloques fundamentales en la programacin que alteran el flujo de ejecucin de un programa. Estas incluyen las estructuras de seleccin (if-else), iteracin (for, while) y secuencia, que permiten a los programas tomar decisiones y repetir acciones (pp. 114-116). En el mismo contexto, Lafore (2017) manifiesta que, las estructuras de control son mecanismos que permiten dirigir el flujo de ejecucin del programa orientndolo hacia la lgica deseada, estas se clasifican en estructuras de seleccin (if, switch), repeticin (for, while, do-while) y secuencia, que facilitan el control del flujo de instrucciones de manera eficiente (pp. 112-115)."

Como se ha visto, las estructuras de control le confieren al programador la posibilidad de controlar el flujo de ejecucin del programa, de tal forma que la informacin se vaya transformando a lo largo del mismo, de acuerdo a lo que la lgica requiere para, proveer entradas al programa y que este proporcione las salidas deseadas por el usuario final, los algoritmos por su caracterstica textual, no evidencian con facilidad la forma como cambia el flujo de los datos, sin embargo los diagramas de flujo, tienen la capacidad de mostrar como la informacin se va transformado, hasta llegar a un resultado esperado.

 

Estructuras de Datos

La informacin en el computador puede guardarse de forma temporal mientras se ejecuta el programa, o permanente, que se almacena en algn dispositivo de memoria secundaria, y tiene la capacidad de ser recuperado despus de que se ha terminado la ejecucin del mismo, para mejorar la organizacin de la informacin y el uso de memoria, los lenguajes de programacin utilizan variables, a las mismas que se les asigna un tipo de dato, que puede ser entero, flotante, caracteres, cadena de caracteres, booleano, entre otros, es importante aclarar que existen lenguajes de programacin tipados, para los cuales es necesario declarar el tipo de dato de una variable antes de usarla y no tipados para los cuales no es necesaria una declaracin de variables, sin embargo ambos tipos de lenguajes utilizan espacios de memoria para almacenar la informacin en las variables.

Cuando los tipos de datos primitivos, que vienen como parte del lenguaje de programacin, no satisfacen las necesidades de almacenamiento de informacin, entran en escena otras estructuras, para Weiss (2013), "Las estructuras de datos son colecciones de datos organizados de tal manera que permiten un acceso y modificacin eficientes. Estas estructuras son esenciales para la implementacin de algoritmos y la gestin de datos en la programacin", en este artculo no profundizaremos en la teora sobre las estructuras de datos, no obstante, se mencionar que pueden ser tambin definidas por el usuario.

 

Desarrollo del pensamiento

En general y parra varios autores reconocidos, el desarrollo del pensamiento es un proceso del ser humano mediante el cual mejora y ampla sus capacidades cognitivas, a medida que transcurre el tiempo, en este sentido se puede hablar de la evolucin de habilidades como el razonamiento, la resolucin de problemas, la toma de decisiones, la creatividad y el pensamiento crtico, algunos autores afirman que, los factores biolgicos, culturales, educativos y sociales, tienen una fuerte influencia en el desarrollo del pensamiento, todo esto contribuye a que el individuo pueda comprender y adaptarse a su entorno, a lo largo de su vida, de una manera eficaz.

Piaget (1952), define al desarrollo del pensamiento, como un proceso evolutivo que se despliega en etapas especficas, cada una caracterizada por un tipo particular de organizacin cognitiva, el autor afirma que el pensamiento se desarrolla, mediante la interaccin activa del nio con su entorno, a partir del cual, construye esquemas mentales ms complejos y abstractos a medida que madura.

Para Vygotsky (1978), el desarrollo del pensamiento es un proceso sociocultural mediado por el lenguaje y la interaccin social, el autor afirma que las habilidades cognitivas se desarrollan inicialmente en un nivel social, a travs de la comunicacin y colaboracin con otros individuos, para luego internalizarse en s mismo.

Gardner (1983), con su teora de las inteligencias mltiples, afirma que el individuo no tiene una sola inteligencia, si no, varias inteligencias, por lo tanto, el desarrollo del pensamiento, no se da como un proceso uniforme, por el contrario, se desarrollan mltiples inteligencias, entre ellas lingstica, musical, lgica matemtica y otras.

 

Pensamiento computacional

Iniciamos recordando la definicin bsica de algoritmo, como el conjunto de instrucciones que permiten resolver un problema, de ah se puede decir que la programacin, es la accin de disear instrucciones lgicas, detalladas, comprensibles para el computador de tal forma que ste las pueda ejecutar sin dificultades, para la resolucin de tareas especficas, este tipo de pensamiento, tiene como base la lgica y las matemticas, en este contexto, Wing (2006), es quien popularizo el trmino pensamiento computacional y lo define como una forma de pensamiento que relaciona la formulacin de problemas y su resolucin, de tal forma que se pueda representar como una secuencia de pasos o instrucciones que el computador comprenda plenamente y los pueda ejecutar (p. 33). Refuerza este concepto Papert (1980), indicando que este tipo de pensamiento hace uso de estrategias como la modelizacin, la simulacin, y el anlisis algortmico, para resolver problemas en distintas reas y disciplinas.

En este contexto podemos anotar que al conjunto de habilidades cognitivas que dotan al individuo de capacidades para lograr una adecuada descomposicin de problemas, identificar patrones, abstraer conceptos y proponer soluciones en forma de algoritmos, se las conoce con el nombre de pensamiento computacional, esta forma de pensamiento, es parte del ser humano que va evolucionando con el tiempo y le permite resolver problemas comunes que no necesariamente estn relacionados a la informtica.

 

Pensamiento Lgico

La lgica desde sus inicios se defini como el estudio del razonamiento vlido, donde se explica, que, si las premisas son verdaderas, la conclusin debe tambin ser verdadera, esta estudia la estructura de los pensamientos y en consecuencia las formas de llegar a conclusiones correctas o verdaderas a partir de alguna informacin o idea. La lgica es fundamental para el estudio de otros campos como la filosofa, las matemticas, la informtica, y en general en cualquier campo donde se requiera pensar de manera clara y coherente.

En este mismo contexto, para (Martinez et al., 2023), el pensamiento lgico se refiere a la capacidad de razonar de manera coherente, analtica y sistemtica, utilizando principios de la lgica para concretar el anlisis de situaciones, resolver problemas y tomar decisiones. Segn (Copi et al., 2014), este pensamiento tiene su base en la capacidad de identificar relaciones entre varios elementos, establecer conexiones entre ideas, y seguir un proceso ordenado de deduccin o induccin, con el propsito de llegar a conclusiones vlidas y fundamentadas.

El pensamiento lgico como un instrumento en la programacin, ayuda al desglose o segmentacin de los problemas en pasos lgicos y secuenciales, de tal forma que un problema grande, pueda ser dividido en problemas ms pequeos, para ser analizados, disear una propuesta para cada caso y finalmente integrar las diferentes soluciones en un solo algoritmo o programa, que permita obtener las respuestas deseadas luego de su ejecucin. En este aspecto, se aprovechan las capacidades de modularidad de los diferentes lenguajes de programacin, en donde cada mdulo forma parte de una solucin ms grande, sin embargo, son individualmente funcionales y cada uno tiene una lgica interna clara. De esta manera los fundamentos de programacin ayudan a desarrollar el pensamiento lgico, una habilidad esencial que puede aplicarse en diferentes disciplinas.

Como se ha visto, el pensamiento lgico, como parte del desarrollo del pensamiento, es muy til, para resolver problemas que puedan convertirse en instrucciones lgicas y secuenciales, que demuestren una coherencia implcita en su resolucin, por consiguiente, estamos aproximndonos a la definicin de algoritmo, en la programacin, si hacemos un anlisis de las caractersticas del pensamiento lgico, reforzamos an ms el vnculo encontrado:

         Coherencia: el razonamiento sigue un orden lgico, evitando contradicciones y ambigedades.

         Deduccin: actividad de la mente que identifica, extrae y separa, una parte de un todo, para obtener conclusiones particulares a partir de premisas universales, es decir, si las premisas son verdaderas, la conclusin ser verdadera.

         Indiccin: capaz de obtener conclusiones generales a partir de premisas particulares.

         Abstraccin: proceso mental para representar y manejar conceptos complejos de manera simplificada.

         Objetividad: estudia los hechos y reglas de forma clara en lugar de suponer o emplear emociones.

 

Resolucin de Problemas

La programacin por sus caractersticas, es una actividad encaminada a la resolucin de problemas, cada nuevo programa, supone un nuevo desafo que necesariamente, requiere una solucin eficiente, para (Jonassen, 2000), la resolucin de problemas se convierte en un proceso estructurado en donde se identifica un problema, se formula una estrategia, se proponen e implementan posibles soluciones y se evalan los resultados con propsitos de mejorar las decisiones futuras.

De esta manera, se pretende mejorar las habilidades de resolucin de problemas y por otra parte se busca fomentar la creatividad. As, cada vez que se tiene un nuevo problema a resolver, el analista o diseador del programa, aplica el pensamiento lgico para conseguir la coherencia y ms atributos en la solucin y el pensamiento lateral, para proponer alternativas de solucin, que pueden percibirse como fuera de lo comn, esto permite considerar mltiples enfoques para resolver un problema.

 

Pensamiento Crtico

(Facione, 1990, p. 3), define el pensamiento crtico como "el juicio intencionado y autorregulado que resulta en interpretacin, anlisis, evaluacin e inferencia, as como la explicacin de las consideraciones contextuales, conceptuales, metodolgicas, normativas o basadas en criterios, sobre la cual se basa ese juicio".

Ampliando el concepto, se puede decir que el pensamiento crtico, es de tipo reflexivo, donde el razonamiento orienta hacia el qu creer o qu hacer, en este sentido, es evidente que el pensamiento crtico es otra habilidad que se desarrolla con la programacin. El proceso de resolucin de problemas en programacin implica varios pasos clave para abordar eficazmente los desafos tcnicos, inicialmente, se puede descomponer el problema en partes ms pequeas y manejables, para facilitar su comprensin y tratamiento, posteriormente, se disea un algoritmo que servir de base para la implementacin del cdigo, de esta manera se puede asegurar que cada proceso sirve para la consecucin del objetivo final. Todos estos pasos requieren una evaluacin crtica de las ventajas y desventajas que se presentan en cada enfoque.

Por otra parte, la programacin obliga a mejorar la capacidad para cuestionar y analizar en profundidad los problemas propuestos, evitando tener soluciones superficiales que, como consecuencia, pierdan la sostenibilidad en el tiempo y presenten serias dificultades para su correccin y mantenimiento.

Como es evidente, los fundamentos de programacin, contribuyen de una forma efectiva al desarrollo del pensamiento crtico, ya que el programador debe comprender el problema al que se enfrenta, para luego razonar sobre el mismo y sus posibles alternativas de solucin, la reflexin es necesaria en todo momento para indicar al individuo que es lo que debe hacer, que estructuras de programacin utilizar, que tipos de datos debe declarar, cual es el flujo de la informacin y como se va transformando la misma, cules son los datos de prueba con sus entradas y las salidas esperadas, que procesos elaborar, todo este conjunto de cuestionamientos pueden tener una respuesta efectiva mediante la aplicacin del pensamiento crtico.

 

Atencin al Detalle

La atencin al detalle es una capacidad cognitiva fundamental del ser humano, que permite enfocarse en los elementos especficos de una tarea, facilitando la identificacin y correccin de errores potenciales. Evitar la distraccin, mientras se mantiene la concentracin en detalles especficos, es una manifestacin de poseer la habilidad de atencin al detalle (Frontiers, 2024; Forage, 2023).

En programacin, la precisin es de suma importancia ya que, incluso desde los errores ms pequeos, como la ausencia de una coma, un nombre de variable incorrecto, hasta errores ms grandes como un llamado a funcin omitiendo parmetros, pueden causar fallos en el programa. Frente a esta necesidad de precisin el programador, por obligacin, debe mejorar la atencin al detalle. De esta manera la programacin contribuye para que el encargado de escribir cdigo, lo haga de una forma meticulosa, precisa y consciente, desarrollando una habilidad que es valiosa no solo en la programacin, sino tambin en cualquier tarea que requiera atencin al detalle.

Por otra parte, la realizacin de las pruebas y depuracin, para los programadores novatos, requiere de mucha concentracin, para ir verificando paso a paso el flujo de la informacin, mientras se colocan valores a las variables de acuerdo a cada instruccin, as mismo se requiere entender y aplicar las diferentes estructuras de control para que una entrada se convierta en una salida correcta. Se puede hacer uso de la prueba de escritorio. Los procesos de mantenimiento, por su parte, demandan de mltiples habilidades, desde conocer el lenguaje de programacin utilizado, hasta comprender al detalle la lgica de la programacin empleada en el cdigo que est revisando. Todo lo expuesto, demuestra de que, a travs de los fundamentos de programacin, se puede desarrollar las habilidades de atencin al detalle.

 

 

 

Pensamiento Algortmico

En prrafos anteriores ya se defini el trmino algoritmo, como el conjunto de instrucciones, lgicas, secuenciales y ordenadas que permiten resolver un problema o realizar una accin especfica, bajo este concepto, la programacin, obligatoriamente, ensea a pensar en trminos de algoritmos. Esta habilidad fortalece al pensamiento computacional y tiene aplicaciones que estn ms all de la programacin.

El pensamiento algortmico contribuye a resolver problemas complejos de manera estructurada y lgica, facilitando su resolucin, dichos problemas, pueden salirse del mbito de la computacin, sin embargo, este tipo de pensamiento, sigue siendo efectivo, por ejemplo en el campo de la medicina, un mdico experto, puede crear un algoritmo que contenga todas las instrucciones necesarias para realizar una intervencin quirrgica, con xito, en este caso no se requiere un computador, para implementar las ordenes y luego probarlas, ser otro mdico quien siga paso a paso todas las instrucciones para cumplir el objetivo planteado.

De esta manera, es evidente, que el pensamiento algortmico en todas sus concepciones y con todas sus caractersticas, contribuye a desarrollar el pensamiento del ser humano.

Materiales y mtodos

La presente investigacin es de carcter exploratorio y descriptivo. Para llevarla a cabo, se realiz un estudio bibliogrfico que aborda dos temas principales: los fundamentos de la programacin y el desarrollo del pensamiento. El tratamiento de la informacin se dividi en cuatro etapas. En la primera, se evalu la validez y calidad de los autores y publicaciones seleccionadas, se identificaron las fuentes primarias por su contribucin novedosa al rea de conocimiento, y se definieron las fuentes secundarias en funcin de su interpretacin y posible reorganizacin de la informacin primaria, adems de analizar la informacin complementaria. En la segunda etapa, se valid, filtr y seleccion la informacin, purgando los contenidos segn los autores y textos relevantes ya identificados. La tercera etapa consisti en organizar, ordenar y redactar los contenidos seleccionados para el trabajo. Finalmente, la cuarta etapa se centr en desarrollar la propuesta resultante del anlisis de cmo los fundamentos de programacin se aplican al desarrollo del pensamiento.

La investigacin exploratoria busca comprender la relacin entre los fundamentos de programacin y el desarrollo del pensamiento, mientras que la investigacin descriptiva se enfoca en analizar las caractersticas y detalles de los fenmenos o elementos estudiados. Este enfoque es til en las primeras fases de la investigacin, ya que permite definir y resumir en lugar de clasificar o dividir. La investigacin proporciona directrices para aplicar las teoras de fundamentos de programacin hacia una aproximacin al desarrollo del pensamiento. Para la revisin bibliogrfica, seleccin de autores y curacin de contenidos, se utiliz el mtodo deductivo, que parte de las generalidades para llegar a las particularidades de los conceptos, procesos, medios y elementos relacionados con los temas principales.

Resultados y discusiones

Resultados

Al analizar toda la temtica sobre fundamentos de programacin y su impacto en el desarrollo del pensamiento se han encontrado varios hallazgos muy significativos. Como una primera parte, se identific, que los conceptos bsicos de programacin, como algoritmos, estructuras de control, estructuras de datos y lgica de programacin, juegan un papel muy importante en el desarrollo de habilidades cognitivas. Los estudios revisados, indican que la resolucin de problemas basados en los fundamentos de programacin y representados por los algoritmos, mejoran las habilidades del pensamiento computacional, crtico, lgico, algortmico, habilidades para la resolucin de problemas y atencin al detalle, estas habilidades no solamente son aplicables para el diseo e implementacin de programas de computadora, sino que pueden aplicarse a cualquier rea del conocimiento.

Como una segunda parte, se evidenci que mediante el aprendizaje de la programacin se favorece a la capacidad de descomponer problemas complejos en partes ms pequeas y manejables, una habilidad esencial para el desarrollo del pensamiento analtico.

Como una tercera parte, la investigacin demuestra que la programacin fortalece la capacidad para pensar de manera abstracta y generalizar soluciones, aplicado al diseo de algoritmos, implica que el programador, debe estar en capacidad de abstraer elementos, objetos, conceptos, etc. del mundo real hacia el programa y por otra parte, entender que un algoritmo debe ser general, es decir que debe funcionar para todos los casos y entregar respuestas correctas, para un conjunto de datos de entrada determinados.

El uso de lenguajes de programacin fortalece las habilidades de atencin al detalle, de esta manera se consigue disear algoritmos coherentes, lgicos y evitar errores de programacin como fallas en la sintaxis, por ejemplo, hay lenguajes que utilizan un punto y como para terminar una instruccin, en este caso, olvidarse de colocar el punto y coma al finalizar la instruccin, es un error de sintaxis, las pruebas y depuracin, por sus caractersticas, colaboran al desarrollo de la atencin al detalle.

El pensamiento algortmico y computacional son muy cercanos y comparten caractersticas como el orden, la lgica, la secuencia, atributos que ayudan a una adecuada descomposicin del problema, para lograr una mejor comprensin del mismo, as el desarrollo del pensamiento con la ayuda de estas herramientas permite al individuo, comprender su entorno y adaptarse a l sin dificultades, con propsitos de resolver problemas o alcanzar objetivos.

De lo expuesto en prrafos anteriores, se extraen las ideas fundamentales de lo que seran, los elementos de los fundamentos de programacin, trabajando para conseguir un desarrollo del pensamiento ptimo, en la tabla a continuacin se vincula estos dos conceptos macro.

Aproximacin: Fundamentos de Programacin Desarrollo del Pensamiento.

 

Fundamentos de Programacin

Desarrollo del Pensamiento

Descripcin

Algoritmos

Pensamiento lgico y secuencial

Fomenta la habilidad para disear pasos lgicos y ordenados en la resolucin de problemas.

Estructuras de Datos

Organizacin y estructura de la informacin

Contribuye para comprender cmo organizar, almacenar y acceder a la informacin de manera eficiente.

Lgica de Programacin

Razonamiento crtico y deductivo

Desarrolla la capacidad de aplicar reglas lgicas para tomar decisiones y resolver problemas complejos.

Modularidad (Funciones y procedimientos)

Descomposicin y abstraccin

Potencia la habilidad para dividir problemas complejos en partes ms pequeas y manejables.

Depuracin (Debugging)

Pensamiento crtico y resolucin de problemas

Fomenta la capacidad de identificar errores, analizarlos y aplicar soluciones correctivas.

Paradigmas de Programacin (POO, Funcional, etc.)

Pensamiento abstracto y adaptabilidad

Promueve la habilidad para trabajar con conceptos abstractos y aplicar diferentes enfoques para resolver un mismo problema.

Eficiencia y Optimizacin

Pensamiento analtico y toma de decisiones

Desarrolla la capacidad de evaluar distintas soluciones y elegir la ms eficiente en trminos de recursos y tiempo.

Sintaxis y Semntica

Precisin y atencin al detalle

Refuerza la importancia de la precisin en la escritura y comprensin de instrucciones para evitar errores.

Recursividad

Pensamiento recursivo y resolucin de problemas complejos

Facilita el entendimiento para resolver problemas donde un segmento de cdigo se llama a s mismo, de forma recursiva.

Fuente: Elaboracin propia

 

Las estructuras de control, permiten al programa, controlar el flujo de la informacin, determinando los cambios a los que se someten las variables y estructuras de datos, en cada siguiente instruccin, visto de esta manera, el uso de las estructuras de control, son una forma eficiente de conseguir un desarrollo del pensamiento efectivo, en diferentes mbitos, tal como lo demuestra la siguiente tabla.

Estructuras de control: Una aproximacin al desarrollo del pensamiento.

 

Estructuras de Control

Desarrollo del Pensamiento

Descripcin

Secuencial

Pensamiento secuencial y ordenado

Desarrolla la capacidad de seguir y ejecutar instrucciones en un orden especfico, fortaleciendo el pensamiento lineal.

Condicionales (if, else, switch)

Razonamiento lgico y toma de decisiones

Potencia la habilidad para evaluar condiciones y tomar decisiones basadas en criterios lgicos, promoviendo el pensamiento crtico.

Bucles (for, while, do-while)

Pensamiento iterativo y resolucin sistemtica

Fomenta la capacidad de repetir procesos hasta alcanzar un resultado deseado, mejorando la perseverancia y el pensamiento sistemtico.

Estructuras de Control Anidadas

Pensamiento jerrquico y organizacin

Ayuda a comprender la complejidad de problemas mediante la organizacin de decisiones dentro de otras decisiones, fortaleciendo el pensamiento jerrquico.

Recursividad

Pensamiento recursivo y descomposicin

Facilita la comprensin de problemas en los que una solucin se basa en resolver una versin ms pequea del mismo problema, promoviendo el pensamiento inductivo.

Interrupciones y Excepciones (try, catch)

Adaptabilidad y manejo de la incertidumbre

Desarrolla la capacidad de anticipar y manejar situaciones imprevistas o errores, mejorando la adaptabilidad y la capacidad para enfrentar la incertidumbre.

Control de Flujo (break, continue)

Flexibilidad y toma de decisiones rpida

Fomenta la habilidad para modificar el flujo de ejecucin en respuesta a condiciones especficas, promoviendo la flexibilidad mental.

Fuente: Elaboracin propia

 

Discusin

Los resultados enfatizan la relacin positiva entre los fundamentos de programacin y el desarrollo del pensamiento, dando lugar a la hiptesis, de que la programacin no solamente es una habilidad tcnica, sino que tambin puede ser una herramienta eficaz, para mejorar el pensamiento lgico, computacional, crtico y algortmico. La capacidad de descomponer problemas complejos en pasos lgicos y la habilidad para pensar de manera abstracta se ven reforzadas por el aprendizaje de la programacin, lo cual es consistente con teoras cognitivas que sugieren que la prctica en un campo especfico puede desarrollar habilidades generales de pensamiento.

Sin embargo, es importante reconocer que el impacto de la programacin en el desarrollo del pensamiento puede variar dependiendo de la metodologa de enseanza y del contexto educativo. La investigacin sugiere que una enseanza efectiva de la programacin debe enfocarse en la resolucin de problemas y en la aplicacin prctica de conceptos, en lugar de centrarse exclusivamente en la memorizacin de sintaxis o en la ejecucin de ejercicios repetitivos.

Se ha encontrado tambin, que, la relacin entre la programacin y el desarrollo del pensamiento requiere una evaluacin continua y adaptativa. Las herramientas y enfoques pedaggicos, deben apuntar hacia los avances en el campo de la programacin, as como tambin a las necesidades en constante cambio, por parte de los estudiantes. Una propuesta efectiva sera la integracin de tcnicas de programacin en el currculo educativo, un proceso que debe ser cuidadosamente diseado para potenciar el desarrollo del pensamiento y facilitar la transferencia de habilidades a otros campos del conocimiento.

La programacin ofrece un enfoque valioso para el desarrollo del pensamiento, proporcionando a los estudiantes herramientas y tcnicas que fomentan habilidades cognitivas esenciales. La implementacin efectiva, de los fundamentos de programacin en la educacin, puede mejorar las competencias tcnicas y tambin enriquecer el pensamiento crtico y analtico de los estudiantes.

 

 

 

Conclusiones

Al constituirse, el desarrollo del pensamiento, como un proceso socio cultural, est en constante evolucin y mejora sus capacidades cognitivas con el paso del tiempo, tambin puede verse afectado de forma positiva cuando se apoya en herramientas y metodologas que desafan y expanden las capacidades del pensamiento. Vinculando a este concepto las teoras de fundamentos de programacin, se puede afirmar que estas, fomentan un pensamiento ms estructurado, crtico y abstracto. A medida que el ser humano se enfrenta a problemas de programacin, desarrolla habilidades esenciales para descomponer problemas complejos, tomar decisiones y generar soluciones innovadoras. Esta evolucin cognitiva demuestra que la programacin no solo es una competencia tcnica, sino tambin una poderosa herramienta para fortalecer y enriquecer el pensamiento a lo largo del tiempo, preparando a la persona para los desafos futuros en diversos campos.

Los fundamentos de programacin, como la lgica, las estructuras de control y la descomposicin de problemas, se han incorporado como elementos clave en el desarrollo del pensamiento. A travs de la prctica de programacin, los estudiantes no solo adquieren habilidades tcnicas, sino que tambin mejoran su capacidad para pensar de manera lgica, crtica y estructurada. Los hallazgos de esta investigacin evidencian que la programacin acta como un catalizador para el desarrollo del pensamiento abstracto y sistmico, permitiendo a los estudiantes abordar problemas complejos con mayor eficacia. La vinculacin entre la programacin y el desarrollo del pensamiento, demuestra la importancia de integrar en el currculo las tcnicas de programacin, con el propsito de preparar a los estudiantes para enfrentar desafos ayudados de un pensamiento ms robusto y adaptable.

Los fundamentos de programacin ofrecen una aproximacin importante al desarrollo del pensamiento, proporcionando herramientas y mtodos que fortalecen habilidades cognitivas fundamentales. A travs del aprendizaje y la aplicacin de conceptos como la lgica, las estructuras de control y la resolucin de problemas, se promueve un pensamiento ms crtico, abstracto y sistemtico. Finalmente, los fundamentos de programacin se perfilan como un enfoque integral y valioso para el desarrollo del pensamiento teniendo en cuenta que este es un constructo socio cultural.

 

 

Referencias

      1.            Pomeroy, A. (2007). The abacus: A history of the world's first computing machine. Princeton University Press.

      2.            Stallings, W. (2021). Computer Organization and Architecture. Pearson. (Captulos sobre lenguaje ensamblador y arquitectura de computadoras).

      3.            Patterson, D. A., & Hennessy, J. L. (2021). Computer Organization and Design: The Hardware/Software Interface. Morgan Kaufmann. (Captulo sobre ensamblador y lenguaje de mquina).

      4.            Lutz, M. (2023). Learning Python. O'Reilly Media. (Referencia fundamental para Python, un lenguaje de alto nivel muy popular).

      5.            Bloch, J. (2018). Effective Java. Addison-Wesley. (Gua avanzada sobre las mejores prcticas en Java).

      6.            Stroustrup, B. (2013). The C++ Programming Language. Addison-Wesley. (Libro fundamental sobre C++, un lenguaje de alto nivel con capacidades de bajo nivel).

      7.            Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2022). Introduction to Algorithms (4th ed.). MIT Press.

      8.            Heineman, G. T., Pollice, G., & Selkow, S. (2016). Algorithms in a Nutshell (2nd ed.). O'Reilly Media.

      9.            Knuth, D. E. (2011). The Art of Computer Programming, Volume 1: Fundamental Algorithms (3rd ed.). Addison-Wesley.

  10.            Aho, A. V., Hopcroft, J. E., & Ullman, J. D. (2020). Data Structures and Algorithms (3rd ed.). Addison-Wesley.

  11.            Tanenbaum, A. S. (2016). Structured Computer Organization (6th ed., pp. 114-116). Pearson.

  12.            Lafore, R. (2017). Data Structures and Algorithms in Java (3rd ed., pp. 112-115). Sams Publishing.

  13.            Weiss, M. A. (2013). Data Structures and Algorithm Analysis in C++ (4th ed., pp. 45-48). Pearson.

  14.            Piaget, J. (1952). The origins of intelligence in children (Vol. 8). International Universities Press.

  15.            Vygotsky, L. S. (1978). Mind in society: The development of higher psychological processes (M. Cole, V. John-Steiner, S. Scribner, & E. Souberman, Eds. & Trans.). Harvard University Press.

  16.            Gardner, H. (1983). Frames of mind: The theory of multiple intelligences (10th ed.). Basic Books.

  17.            Wing, J. M. (2006). Computational thinking. Communications of the ACM, 49(3), 33-35.

  18.            Papert, S. (1980). Mindstorms: Children, computers, and powerful ideas. Basic Books.

  19.            Martinez Ruiz, J. E., Cardenas Rodriguez, M. M., Junco Rosario, G. L., & Cabezas Cabezas, H. S. (2023). El desarrollo del pensamiento lgico a travs del proceso de aprendizaje en los estudiantes universitarios. https://doi.org/10.5281/zenodo.10420749

  20.            Copi, I. M., Cohen, C., & McMahon, K. (2014). Introduction to logic (14th ed.). Pearson

  21.            Jonassen, D. H. (2000). Toward a design theory of problem solving. Educational Technology Research and Development, 48(4), 63-85. https://doi.org/10.1007/BF02300500

  22.            Facione, P. A. (1990). Critical thinking: A statement of expert consensus for purposes of educational assessment and instruction. The California Academic Press.

  23.            Frontiers. (2024). Attention in Psychology, Neuroscience, and Machine Learning. Frontiers Media SA. Recuperado de https://www.frontiersin.org/articles/10.3389/fnins.2020.00023/full.

  24.            Forage. (2023). Attention to Detail: Definition and Examples. Recuperado de https://www.theforage.com/blog.

 

 

 

 

 

 

2024 por los autores. Este artculo es de acceso abierto y distribuido segn los trminos y condiciones de la licencia Creative Commons Atribucin-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0)

(https://creativecommons.org/licenses/by-nc-sa/4.0/).

 

 

Enlaces de Referencia

  • Por el momento, no existen enlaces de referencia
';





Polo del Conocimiento              

Revista Científico-Académica Multidisciplinaria

ISSN: 2550-682X

Casa Editora del Polo                                                 

Manta - Ecuador       

Dirección: Ciudadela El Palmar, II Etapa,  Manta - Manabí - Ecuador.

Código Postal: 130801

Teléfonos: 056051775/0991871420

Email: polodelconocimientorevista@gmail.com / director@polodelconocimiento.com

URL: https://www.polodelconocimiento.com/