Dado que la mejor manera de aprender es trabajar en proyectos, ¿cuáles son algunos buenos programas para intentar hacerse con el propósito de mejorar ciertas habilidades de programación o aprender un nuevo idioma?
Encontré que los siguientes programas dan un buen comienzo con nuevos idiomas:
El juego de la vida de Conway
Fácil de implementar. Le da un buen comienzo con el uso simple de clases de contenedor. No necesariamente necesita gráficos para la salida de resultados.
Además, podría escribir una versión en 3D y usar un motor de juego para la salida (por ejemplo, algo simple como Panda3D)
Solucionador de Sudoku
Ligeramente más complejo. La complejidad se puede ajustar a sus necesidades. O simplemente cancele los números y pare cuando ya no sea posible, o continúe e implemente un árbol de búsqueda para resolver problemas más complejos. Los problemas y soluciones para Sudokus en todos los niveles de dificultad para probar su programa están disponibles en la web en abundancia. Lo mismo para el material sobre posibles estrategias.
Problemas en todos los niveles de dificultad que pueda desear. Y compare sus soluciones con las de programadores experimentados en todos los lenguajes de programación principales.
No estoy seguro de lo que quieres decir con "¿cuáles son algunos buenos programas para probar ...", pero puedo recomendar el libro "siete idiomas en siete semanas"
Te da un buen punto de partida para probar nuevos idiomas.
Simplemente inicie sesión en cualquiera de los siguientes sitios y vea si está a la altura de los desafíos de codificación que presentan: SPOJ , TOPCODER , etc.
La mayoría de estos sitios le proporcionaron la opción de codificar en múltiples lenguajes de programación para que pueda usar el que está más familiarizado.
Y si eres un maestro en tu juego, siempre hay ICPC .
Diría que cualquier proyecto que cumpla con los siguientes tres requisitos:
Para principiantes
Manipulación de cuerdas:
Base de datos:
Manipulación de números aleatorios:
Matriz y Gráficos Básicos
Cualquier cosa que te guste lo suficiente como para seguir haciendo. La mayor parte del aprendizaje se realiza en ese último 1% que generalmente se ignora en un proyecto paralelo, pero es una parte muy importante de un producto de trabajo.
Como resultado, es una elección muy personal lo que podría ser el proyecto. Es por eso que hay tantos grandes proyectos de SO por ahí, y por qué todos dicen que importan tanto cuando están en su currículum vitae: esa persona trabajó duro en eso y aprendió mucho trabajando en ese último 1% para hacer Puede ser utilizado por otros y disfruta de lo que hacen.