¿Cómo creo más interés en la programación y soy un buen programador en algoritmos?

Pista: cuando use un software, piense cómo funciona, desde el nivel arquitectónico hasta el nivel de implementación (aquí es donde los algoritmos y las estructuras de datos aparecen).

  1. ¿Cómo funciona Google Map? Si da los puntos de inicio y finalización, ¿cómo muestra la ruta? ¿Cómo decide la ruta óptima? ¿Cómo le muestra los restaurantes, cajeros automáticos, etc. más cercanos?
  2. ¿Cómo se implementan los motores de física en los juegos? ¿Cómo se detectan las colisiones? ¿Cómo se simulan las fuerzas? En general, los motores de juego tienen que ser extremadamente rápidos y en juegos con muchos gráficos detallados (como Call of Duty o Skyrim), los cálculos y la representación deben ser muy rápidos. ¿Cómo se las arreglan para hacer eso?
  3. ¿Alguna vez jugaste un juego como Age of Empires o Rise of Nations? ¿Cómo toman decisiones los jugadores de computadora? ¿Cómo se implementan?
  4. Utiliza compiladores e intérpretes para una variedad de tareas. ¿Correcto? ¿Qué se necesita para crear tu propio idioma? ¿Qué hay de hacerlo orientado a objetos, funcional o lógico?
  5. Uno más simple: ¿qué tal escribir un programa para resolver acertijos de Sudoku? Aún más simple: ¿qué tal escribir un bot que juegue Tic-Tac-Toe? Comience de la nada, permita que juegue contra sí mismo y aprenda. Esto es interesante. (como DeepMind?)
  6. ¿Qué tal escribir versiones externas de algoritmos que ya conoces? ¿Piensa cómo puede reducir la cantidad de accesos al disco? ¿Cómo se organizan los datos para lograrlo? Las bases de datos hacen esto.
  7. ¿Qué hay de aprovechar el poder de las GPU y cachés (escribir código de tal manera que se reduzcan las pérdidas de caché)? Comience desde los más simples como la multiplicación de matrices.
  8. ¿Cómo funcionan las herramientas de construcción como Gradle, Maven, GNU Make, etc.? ¿Cómo calculan el orden de compilación, las cosas relacionadas con la dependencia, etc.?

La lista sigue y sigue. Mira la imagen completa. Aquí hay muchas cosas interesantes: tenga en cuenta que es posible que no estén relacionadas con los algoritmos.

More Interesting

¿Cómo funcionan los algoritmos de YouTube?

¿Cuál es la mejor manera de procesar consultas de accesibilidad en un DAG con restricciones?

¿Es c * O (n) = O (n) verdadero?

En este algoritmo de clasificación de radix, ¿qué representa cada variable? (Java)

¿Cómo se puede resolver el problema 'Unos y ceros' en SPOJ usando BFS?

¿Dónde debo comenzar si quiero aprender estructuras de datos y algoritmos?

La inmutabilidad es primordial en la mayoría de los dominios de FP, pero ¿hacen copias superficiales o profundas?

¿Qué aplicación utiliza el algoritmo?

Si una cadena de números contiene todas las demás cadenas de números, ¿eso significa que la cadena también se contiene estrictamente a sí misma?

¿Es correcto mi nuevo estado de ánimo? Ingresé a la programación desde un punto de vista de programación algorítmica y, como tal, tengo una inclinación a querer saber cómo funcionan las cosas debajo. Pero ahora, después de un tiempo en el mundo de los desarrolladores, finalmente tengo que darme cuenta de que se trata menos de eso. ¿Lo que usted dice?

¿Cuál es el significado de la complejidad en el algoritmo?

Cómo ordenar diagonales de una matriz 2D de manera eficiente

¿Cuál es la lógica detrás de los números de una tarjeta de regalo?

¿Debo postularme a trabajos de desarrollo web si puedo construir aplicaciones CRUD pero no asimilo la notación Big O y nunca he trabajado en un proyecto grupal?

¿Existen algoritmos de descenso de gradiente que intenten ajustar valores de datos que representan cada uno un promedio de puntos de datos desconocidos individualmente?