Estoy buscando un proyecto de programación de descanso semestral, ¿alguna sugerencia?

Hay muchos proyectos que uno puede tomar durante los descansos del semestre. La mayoría de las veces, solía escribir juegos, ya que era divertido escribirlos y probarlos. Pocos de ellos incluyeron juegos de carreras con sprites en J2ME, solucionadores de sudoku, etc. Acabo de escribir algunas cosas a las que tal vez quieras darle una oportunidad.

  • Juegos: los juegos incluyen jugar con estructuras de datos complejas, principalmente árboles y algoritmos como la detección de colisiones que implica una buena cantidad de matemáticas. Intenta escribir un motor de ajedrez. ¡Es bastante desafiante!
  • Software de aplicación como editores, reproductores de mp3, grabadores de sonido, aplicaciones de chat, etc. Escribir estas aplicaciones lo haría sentir cómodo con los sistemas de archivos, estructuras de datos, redes y algoritmos como reducción de ruido, filtros, etc.
  • Compiladores: aunque escribir un compilador no es una tarea de cuatro semanas, se convierte en un pasatiempo a largo plazo como sucedió en mi caso. Comencé a escribir mi propio compilador para C hace un año y medio. He estado agregando más y más optimizaciones a medida que aprendo una y encuentro tiempo para agregar. Está alojado gratis en Github – Icarus. Hay buenos cursos disponibles en línea para ayudarlo a escribir uno.
  • Ensambladores: similares a los anteriores, pero los ensambladores son menos complejos de escribir.
  • Aplicaciones web: probablemente una de las favoritas para los estudiantes; incluye una variedad de aplicaciones: portales de estudiantes, sitios de búsqueda colectiva como Quora, sitios de alojamiento de códigos como github.
  • Aplicaciones de Android / iOS: echa un vistazo a la App Store. Obtendrás miles de ideas.
  • Contribuya al código abierto: es posible que desee echar un vistazo a los proyectos de código abierto que se están llevando a cabo, por ejemplo, LLVM, Ubuntu, Firefox, etc. e intente contribuir a ellos. Por ejemplo, puede agregar su propio pase de optimización al compilador LLVM (localmente) y ver los beneficios. Esto no solo lo expondrá a arquitecturas de aplicaciones del mundo real, sino que también agregará un gran valor a su currículum.

Acabo de escribir cosas que se me ocurren ahora. Agregaré a la lista mientras pienso en más. ¡Buena suerte!

¿Qué tal escribir una herramienta de generación de mosaico de fotos? Recopila algunos miles de imágenes de tu escondite personal o imágenes de google. Luego clasifique estas imágenes en términos de brillo y color general. Tome una imagen maestra y córtela en una cuadrícula donde coincida con un candidato correspondiente de sus imágenes analizadas e intercambie la imagen. Este proyecto puede ser muy divertido y tocar muchos temas diferentes: algoritmos, álgebra lineal, etc.

¡Buena suerte!

Además de las ideas de otras respuestas, aquí hay algo que puede probar.

Automatiza alguna tarea aburrida para tu universidad u hogar
Debes haberte preguntado a veces que alguna tarea es silenciosa, aburrida y monótona. Si está dentro de su alcance, inicie un proyecto para automatizarlo. Trabaja en ello hasta alcanzar la perfección, compártelo con tus amigos y pide sugerencias. Mejorar.

He hecho algo así durante mis vacaciones de verano en la escuela. Es una aplicación llamada Análisis de sal que automáticamente te dice qué hacer durante tus experimentos de Análisis de sal. Está disponible en Play Store – Salt Analysis – Aplicaciones de Android en Google Play.

Relacionado:
La respuesta de Siddharth Venu a ¿Qué es lo más increíble que has hecho?

Todos estos proyectos suenan bien, pero lo mejor que puedes hacer para tu educación, carrera y crecimiento personal es encontrar un proyecto de código abierto que creas que es genial y corregir errores.

Comprender las dinámicas de programación grupal y tratar con los usuarios lo ayudará más adelante en la vida. Aprenderá nuevos y posiblemente mejores estilos de codificación al examinar otro código. Aprenderá mejor cómo diseñar proyectos al comprender cómo se presentan otros proyectos. Y estaría más interesado en contratar a tiempo cuáles fueron sus contribuciones / desafíos para un proyecto de múltiples personas con usuarios reales que lo que haría para un proyecto favorito.

Implemente un algoritmo genético usando un ejemplo como el problema de N-queen. Intenta obtener el resultado como una animación de cómo se mueve el resultado hacia la solución. Es un ejercicio divertido y también tiene profundas implicaciones filosóficas.

Piensa en una buena idea que se pueda construir sobre herramientas gigantes.

P.ej:
1. Desarrolle una aplicación que pueda sincronizar sus archivos y su Dropbox. Sí, tienen una aplicación de servicio para hacerlo. Si usa Dropbox con frecuencia, descubrirá lo que le falta. Agregue dicha funcionalidad y dese una alta fidelidad.

2. Una aplicación de lista de tareas basada en Dropbox. Genial, ¿no?

3. Escriba una herramienta que pueda analizar la salida de los comandos de su sistema Linux (por ejemplo: SAR) y cree una herramienta de visualización contra los datos.

4. Copia de seguridad incremental de su base de datos MySQL, si sabe lo importante que podría ser. 🙂

5. Transfiera su aplicación de Windows a Linux. Le haría aprender muchas diferencias con estas dos plataformas.

6. Comprima sus archivos de música y sincronícelos entre dispositivos y luego automatice el proceso de extracción.

7. Un script que podría archivar todas tus redes sociales en tu base de datos.

Y muchos más … Los agregaré pronto …

PD: ya estoy trabajando en las dos primeras ideas. Cuando esté abierto, actualizaré mi respuesta con los enlaces.

contribuir a un proyecto de código abierto como WordPress. Puede encontrar los errores y las solicitudes de funciones en http://core.trac.wordpress.org/