¿Cuál es la mejor manera de enseñarme a resolver problemas con algoritmos en Java Script? Ese es mi problema número uno hasta ahora. Soy un principiante, obviamente.

Esa es una pregunta de un millón de dólares, perdón por el cliché.

Entonces su problema número uno es no saber cómo resolver el problema. JavaScript puede eliminarse de esta ecuación de inmediato: es irrelevante, por ahora, una variable ruidosa, ya que es una herramienta para la resolución de problemas, así que centrémonos en la pregunta principal aquí.

Si solo hubiera LA MEJOR manera, es decir, la forma en que todos pueden usar y los beneficios se maximizan para cada individuo, utilizando ese enfoque único.

El problema está listo para resolver cuando:

  • sabes de qué se trata el problema.
  • usted, al menos aproximadamente, conoce los dominios del problema y los recursos que puede necesitar buscar, si no lo hace, comience aquí.
  • Entiendes el problema.

Tal vez alguien más responderá y habrá ese Santo Grial de métodos, pero aún no lo he encontrado.

Entonces esto es lo que hago:

Prepara dos iteraciones. Gran iteración y pequeña iteración.

Pequeño:

  • Hágase preguntas en voz alta, las respuestas que no sabe. Si te sientes raro o tímido, pídele ayuda a un amigo. Personalmente, tengo a Gustav, lo compré por £ 3. Él es bueno para contrarrestar mis propuestas y hacer buenas preguntas a cambio. En serio, solo intercambias ideas sobre lo que viene.

  • Escribe cosas, haz dibujos, crea diagramas.
  • Romper las cosas. Complicado en complejo, luego complejo en simple.
  • Crea dos “canastas problemáticas”. Cosas simples que sabes, pero no sabes qué hacer con ellas, y cosas simples que no sabes.
  • Cosas simples que no sabes: investigación.
  • Ahora, cuando supuestamente lo sabes todo, habla con Gustav sobre tus próximos pasos. ¿Que dijo? Combina los aspectos del problema. Combinaciones de investigación.
  • Probar cosas
  • Fallar, repetir.
  • Si no se encuentra la solución, repetiría aproximadamente 2-3 soluciones en la misma paleta, antes de comenzar desde cero y tener en cuenta mi experiencia, para que no se repitan los mismos errores.

Grande:

  • 2–3 iteraciones pequeñas.
  • Tómate un descanso, habla con la gente sobre lo que haces. Gustav, desafortunadamente no ayudará.
  • Ir a caminar / correr / ducharse / cualquier cosa monótona.
  • Cambie el problema mental por completo. Aprenda una lección de idioma extranjero, lea un libro sobre algo no relacionado. Tal vez escriba una respuesta sobre Quora …

  • Repetir.

Aquí hay un poco de oro que encontré para mí hasta ahora. Lleve un diario de sus intentos, materiales utilizados y pensamientos originales. Cuando encuentra una respuesta, es fácil suponer que TODO ese esfuerzo mental fue necesario para resolver su problema, pero realmente necesitaba estos tres:

  • trabajo de fondo.
  • chispa inicial
  • trabajo duro para llevar los resultados a casa.

Y ahí es cuando el diario es un filtro perfecto.

El trabajo de fondo, que no funcionó, debe analizarse y comprenderse por qué no fue útil; en intentos posteriores – eliminado.

Se pueden recrear los sentimientos y la atmósfera de la chispa. Tal vez eres un genio mientras corres, bueno, maratones, ¡aquí voy!

El trabajo duro puede ser optimizado.

Espero que esto ayude. Ahora puede devolver JavaScript a esto y obtener grietas.

¡La mejor de las suertes!

PD: ¡Dios mío, casi lo olvido! Lea libros sobre resolución de problemas y hable con las personas sobre cómo abordan las cosas. Pruébalos también. Desafortunadamente, Gustav no ayudará aquí, pero creo que lo sabes.

Teniendo en cuenta que ha comenzado eligiendo un idioma (‘JavaScript’, una palabra, evite la confusión con Java, que es algo completamente diferente), supongo que está pensando en un tipo muy específico de problemas para resolver.

En general, siga el método de aprendizaje que generalmente funciona mejor para usted. Ya sea que esté leyendo un libro de principio a fin, viendo videos y probando cosas por sí mismo o simplemente trabajando en un problema desde cero y descubriendo las cosas a medida que se topa con ellos.

Al elegir JavaScript, ha elegido uno de los idiomas más fáciles y más comunes, con el software requerido para escribir y ejecutarlo disponible en prácticamente cualquier computadora hoy en día. Pero también ha elegido un lenguaje que puede ser terco y difícil de desarrollar, con bibliotecas que cambian rápidamente, paradigmas conflictivos y cadenas de herramientas complicadas involucradas en la escritura de aplicaciones más grandes.

Si le interesan los algoritmos básicos y no tanto el desarrollo web, es mejor que utilice un lenguaje como Python. Si su interés está en el desarrollo web, simplemente comience a hacer algo que le gustaría hacer y aprenda a resolver problemas a medida que avanza. Encontrará suficientes para obtener una buena comprensión básica de los tipos de problemas que son típicos, lo que será un mejor punto de partida para un enfoque más teórico o completo. Si su interés está en el aprendizaje en sí mismo, considere uno de los excelentes cursos (a menudo gratuitos) sobre informática que se imparten en muchos idiomas, por ejemplo, en algunos de ellos JavaScript.

Bueno, nada puede enseñar a resolver problemas. La capacidad de resolver problemas proviene de una experiencia de mezcla y creatividad natural. ¡Lo mejor que puede hacer para mejorar en la resolución de problemas es resolverlos! Dicho esto, Eloquent JavaScript es un buen buen libro sobre JavaScript que presenta muchas técnicas de programación comunes e intenta hacer que el lector piense como un verdadero programador. Es un buen lugar para comenzar como cualquier otro.

Anexo: otra buena forma de aprender a resolver problemas (además de los algoritmos) es encontrar un problema que realmente desee resolver. Nada estimula la creatividad como una inversión personal.

Khan Academy proporciona una ruta de aprendizaje de algoritmos donde los problemas se implementan en Javascript. ¡Ve a verlo!