Lo que hay que hacer para pensar como programador.

  1. ¿Por qué es esto importante?
  2. Encuentra el patrón
  3. 1. entenderla
  4. 2. Plan
  5. 3. Divide el problema en pequeños sub-problemas.
  6. 4. ¿Atascado?
  7. Practica
  8. Nombrado los 5 lenguajes de programación más populares según HackerRank
  9. Cómo convertirse en un programador, si realmente quiere, pero no hay experiencia

¿Qué significa pensar como un programador? De hecho, todo es de una manera más eficiente para resolver problemas. El blogger y desarrollador de aplicaciones móviles Richard Rees dio algunos consejos sobre cómo desarrollar una forma computacional de pensar.

¿Por qué es esto importante?

La resolución de problemas es metanavyk. ¿Cómo lidiamos con ellos? Bastante aleatorio. Si no tiene un sistema, es más probable que "resuelva" los problemas de esta manera:

  1. Prueba la solución.

  2. Si falla, prueba con otro.

  3. Repita el paso dos hasta que tenga suerte.

Así que no lo hagas. Esto es una gran pérdida de tiempo. Necesitas a) encontrar un patrón yb) practicar.

“En primer lugar, casi todos los empleadores observan cómo los empleados resuelven los problemas. Esta habilidad es más importante para ellos que el conocimiento de los lenguajes de programación, la depuración y el diseño del sistema. El pensamiento computacional y la capacidad para hacer frente a problemas grandes y complejos se valoran de la misma manera que las habilidades técnicas básicas necesarias para trabajar, ”- HackerRank (Informe de habilidades del desarrollador 2018).

Encuentra el patrón

“Los programadores novatos a menudo se centran en la sintaxis, no en la resolución de problemas. Y este es el mayor error ”. V. Anton Sproul .

¿Qué debes hacer cuando te enfrentas a un nuevo problema?

1. entenderla

Necesitas saber lo que se requiere de ti. Las tareas parecen complicadas porque no las entiendes. ¿Cómo sabes si entiendes el problema o no? Intenta explicarlo en lenguaje sencillo.

De archivo: Unsplash

Esto sucede con bastante frecuencia: ¿te quedas atascado en una tarea, empiezas a explicarlo y de repente notas deficiencias lógicas? La mayoría de los programadores están familiarizados con este sentimiento. Escriba su problema en un papel o cuéntelo a alguien.

2. Plan

No proceda de inmediato a resolver un problema sin un plan. Nada te ayudará si no escribes los pasos exactos. Dale tiempo al cerebro para analizar el problema y procesar la información. Para hacer un buen plan, responde a esta pregunta:

"Supongamos que hay una X en la entrada. ¿Qué pasos se necesitan para obtener Y en la salida?"

Los programadores tienen una gran herramienta para esto ... ¡Comentarios!

3. Divide el problema en pequeños sub-problemas.

Este es el paso más importante. No intente de inmediato resolver un gran problema. En su lugar, divídalo en pequeños rompecabezas y resuélvalos gradualmente. Comience con lo más simple, es decir, a la que ya conoce la respuesta. Tan pronto como te ocupes de todo, conecta los puntos. Así podrás resolver el problema original.

“Siempre aconsejo a los programadores novatos que simplifiquen el problema. Imaginemos que necesitas escribir un programa que lea diez números y determine cuál será el tercero más grande. Para los principiantes, esta tarea puede parecer muy difícil, a pesar de que su solución requiere el conocimiento de la sintaxis básica. Si te quedas atascado, intenta simplificar el problema. En lugar del tercer número más grande, trata de encontrar el más grande de todos. ¿Todavía duro? Encuentra el mayor número de tres dados. O dos Simplifica el problema hasta que entiendas cómo resolverlo. Luego complique gradualmente la tarea y vuelva a escribir la solución ”, - V. Anton Sprol.

4. ¿Atascado?

Ahora probablemente piense: "Bueno, sí, esto es, por supuesto, genial, pero ¿y si estoy atascado y no puedo resolver ni un pequeño problema?"

De archivo: Unsplash

No te preocupes Les pasa a todos. La diferencia es que los programadores no se enojan cuando se enfrentan a esto. Por el contrario, están interesados ​​en encontrar una solución. Aquí hay tres maneras de hacer esto:

  • Califica de nuevo . Mira el problema desde el otro lado. ¿Hay algo que se pueda presentar de una manera más sencilla?

“A veces nos perdemos en los detalles y nos perdemos los principios generales que ayudarían a resolver el problema más rápido. El ejemplo clásico es la suma de números consecutivos: 1 + 2 + 3 + ... + n. Karl Friedrich Gauss presentó esto en la forma de la expresión n (n + 1) / 2, y no tuvo que realizar cálculos innecesarios ".

Hay otra opción: reescribir completamente el código. Eliminar todo y empezar de nuevo.

  • Explorar No importa qué problema estás tratando de resolver ahora. Alguien ya lo ha hecho antes que tú. Solo necesitas buscar. Haz esto incluso si has resuelto el problema.

Practica

No pienses que en una semana te convertirás en un maestro en este campo. Si quieres resolver bien los problemas, hazlo regularmente. Practica Ajedrez, problemas de matemáticas, sudoku, go, monopolio, videojuegos, criptocóticos: todo esto te ayudará a perfeccionar tus habilidades de resolución de problemas. La gente famosa hace eso también. Por ejemplo, Peter Thiel juega al ajedrez, e Ilon Musk. en videojuegos .

"Ilon Musk, Reed Hoffman, Mark Zuckerberg y otros argumentan que los juegos sentaron las bases de su éxito" - Mary meeker .

¿Eso significa que solo debes jugar videojuegos? En realidad no Por supuesto, todavía necesitas aprender. Encuentra algo donde puedas practicar tus habilidades.

Materiales sobre el tema:

Nombrado los 5 lenguajes de programación más populares según HackerRank

12 signos de un mal programador - identificamos un laico

Cómo convertirse en un programador, si realmente quiere, pero no hay experiencia

Cómo renuncié a mi trabajo como diseñador gráfico y me convertí en desarrollador frontend en cinco meses

¿Encontraste un error tipográfico? Resalta texto y presiona Ctrl + Enter

¿Por qué es esto importante?
4. ¿Atascado?
¿Por qué es esto importante?
¿Cómo lidiamos con ellos?
¿Qué debes hacer cuando te enfrentas a un nuevo problema?
¿Cómo sabes si entiendes el problema o no?
¿Qué pasos se necesitan para obtener Y en la salida?
¿Todavía duro?
4. ¿Atascado?
Ahora probablemente piense: "Bueno, sí, esto es, por supuesto, genial, pero ¿y si estoy atascado y no puedo resolver ni un pequeño problema?
Карта