logic - equal - struts 1 tags
¿Cómo ayudas a las personas a aprender la lógica? (9)
Artículo relacionado en codinghorror.com :
Separación de ovejas de programación de cabras no programadas
Todos los profesores de programación encuentran que sus resultados muestran una "doble joroba". Es como si hubiera dos poblaciones: las que pueden [programar] y las que no pueden [programar], cada una con su propia curva de campana independiente. Casi todas las investigaciones sobre programación, enseñanza y aprendizaje se han concentrado en la enseñanza: cambiar el idioma, cambiar el área de aplicación, usar un IDE y trabajar en la motivación. Nada de eso funciona, y la doble joroba persiste.
Extracto del extracto de arriba: La especulación es que cualquier cosa que hagas no funcionará si una persona no puede programar desde el principio.
Para escribir un programa de computadora tienes que aceptarlo, aceptar que sea lo que sea lo que quieras que signifique el programa, la máquina seguirá ciegamente sus reglas sin sentido y llegará a alguna conclusión sin sentido. En la prueba, el grupo consistente mostró una aceptación previa de este hecho: es capaz de ver los problemas matemáticos de cálculo en términos de reglas, y puede seguir esas reglas donde quiera que conduzcan. El grupo inconsistente, por otro lado, busca significado donde no lo es . El grupo en blanco sabe que está mirando la falta de sentido y se niega a lidiar con eso.
Mi propuesta de solución irónica: convertirlos al ateísmo / nihilismo. De esta forma, no tratarán de buscar el significado donde no es [sic] y quizás luego acepten el término binario.
Las personas que no son TI, más específicamente programadores, no tienen una buena manera de resolver problemas. Simplemente no piensan como nosotros, programadores, que tienen una buena lógica . Muchas veces me han preguntado qué recomendaría para mejorar su lógica, lo que eventualmente ayudaría con los problemas profesionales del día a día. Las cosas que me vienen a la mente son buenos acertijos, problemas matemáticos, etc.
Habiendo dicho eso, ¿qué recomendarías y por qué? Libros, sitios, artículos?
Descubrí que si sigues pensando y siempre intentas resolver acertijos, incluso los más estúpidos, de una forma ordenada, interesante, optimizada, enorme, pequeña, casi de cualquier forma, entonces te mantienes fuerte. Además, leer las soluciones de otros ayuda a señalar cosas que no habrías pensado que a la larga te dan esta "caja de herramientas" de métodos que podrían aplicarse en situaciones similares o incluso diferentes.
Dudo que el cableado sea genético, es más probable que esté impreso socialmente en el cerebro durante la infancia. Algunos niños hacen acertijos y otros no, los que hacen muchos acertijos estarán mejor preparados, pero como menciona Bill the Lizard, creo que cualquiera puede volver a entrenar su cerebro para resolver rompecabezas de forma abstracta.
La mayoría de las personas que no piensan como geeks tampoco quieren realmente pensar como geeks.
Pero parte de la solución de un problema es dividirlo en partes más pequeñas, cada una de las cuales es un problema fácil de resolver. Si pueden aprender cómo dividir un problema en trozos manejables, estarán en camino de, al menos, mejorar algunas partes de la solución de problemas parecidos a los geek.
En cuanto a la lógica, recuérdales la ley de la no contradicción: A! =! A. Una cosa no puede ser verdadera y falsa al mismo tiempo. Pasamos demasiado tiempo sin siquiera intentar pensar con claridad.
Las personas siempre pueden mejorar su habilidad para resolver problemas con la práctica, pero (imo) solo hasta cierto punto. Algunas personas nunca pensarán así. Simplemente no estaban conectados de esa manera desde el nacimiento. No creo que tengamos mucho control sobre nuestro potencial innato, solo lo que hacemos con él.
Recomiendo Sudoku y juegos como Brain Age para la mayoría de los no programadores.
Este es uno de los mejores sitios de falacia lógica que he encontrado en la web.
Recomendaría este sitio a cualquiera que esté interesado en la naturaleza informal del lenguaje. Los ejemplos en el sitio para cada tipo de falacia lógica son, en su mayoría, muy buenos y te garantizo que aprenderás algo. Adelante a lo largo.
nmr
Había reprobado la programación del primer semestre aproximadamente 3 veces, luego probé un curso en línea utilizando desesperadamente métodos de aprendizaje "programados".
Me ayudó a superar la "joroba" al ayudarme a entender la programación (creo) al proporcionar el contexto y las motivaciones para algunas de las construcciones lógicas de programación más comunes (realmente simples para ustedes).
Horas de práctica "ejecutar" programas de juguete en papel para diferentes problemas después finalmente terminaron mi absoluta confusión sobre este tema.
El enlace al curso introductorio gratuito de CS que emplea este enfoque programado que yo había usado (mientras abandonaba a mi profesor habitual) es:
http://chortle.ccsu.edu/CS151/cs151java.html
Todavía estaba perplejo por los problemas de nivel de examen al usar stacks, colas y recursión (usamos C en nuestros cursos, pero creo que realmente no importó en el análisis final).
Al final, no me molesté con una especialización en CS, ya que habría tardado una eternidad (probablemente de 2 a 3 años más) dado mi nivel de habilidad.
Debería haber prestado atención a esos libros de acertijos cuando era pequeño. Yo era más un fanático de LEGO luego :)
Los instructores de CS (aquellos que solo hablan y hablan) deben ser un poco más pacientes, algunos de nosotros no somos buenos aprendices verbales.
Sin pensarlo dos veces, no todos podemos ser grandes escritores, pero eso no impide que uno aprenda (o enseñe) cómo escribir bien. Creo que lo mismo ocurre con la programación de computadoras en la era de la información.
No soy tan bueno en la lógica, una vez recuerdo que tenía un problema en el que quería eliminar algo de una matriz, alguien vino y me dijo "¿por qué no creas uno nuevo pero excluyes los elementos que quieres eliminar? " . Me sentí realmente avergonzado, quiero decir, esa solución es perfecta, después de todo, cada enfoque necesitaría iterar en cada elemento, ¿por qué no simplemente hacer eso y copiarlos en un nuevo arreglo, pero excluyendo los no deseados?
Pero volviendo a la pregunta, algunas de las cosas que recomiendo son:
- Jugando al Ajedrez (esto realmente te ayuda en la vida, si juegas con frecuencia, automáticamente comenzarás a considerar diferentes alternativas a diferentes problemas y los reducirás a los mejores)
- Resolviendo Sudokus (esto es muy bueno para las habilidades de deducción)
Otro ejercicio que realmente mejoró mis habilidades lógicas fue establecer una tarea fácil de programación, y luego tratar de resolverlo de 3 a 5 formas diferentes.