El proceso del pensamiento computacional conduce a enfoques de resolución de problemas. Los enfoques de resolución de problemas son una base de algoritmos que pueden convertirse en código. La resolución de problemas es una habilidad esencial para un informático. Existen varias técnicas de diseño de algoritmos generales, pero no existe una “receta” o una “bolsa de trucos” para resolver cualquier problema. Los estudiantes se vuelven mejores solucionadores de problemas cuando disfrutan del proceso creativo, aprenden técnicas comunes, aprenden de los errores y desarrollan su confianza. principales ideas erróneas que surgen:
- Las personas nacen para ser buenos solucionadores de problemas / rompecabezas o no lo son.
Sí, algunas personas parecen ser solucionadores de problemas / rompecabezas naturales. Sin embargo, los estudiantes trabajadores y persistentes a menudo logran lo mismo. Los estudiantes se convertirán en mejores solucionadores de problemas / rompecabezas mediante la práctica y el aprendizaje de cuándo aplicar técnicas conocidas. - Existen amplios recursos en línea de algoritmos o programas para que siempre que necesite resolver un nuevo problema, pueda encontrar una solución similar. Todo lo que necesito hacer es hacer modificaciones.
Existen algunas técnicas de diseño de algoritmos generales. Puede parecer que hay una bolsa de trucos y técnicas que se pueden usar para resolver cada problema. Por desgracia, este no es el caso. La creación de algoritmos requiere creatividad, así como una comprensión de si las técnicas conocidas se pueden aplicar o modificar y cómo. - La primera solución o algoritmo que aparece es a menudo la mejor.
Típicamente no es cierto. Una primera solución demuestra que hay una solución, pero a menudo son posibles mejoras. - Pensé en una solución el tiempo suficiente y no puedo encontrarla. Probablemente no haya ninguno.
Esa puede ser la actitud de un estudiante demasiado confiado o alguien que no ha participado en muchas actividades de resolución de problemas. Probar que no hay solución es a menudo difícil, si es posible. - Una vez que mi programa funciona en las entradas seleccionadas, puedo estar bastante seguro de que siempre produce la respuesta correcta.
Puede ser una actitud peligrosa con consecuencias que amenazan la vida en el mundo real. La corrección por ejemplo no es corrección. Un programador necesita aprender técnicas efectivas de prueba y depuración para ayudar a garantizar que su solución funcione con la mayoría, si no con todas, las entradas. Incluso después de probar una depuración, la entrada inesperada puede causar problemas. El código de depuración y prueba son desafíos para la industria del software. - Hay poco valor en encontrar soluciones incorrectas.
Se puede aprender mucho de los errores. Puede haber mucha creatividad y valor en soluciones que no son correctas. Uno aprende al comprender dónde fallan (es una forma de depuración). - Si hay dos soluciones diferentes, una suele ser mejor que la otra .
Esto a veces es cierto. Hay mejores y peores soluciones. Sin embargo, a menudo hay varias buenas soluciones para un problema. Una pregunta importante es cómo se define mejor. Muchos problemas tienen múltiples soluciones y lo que es mejor no siempre es fácil de resolver. - Convertir un algoritmo bien especificado en un programa es fácil.
El esfuerzo necesario depende de la experiencia de codificación y del nivel de dificultad del problema. Las tareas algorítmicas aparentemente sencillas a veces resultan ser un desafío para implementar y depurar . - Explicar la solución a un estudiante es tan buena experiencia de aprendizaje como que el estudiante encuentre la solución por sí mismo.
Los estudiantes se vuelven mejores solucionadores de problemas resolviendo problemas, probando lo que funciona y lo que no funciona, sacando conclusiones que amplían sus habilidades de pensamiento algorítmico. Hacer esto por ellos, dándoles soluciones o sugerencias que no dejan espacio para la creatividad, elimina esta experiencia y elimina la experiencia de aprendizaje relacionada.