¿Cuáles son algunos proyectos que debe hacer un entusiasta de la informática?

Si está realmente interesado en la programación, intente hacer esto. Estarás en un nivel algo diferente después de completar estos:

1) Comenzar a hacer comandos de LINUX para Windows es una buena idea. Por ejemplo: implemente “ls” para Windows, luego continúe e intente agregarle más funciones. Como “ls -l” debería funcionar.

2) Construye tu propio analizador. Puede comenzar con poco e implementar un analizador para el subconjunto del lenguaje C. Más tarde puedes agregarle más. Es posible que pueda crear un programa simple que pueda encontrar pérdidas de memoria en programas en C u otros errores similares que pueden saltarse los ojos de un programador.

3) Escribe un pequeño motor de búsqueda. Puede ser para satisfacer sus necesidades. Me encanta el desguace y la minería de datos. Puedes aprender mucho escribiendo rastreadores web. Puede comenzar con poco y rastrear un sitio web complejo para extraer información importante de él. Puede ser un sitio web que contiene detalles sobre todos los teléfonos móviles. Luego puede crear su interfaz web simple para consultar información sobre cualquier teléfono móvil.

4) Comprender cómo funciona una red. Capture diferentes tipos de paquetes en wire-shark. Estudie esos paquetes y escriba un programa para generar paquetes de cualquier tipo desde cualquier origen a cualquier destino. Escriba un programa como file2wire de LINUX para enviar esos paquetes en la red. Aprenda cómo funcionan los envenenamientos por ARP y los ataques relacionados.

5) Es buen momento para implementar un pequeño lenguaje de programación con las características que desee. Manténgalo simple, manténgalo hermoso, manténgalo en forma de pitón. Recuerda KISS.

6) En este momento, sabrás lo que más te interesa. Muévete en esa dirección y sigue adelante.

7) ¿Te dije algo sobre el procesamiento de imágenes? Sí, puedes procesar imágenes. Puede ser que programe una cámara web para tomar X número de imágenes por segundo y procesar esas imágenes para conocer cualquier tipo de movimiento. ¿Por qué no comenzar a usar código de terceros para simplificar su trabajo? Aprenda sobre las API.

8) Eres un estudiante. Tienes toda una red universitaria para jugar. Las máquinas en una universidad rara vez se actualizan. Esto significa que hay buenas posibilidades de que encuentre un exploit para el sistema operativo que usa en su lugar o algún otro servicio que le permita acceder a todas las máquinas. Si no olfatea la red y busca nombres de usuario y contraseñas de inicio de sesión remoto. ¿Por qué no escribir una aplicación distribuida que pueda buscar en todas las máquinas del campus cualquier documento que contenga palabras “Examen”, “Exámenes”, etc. y enviarle una copia? Este es un proyecto bastante complejo. Aprenderás muchas cosas de ello. La última vez que vi esto en acción fue cuando mi compañero de cuarto en la universidad fue expulsado de la universidad y Google lo contrató. Pero cuidado, no todos consiguen un trabajo en Google después de hacer esto. Entonces, hazlo bajo tu propio riesgo.

9) ¿Todavía estás leyendo? Ve a hacer algo.

¿Quieres saber sobre recursos de aprendizaje? Ya tengo uno para todos. Comienza con G y termina con E.

Gracias por la A2A

Desde el punto de vista teórico de CS, puede comenzar a construir un lexer, un compilador, un lenguaje de programación o incluso un sistema operativo de pequeña escala. Es necesario tener una comprensión teórica exhaustiva para incluso intentar lo mismo.

Puede crear pequeñas aplicaciones utilizando Python, como un rastreador web, un desguace de imágenes o un hilandero de texto.

Para los sitios web, puede comenzar a crear sitios web simples con HTML, CSS, JavaScript y puede mejorarlos agregando PHP, node.js o Ruby on Rails a la lista.

De hecho, depende de las áreas específicas en las que quieras trabajar. Y no necesariamente es una idea completamente nueva. Puede implementar algo para lo que ya existe una solución, pero lo que realmente importa es que comprenda lo que está tratando de resolver y cómo / por qué está tratando de resolverlo. La informática es más un término general. ¡Pero si la pregunta era cuáles son los proyectos que se pueden hacer en informática en lugar de hacer! Entonces hay un número infinito de respuestas para ello. Ej: si eres un estudiante que intenta resolver escenarios del mundo real usando los conceptos que estudiaste en tu curso de algoritmos, es en sí mismo un proyecto

Si esta pregunta pretendía pedir algunas ideas específicas para proyectos? Entonces mi respuesta es más genérica porque creo en lo que quiero hacer en lugar de lo que otros me dicen que haga. La mayoría de las soluciones disponibles ahora para problemas en tiempo real no están completas. Entonces, si desea ideas, aborde un problema que conozca y la solución que está disponible actualmente para ese problema, intente comprender qué / cómo / por qué aborda y ¡piense qué más puede hacer!