Si empiezo desde cero, ¿cuál es un rango respetable para alcanzar en TopCoder en 6 meses?

Desde cero? ¿Como … un principiante puro? ¿Alguien que nunca antes haya hecho una línea de código y no conoce ningún lenguaje de programación?

Es difícil predecir dónde estará en 6 meses. Puede leer sobre algoritmos y estructuras de datos todo lo que quiera, pero debe implementarlos para mejorar. Esto es especialmente cierto con Topcoder, porque los concursos son muy sensibles al tiempo. Si realmente eres un principiante puro, primero tendrás que aprender un lenguaje de programación, y eso viene con la comprensión de condicionales y funciones y paso por referencia / paso por valor y todo ese jazz.

Olvidé cómo era aprender un lenguaje de programación desde cero, pero recuerdo que me tomó un tiempo y me sentí muy frustrado en el proceso (tal vez no debería haber elegido C ++ como el primero). No sé cuánto tiempo te llevará aprender un idioma. ¿Un mes, en el mejor de los casos?

Hay otras cosas que debes hacer para prepararte para un concurso de algoritmos en general:

  • saber estructuras de datos
  • saber algoritmos
  • Comprender estructuras de datos y algoritmos (conocimiento [matemática] \ neq [/ matemática] comprensión)
  • practicar problemas de implementación
  • Practicar algoritmos clásicos / problemas de estructura de datos
  • practicar problemas de estructura de datos / algoritmos no clásicos
  • problemas de formato de concurso de práctica
  • mejorar en la predicción de casos de prueba
  • ser capaz de juzgar rápidamente si cierto enfoque / implementación es lo suficientemente rápido como para pasar limitaciones de tiempo

Entonces … difícil de decir, especialmente en un período de 6 meses.

Si te diviertes y sigues intentando, cualquier rango que alcances es respetable.

Antes de continuar, primero lea esto:

http://norvig.com/21-days.html

Ahora, 6 meses son más de 21 días, pero aún son muy pocos durante 1o años.

Es posible que haya aprendido un idioma y haya hecho algo con él. incluso puede estar participando en un pequeño proyecto, pero su conocimiento será, en cualquier caso, muy específico para algunas cosas que hizo.

Después de 30 años, cuando me mudo a nuevos proyectos todavía tengo algunos “reiniciar desde cero” cuando me encuentro con algo (alguna API o biblioteca) que utilicé más recientemente o con el que no estoy en contacto desde hace mucho tiempo.

Puedes tener un buen rango, sobre algo … ¡y nada más!