¿Cuáles son algunas sugerencias para que un estudiante de primer año de CS inicie un proyecto?

Cuando era estudiante de primer año, trabajé en

  1. Calendario en C
    Era un calendario de línea de comandos que toma mes y año como entrada y calendario de visualización de ese mes. Lamentablemente he perdido esos códigos fuente. Pero recuerdo que eran alrededor de 60 líneas de códigos C. Más tarde también creé la versión C ++ de la misma.
  2. Diccionario en Java
    Este fue también el programa de línea de comandos. Se trataba de usar el archivo API en Java. Tenía un archivo de texto como mi diccionario. Era simplemente una colección de pares de palabras en cada línea. Por ejemplo:
    Agua paani
    Arena waloo
    Sky Aakash
    La primera palabra fue en inglés, la segunda en marathi (romanizada). El programa tomaría la palabra en inglés como entrada del usuario y mostraría la palabra marathi correspondiente.
  3. Adivina el juego de números
    En esto, el programa generará un número aleatorio y el usuario debe adivinar ese número. El rango fue de 1 a 1000.

Después de hacer esos programas basados ​​en la línea de comandos, me mudé al desarrollo web. Allí aprendí HTML5, CSS, JavaScript y encontré estas tecnologías mucho más fáciles que C ++ o Java.

Ahora mismo estoy en la programación competitiva. Puede consultar la programación competitiva en http://www.codechef.com/ o https://www.hackerrank.com/

¡Te deseo lo mejor! Feliz codificacion

Bueno .. IMHO ..

## Construyendo el dominio sobre el lenguaje.

Lo primero que debes hacer es elegir un idioma. Podría ser uno de lo que ya has aprendido.

Luego elija un libro de vanguardia relacionado con el idioma. Para C ++, puedo sugerir el de Robert Lafore. Ir a través del libro, capítulo por capítulo, ejercicio por ejercicio. Especialmente, para los temas que aún no han cubierto.

Con cada capítulo y ejercicio te sentirás un poco más cómodo con el lenguaje y los conceptos. Poco a poco, se encontrará pensando en una solución en el idioma respectivo para cualquier problema que encuentre, no solo teórico en los libros / clases, sino en la vida real.

Si dedicas de 2 a 3 horas todos los días, tendrás un buen dominio del idioma en aproximadamente un mes. Posiblemente, antes.

Una vez que haya hecho lo anterior, estará listo para elegir un proyecto paralelo.

## Proyectos paralelos

Dependiendo del idioma que haya elegido, su proyecto puede variar ya que el área de aplicación puede cambiar. Para, C / C ++ puede probar algo en la dirección de Algoritmos, Procesamiento de señales, Procesamiento de imágenes, Proyectos incrustados que podría ser muy útil si tiene alguna afinidad con la industria del automóvil.

Puede encontrar algunos desafíos de programación de gool de ACM. La motivación para codificar para ACM sería la clasificación de ACM. Del mismo modo, topcoder (punto) com podría ser otra buena opción.

Si encuentra los problemas en los sitios mencionados anteriormente un poco difíciles de abordar al principio, entonces comience con algo propio. Si has hecho C / C ++, prueba con algunos ejemplos de juegos simples.

A modo de ejemplo, para empezar, ¿por qué no construir un juego gráfico simple para Tower of Hanoi, cuyos conceptos aprenderá mientras hace Estructuras de datos (Empujar / Pop)? Pero, definitivamente necesitarás mucho más que eso para construirlo completamente, incluyendo clases y punteros. Trate de desglosar su problema actual con las declaraciones de problema más pequeñas posibles, cree una anatomía del problema en orden de prioridad y dependencia, establezca objetivos de diseño y luego cumpla esos objetivos. Por experiencia personal, este ejemplo idealmente no debería tomar más de una semana de codificación de la noche para hacerlo.

Una vez que haya creado algunos proyectos y haya adquirido dominio sobre el lenguaje y los conceptos relacionados, salte a opensource y algunos otros idiomas. Si conoces un idioma muy bien, elegir otro será bastante fácil.

## Nota

Últimamente, muchas personas no toman esta ruta larga, es decir, escogen un libro, entienden el idioma y luego se lanzan a los proyectos. Prefieren elegir un problema y comenzar a resolverlo mientras aprenden el idioma. Foros como StackOverflow lo han hecho bastante fácil. Esto no ayuda en mi opinión a largo plazo. Como no estás pensando en el idioma ya que no conoces las profundidades. En mi humilde opinión, uno debe saber al menos un idioma muy bien.

¡Feliz codificación! 🙂

¿Has trabajado en algún proyecto de código abierto? Es un gran lugar para comenzar. Puede codificar sobre algo que le apasiona y otros usuarios también contribuyen al código. Puedes aprender mucho trabajando con ellos.

Eres inteligente en tu ambición de comenzar un proyecto ahora. Eso es lo que buscan los reclutadores. Y sobre todo proyectos independientes. Elige un tema que te apasiona. Luego, crea una aplicación simple al respecto. Solo crea algo pequeño primero. Entonces piensa más grande. No es necesario tomar todos los cursos de estructuras de datos / etc. Hay un montón de recursos en línea. Sumérgete en la cultura. Lea artículos de investigación, comprenda proyectos, etc. Tiene todos los recursos que necesita. Simplemente salta.

También deberías participar en algunos concursos de codificación / hackathons.