¿Qué debo saber todo como estudiante de CS / IT? ¿Cuáles son las cosas que me servirán de bonificación si tengo conocimiento de ellas?

Este es un extracto de un documento que nuestros adultos mayores compartieron con nosotros hace dos años.
El tema era ¿Qué debería hacer una licenciatura de CS para competir globalmente ?

¿De qué tecnología / temas debe conocer al final de los 4 años?

  • Frameworks de desarrollo web
    • NodeJS
    • Python / Django
    • Backbone.js
    • Jquery
    • Twitter Bootstrap. De hecho, es una buena manera de aprender a escribir diseño CSS limpio :), inténtalo.
  • Programación
    • Práctica de Codechef.
    • Topcoder puede ser una buena opción también
  • Aprende Javascript
  • Proyectos de Stanford
    • VNS
    • Pintos
    • Guay
    • Descubre otros proyectos ya que están más organizados y enriquecen el conocimiento.
  • Contribuir a StackOverFlow. Hay muchos otros sitios web como stackoverflow para algoritmos. Únete a ellos y contribuye. Intenta resolver las preguntas que la gente hace allí.
  • Cómo sacar el máximo provecho de varios cursos interesantes e ignorar los malos (usted mismo define sus buenos / malos. A algunos de nosotros nos gustaron los siguientes cursos):
    • Sistemas operativos
    • Red de computadoras
    • Algoritmos
    • Compiladores
    • Cursos avanzados (OS avanzado, Temas en redes)
    • Aprendizaje automático
  • ¿Qué deben hacer los chicos de CS en el primer año? –
    • Haga una buena prueba de C y C ++ primero por autoaprendizaje e intente problemas en SPOJ / Codechef, etc.
    • Luego, en el segundo año, pueden comenzar a probar varias áreas (como codificación, desarrollo web / móvil, SO, código abierto, etc.) y encontrar lo que más les interesa.
  • Proyectos de GitHub. Contribuye al menos a un proyecto de código abierto. Aprender el control de versiones.
  • Solo pase por el diseño del kernel de Linux una vez en su periodo de 4 años. Esto debe hacerse después / junto con el estudio del curso de sistemas operativos. Debe utilizar una máquina virtual para probar el kernel compilado.
  • Alguna filosofía: solo recuerda cualquier trabajo bueno que hagas, encontrarás 10 personas a tu alrededor que pueden hacer 10 veces mejor que el trabajo que has hecho en menos tiempo. Así que sé humilde. Aprende de tus amigos. El flujo de conocimiento siempre debe ser recíproco, de lo contrario es muy aburrido para el maestro. Así que discute abiertamente con tus amigos y trata de decirles lo más que puedas, para que la discusión sea más alentadora. Como dije, siempre tenga cuidado de que no se convierta en una discusión entre estudiantes y maestros, porque la persona que desempeña el papel de profesor no recibe pagos aquí :-). También recuerda que no hay sustituto para el auto estudio.

Otro plan alternativo:
Construir un fondo de programación fuerte

  • Aprende C / C ++
    • Es muy raro que cuando vayas a la industria, puedas escribir código en C / C ++, pero C / C ++ es la base de tus habilidades de programación. También te ayudarán en tus ubicaciones.
  • Aprender Python
    • Este es un lenguaje fácil, rápido, ampliamente utilizado. Anímate, úsalo para resolver problemas de programación en Codechef, Spoj, Topcoder.
  • Aprende Javascript
    • Impresionante lenguaje de scripting, algo que todos los desarrolladores deben saber (teniendo en cuenta que en el futuro todo se tratará de Internet, así que apréndalo). Es posible que no desee profundizar en ello, hasta que vaya por Node.js como las cosas. Un conocimiento de Jquery será de gran ayuda Go (Hágalo solo después de que tenga suficiente conocimiento de javascript, digamos que ha programado extensivamente durante 2 semanas. De nuevo, esto depende de la persona).
  • Java / Csharp [Opcional]

Conociendo varios SDK / Frameworks alrededor [solo salta a esto cuando tengas un fondo de programación sólido 🙂]

  • Use los proyectos asignados en los cursos como un lugar para usar diferentes SDK disponibles.
    • Algunos sdk para experimentar con:
      • Motor de aplicaciones de Google
      • Androide
      • iOS (si eres fan de Apple)

Posibilidad de usar SDK / servicios web leyendo documentación
Esto es muy importante, cuando estás en la industria, se espera que aprendas un nuevo SDK y los uses en tu código. Es una habilidad lo bien que puedes entender el SDK leyendo la documentación. Esto viene de la práctica. Lee y falla, lee de nuevo y triunfa.

Fuente – Un PDF por Satyadeep Karnati y otros.

PD: todos los votos son para los que escribieron esto.

Ya sabes, cualquier cosa escrita en puntos puede parecer un buen consejo, pero tal vez no lo sea.

Sí, probablemente será bueno si conocieras un par de marcos de desarrollo web. Javascript está de moda en estos días, lo que, lamentablemente, a un 5% de las personas en NSIT parece importarles porque aparentemente, si no es una programación competitiva, no es lo suficientemente grave para ellos, por lo que es mejor que te subas a ese vagón.

Pero oye, la programación competitiva también es genial! Quiero decir, eso es lo que te da un trabajo en Facebook, ¿verdad? Eso es lo que te dijeron esos adultos, ¿no? ” programación competitiva kar lo yaar, yeh companies, web-dev wagerah nahi poonchti”, dijeron. Y tienen toda la razón, ¡las empresas no!

Pero compartir es cariñoso: por lo tanto, también debes contribuir al desbordamiento de pila.

Codificación social, todos ustedes. ¡Entonces, contribuye a proyectos de código abierto en Github también!

Enriquecimiento del conocimiento, ustedes: proyectos Standford, únase a coursera / udacity / edX.

Tampoco puedes perderte esos 19 mil millones de dólares, así que desarrollo de aplicaciones, todos ustedes.

Lo que nadie te dice es que no hay suficiente tiempo en este mundo abandonado por Dios para hacer todo lo que debes hacer. Con todas las reglas de asistencia, exámenes, archivos de laboratorio, simplemente no hay.

Y es por eso que creo que no deberías saberlo, simplemente no leer todas las respuestas que dicen todo lo que debes hacer. hazlo, porque no hay una maldita manera en que puedas hacerlo. Lo que no sabes lo que debes hacer, harás lo que quieras que hacer.

Se podría decir que, bueno, no hay nada malo en decirles a los niños qué hacer, pueden elegir lo que les gusta. ¡No, maldita sea, no! ¡Saber demasiado es solo una maldita barrera para comenzar! Cuando no sabes demasiado, empiezas y pruebas cosas. Cuando sabes demasiado, eres viejo. Entonces, simplemente deja de leer todas estas respuestas que te dicen lo que debes hacer. Solo trata de averiguar cómo puedes construir algo que te guste usar, ¡y luego comienza a hacer eso!

Ya sabes cómo entré en el desarrollo web, porque quería crear un sitio como Facebook, no porque leí una maldita respuesta en Quora y me decía que debía hacerlo si quería competir globalmente.

Solo para ser claros, no estoy diciendo “no les pida consejos a los adultos mayores”. Sólo digo que hagas las preguntas correctas. No le pregunte a los adultos mayores en qué debería estar interesado. Interésese por algo y luego pídales a los adultos mayores que lo guíen. (Desafortunadamente, aparte de las 20 personas en total, cualquier cosa que alguien pueda guiarle en NSIT es la programación competitiva o cómo obtener un empleo).

Todo el mundo aquí ya ha dado una idea de lo que debe aprender desde la perspectiva de la codificación, aunque lo que no prefiero es aprender sobre programación y desarrollo. Así que no voy a entrar otra vez …

  • Aprenda cualquier lenguaje de programación (C / C ++ / Java / Python (sugeriría esto), etc.). No importa en cuál sea bueno, solo asegúrese de obtener conceptos básicos de programación orientada a objetos y estructurada.
  • Aprenda conceptos matemáticos puros como la teoría de números, estructuras discretas, estadísticas, etc.
  • Centrarse en el aprendizaje de algoritmos y estructuras de datos. Aprenda todos los conceptos posibles de algoritmos, incluidas las técnicas de búsqueda como la indexación invertida, la indexación inversa, etc.
  • Aprenda sobre la computación en la nube y cualquiera de las soluciones NoSQL, como Mongodb, Redis, etc.
  • Obtenga información sobre cualquiera de los sistemas de versión de origen como GIT, SVN, etc.
  • Participe en hackathones siempre que sea posible, le darán experiencia con los problemas del mundo real y le harán socializar con la comunidad de desarrollo.
  • Únase a comunidades en línea como geeklist, stackoverflow, dreamcode, etc. para mejorar su conocimiento.
  • Y lo último y lo más importante es averiguar cuál es su área de interés en la que encuentra un problema y darle una solución que también pueda utilizar como trabajo en su proyecto.

¡Bienvenido al mundo de la informática! Según mi opinión, el primer año es el mejor momento para que se familiarice con los conceptos básicos de Ciencias de la Computación, que, con suerte, estarán cubiertos por los cursos que está tomando en la universidad. Sin embargo, me gustaría enfatizar sobre dos temas aquí, Estructuras de datos y Algoritmos. Forman la base de su comprensión de cómo se organizan y acceden los datos y de cómo se optimizan los cálculos por espacio y tiempo. Este conocimiento permanecerá contigo para toda la vida y te ayudará directa o indirectamente, sin importar lo que construyas (un sitio web, un motor de búsqueda o herramientas para el análisis de datos, cualquier cosa que puedas imaginar). Así que asegúrate de que los entiendes a fondo. Es importante leer buenos libros de texto sobre estos temas. Uno de los libros populares es Introduction to Algorithms by Cormen. Mi favorito personal es The Algorithm Design Manual by Skeina, aunque es un material un poco más avanzado.

Siempre es bueno ensuciarse las manos siempre que esté aprendiendo un nuevo algoritmo o familiarizándose con una estructura de datos. Para eso, elija un idioma de su elección (probablemente algo que se usa bastante en la industria) y codifique todo lo que pueda. Tome una taza de café, ponga buena música y anímese a codificar un algoritmo para cualquier problema que le resulte interesante (o haga crecer sus propios árboles, por ejemplo).

Esto lo ayudará de muchas maneras: aprenderá bien los conceptos, aprenderá los conceptos básicos de un lenguaje y también aprenderá a implementar esos conceptos. Aprenderá cómo buscar la implementación de una lógica que tenga en mente usando algo como stackoverflow, en lugar de tomar prestada la lógica de algún lugar de Internet. Sin embargo, escribir un buen código es muy diferente de solo codificar, pero finalmente lo logrará (consejo: leer un buen código también lo ayuda a escribir un buen código, exactamente la forma en que leer una buena literatura mejora sus habilidades de escritura).

Además, si es posible, intente participar en proyectos grupales con sus compañeros de clase y cree algo (una aplicación o sitio web pequeño y simple) que realice una tarea específica. ¡No solo aprenderá muchas cosas nuevas (idiomas, marcos, bases de datos, trabajo en equipo, quizás control de versiones) sino que también podrá mostrarlo en su currículum!

¡Todo lo mejor!

  • Ama tu trabajo Comer, dormir, soñar CS. Si no amas a CS, sal de ahí y adquiere algo que ames. No te preocupes por el dinero, lo lograrás de todos modos si amas tu trabajo.
  • Aprender a codificar – Me refiero a escribir código realmente. Tanto como puedas. Este es el lugar donde puedes cometer errores. Así que ve a hacerlos ahora.
  • Centrarse en la DO, el acto. Las personas que resuelven problemas y crean son los que mueven este mundo. No las personas que solo hablan.
  • Contribuye en alguna parte – código abierto, ayuda a alguien. Ve más allá de tu trabajo.
  • Aprenda a aprender: desarrolle la capacidad de aprender cosas nuevas por usted mismo. Especialmente cómo descubrir, entender y resolver problemas.
  • Aumente la resistencia: cuanto más tiempo pueda trabajar, más eficaz será.
  • Y, por último, manténgase curioso, siga experimentando, sea lo suficientemente valiente como para fallar y siga siendo tonto.

(0) Aprenda lo básico (RAM, ROM, partes de una computadora, etc.) y apréndalos bien.
(a) Una vez en el segundo año de BE, tuve una compañera de clase en BE Comp Engg. ¿Quién, cuando se le preguntó “¿Cuánta RAM tendrá su computadora?” – Respondió “no tendrá estas cosas, estoy tomando una computadora muy básica” … ¿Cómo supe que esto pasó? Porque en algún momento ella vino y me preguntó: “Por favor, ayúdame … ¿sabes qué es RAM y cuál es su propósito?”

(b) Una vez participé en un debate con un profesor de CS sobre piratería de hardware relacionada con la conexión de un teclado junto con un gamepad a un XBOX-1 – sobre por qué, si tiene una interfaz serial, no es fácil multiplexar múltiples dispositivos serial en un solo puerto, pero si tiene una interfaz de bus, digamos USB, luego, si lo desea, puede cortar el cable del XBOX-1 que va a un gamepad, agregar un concentrador USB y un conector USB al cable empalmado, y junto con la conexión al concentrador USB, el cable empalmado con un conector USB, también puede enchufar un teclado USB, y el concentrador USB que ha colocado en el cable del gamepad XBOX-1 empalmado podrá multiplexar tanto el teclado USB como el Controlador de gamepad en el que ha agregado un conector USB.

Para mí era una cuestión de fundamentos: que un bus es una pieza de hardware en la que una señal puede entrar y salir con múltiples puntos y un bus tendrá circuitos para multiplexar señales.
Para el profesor, era una cuestión de desconcierto, porque, a pesar de toda la experiencia del profesor, los fundamentos de los profesores no estaban claros.

(1) Aprende al menos C y C ++ -> lo mejor que puedas. Esto no es opcional.
Aquí es por qué (contado como cuentos de advertencia) debe aprender esto:

(a) Una vez conocí a un chico en un evento de tecnología que estaba hablando sobre Scala / Lisp, y quería mudarse de Bombay a Delhi y postularse a “la mejor compañía de productos globales con sede en NCR” y me pidió que le presentara a alguien Sé quién puede encontrar su currículum: lo conecté con un grupo de muchachos y cada vez que veía un requisito para C / C ++, le enviaría un correo electrónico explicando por qué no necesita saber esto y por qué estos están pasados ​​de moda, etc. Dígale que no fueron ellos sino el gerente de contratación los que especificaron los requisitos y que simplemente harían el currículum vitae, pero él se negaría a escuchar.
En última instancia, consiguió un trabajo en otra empresa … que estaba muy bien financiada, pero que nunca había enviado un producto, que también necesitaba habilidades de hardcore c / c ++ y que pagaba bien.
Dos o tres años más tarde, lo conocí … buscando de nuevo un sitio web que no necesitaba c ++, y muy adicto a las hierbas y los medicamentos contra la ansiedad, y sentí que el mundo lo estaba persiguiendo y enloquecía, el producto que estaban construyendo nunca se construyó … y el equipo fue despedido sin ceremonias.

(b) Tenía un amigo que nunca se enfocaba en c / c ++ y muchas responsabilidades relacionadas con la familia querían mudarse a través del país con su esposa, y cuando le pregunté por qué no esta o esa compañía, dijo que “todos necesitan c / c ++ y estructuras de datos, y soy un tipo de javascript y 2 años después de haber hecho mi mtech en comp sc después de la electrónica, no tengo el tiempo ni el ancho de banda para practicar c / c ++ y estructuras de datos ”

(2) Aprendizaje de algoritmos y estructuras de datos.
Esto no se puede enfatizar lo suficiente. Aquí hay algunos cuentos de advertencia de lo que puede suceder si no lo aprendes lo suficientemente bien.

(a) Vea la advertencia 1 (b) de arriba.

(b) Una vez tuve un interno, que tenía trabajando en un pequeño juego de computadora “Air Parking”, nunca aprendí algos, aunque estaba en el último año, y luego pasó 3 o 4 meses depurando una estructura de datos de lista vinculada. que implementaba por primera vez en su vida.
Más tarde, tuvimos una función de puntaje alto (para insertar un puntaje alto en una lista ordenada de puntajes) y nunca había aprendido ni la clasificación ni la inserción en la lista, ni tampoco había aprendido el manejo de archivos y terminó gastando más y más tiempo tratando de implementar el “insertar puntaje alto en la lista – y escribir en el archivo” – hasta que le entregué su dinero y el certificado de pasantía – y le quité el proyecto – y pasé 15 días lejos de lo que estaba haciendo para solucionar sus errores y enviar el juego.
Desearía haberle quitado el trabajo hace algunos meses, nos habría ahorrado mucho tiempo.
En mi caso, era un gerente inexperto que dirigía una startup de fase inicial de equipo pequeño, en el mundo real, significaría ser rechazado en la etapa de la entrevista O bien, significaría ser marginado y malas evaluaciones O peor, despedido de empresa por ser un bajo rendimiento.

(c) En otro caso, una vez tuve un coautor (de un libro sobre análisis y diseño de algoritmos) que no estaba seguro de si “Infix to Postfix conversion using stack” es un algoritmo LALR o no (lol … pvt Mígame con una conjetura con lógica o pregúntame!)

(d) En otro caso, después de un par de años de programación, fui y participé en un concurso de programación para universitarios en una universidad no muy conocida, donde uno de los problemas de programación era implementar una doble vinculación. -listar con Java– con varias funciones etc.
Sí, sí, me afeité las quemaduras, afiné las cejas e hice un montón de cosas, incluso para parecerme más a un niño.
Bastante bien, fui el único participante que resolvió todas las preguntas en el tiempo designado (creo que 30 minutos), incluida la lista de enlaces en Java, y cuando el profesor me pidió que hiciera una demostración de las preguntas resueltas, me preguntó sobre el enlace. enumere el programa y criticó su diseño y me dijo que aunque el programa creado por otro equipo todavía no funciona (necesita más depuración), está mejor diseñado que mi programa y, por lo tanto, los declarará ganadores.
Más tarde … después del concurso, me crucé con el mismo profesor en el comedor de esa universidad y dije “señor, señor … hágame un comentario …” y le pregunté qué podía haber hecho mejor.
Y compartió sus pensamientos, etc … y en algún momento le pregunté respetuosamente cuánto tiempo tardó en implementar la estructura de datos, cuál fue su enfoque, etc., y cuándo lo hizo él mismo.
Y el profesor dijo: “No necesito implementarlo … si sé cómo hacerlo correctamente, eso es suficiente … ni siquiera tengo tiempo para depurar estas cosas, que es una tarea muy pequeña y tediosa”, y luego le pregunté sobre su vida estudiantil, etc … y se hizo evidente que incluso en sus días de estudiante, era poco probable que alguna vez hubiera implementado una lista doblemente enlazada con las operaciones que hice como parte de las 5 preguntas que resolví en 30 minutos, y mucho menos que lo hice en Java.
Sin embargo, si estás construyendo cosas, esto es importante. Además, debe saber en su corazón que, si debe hacerse, puede hacerlo usted mismo.

(3) Aprenda al menos el sistema operativo Unix / Linux, el shell y las secuencias de comandos de adentro hacia afuera
(a) porque le proporciona una base para aprender lenguajes de scripting de “nivel superior”.

(b) También vea el “Capítulo de muestra gratis” del libro de Edmund Lau, que habla de herramientas y cómo el tiempo que ahorra se incrementa gradualmente. Incluso unos pocos minutos al día.
No puede escribir scripts para simplificar su trabajo hasta que se sienta cómodo con los scripts / un sistema operativo que permite los scripts.

(c) Muchos de los conceptos en los que se basa Unix son importantes tanto para los servidores web / internet como para las redes, así como para comprender los fundamentos de varios “mini sistemas operativos” utilizados en dispositivos integrados.

(4) Si es posible, familiarícese con al menos un nivel más alto / lenguaje de scripting (podría ser PHP O Python O servidor de JavaScript o cualquier otra cosa), pero aprenda al menos un “lenguaje de scripting de nivel superior”.
Preferí PHP en mi día, debido a lo fácil que era después de conocer C y el shell de Unix, y lo fácil que era impactarlo.
Infact después de mis primeros programas de hello-world y jugando con bits y piezas de drupal (convertí un programa de 300 líneas de Java a PHP) y, después de eliminar los errores de sintaxis, ¡funcionó la primera vez! ¡Qué patada! ¡Qué alta!

(5) Sistemas de administración de contenido web del lado del servidor: Familiarícese con al menos un sistema de administración de contenido web del lado del servidor, puede ser Drupal O WordPress O cualquiera de las docenas de otros.
Por qué ? Porque hoy en día, todo está habilitado para la web O conectado a la Internet, y ya sea como acceso directo desde el navegador a través del navegador O como servicio web de fondo que se comunica con una base de datos y proporciona datos a un dispositivo o una aplicación o software: todos deben conectarse a Internet y todos deben extraer datos de la “nube” de alguna manera, y puede “aprender haciendo”, solo si sabe cómo “hacer” tanto en el lado del servidor como en el del cliente.

Por supuesto, en muchos de los cursos anteriores, un curso de CS de cuatro años puede no ser suficiente para dominar las habilidades en todos los niveles, pero es apreciable, por el bien de las propias opciones y el éxito de la carrera, para exponerse y familiarizarse con lo anterior. y al menos un maestro en algunas cosas y en los conceptos básicos y fundamentales de un montón de cosas … incluyendo C / C ++ y Data-structure y los conceptos básicos de los scripts y la web de Unix Shell.

(5) Acerca de los bonos:
Personalmente, creo que todo lo que otros describen, incluso profundizar en CSS O profundizar en DJango, etc., son todos bonos.
Pero hagas lo que hagas, no seas el profesor que enseña compiladores y no puedo responder una pregunta sobre conceptos básicos en un instante y definitivamente no seas el niño (o profesor) que nunca ha implementado una lista enlazada, y considera que la implementación y la depuración están debajo de ellos .

(6) Finalmente:
Los (1) a (5) están en orden de prioridad, primero los más importantes.

Muchas de las personas en los cuentos de advertencia anteriores (¡y todas son personas que son buenos amigos!), Se comprometieron con lo básico, tratando de aprender lo que consideraban hermoso y relevante al costo de lo básico, y luego tropezaron, una y otra vez, y agian !!!

Espero que esto ayude. Te deseo todo lo mejor.

PD: Por favor, perdóneme si se reconoce a sí mismo como uno de los que se describen en los cuentos anteriores, nada personal y pido disculpas si sin saberlo lo lastimé, pero solo mis pensamientos.

NOTA: escribí esta respuesta hace algunos meses, pero dudé antes de publicar porque quería pulirla más e incluir capturas de pantalla y fotos. Bueno, tal vez editaré e incluiré más, pero aparte de upvotes, comentarios, críticas y enlaces de bienvenida, me encantaría. escuchar de todo y ayudar, si es posible, aparte de programar y tratar de construir a lo grande, lo que vivo para las ideas y discusiones interesantes de la tecnología es … ¡después de la programación!

Lee y resuelve “The C Programming Language” de Dennis Ritchie, Brian Kernighan. (Incluso si sabes C, lee este libro).

Y disfruta de tus vacaciones !!

EDITAR : En respuesta a la pregunta formulada en el comentario.
Puede intentar resolver los problemas de nivel “FÁCIL” o “ESCUELA” en http://codechef.com
Código mucho Pero aún así preferiría que primero leyeras el libro y escribas todos los programas que se dan en él.

En la respuesta muy corta para
Si estás interesado en la programación, entonces solo necesitas es
1. Buena comprensión de los algoritmos que aprendes en tu graduación, excelente si aprendes algunos otros.
2. Aprende a escribir código eficiente.
La mejor manera de aprender esto es a través de
TOPCODER
Hackerrank
Hackearth
EntrevistaBit (buena)
3. El comando en los aspectos básicos de la estructura de datos y la solución se relaciona con las preguntas en los sitios web mencionados anteriormente
4. ¡Elija un solo idioma a través de su graduación hasta que sea experto en esto!

Te recomendaré C o Java

Si no te gusta esto, ve al desarrollo web o desarrollo móvil. El lenguaje swift también es bueno para el desarrollo de aplicaciones iOS.

Eso es suficiente para un estudiante graduado si no eres de IIT o NIT
Si quieres aprender algo extra

Luego, también puede ordenar en una base de datos como Sql u Oracle, esto le dará un buen impacto en su cv

Nota: como estudiante graduado en el flujo de CS / IT, uno debe tener un buen entendimiento en cualquiera de los lenguajes de programación como c cpp o java para resolver los problemas de la vida real que exigen las empresas.
Sea bueno en la clasificación de Topcoder, también puede mencionar su calificación de topcoder en su currículum.

Esto se basa en mis expectativas:

Fundamentales de la programación informática.

Un lenguaje central (Java, C ++)

Conocimiento de bases de datos (SQL) y estructuras de datos.

SDLC debería ser un pan comido …

Experiencia en la construcción de pequeñas aplicaciones (complete un proyecto de nivel universitario o trabaje en un proyecto durante la práctica)

Arquitectura de Computadores

Modelo MVC y sistemas de servidor cliente.

Fundamentos básicos en internet y Windows / Linux.

En primer lugar, diría que un grado IIT / NIT es lo que necesita para conseguir un buen trabajo. A menos que usted sea un IITian cualquiera que sea el conocimiento, su comprobante de pago será muy exiguo. Sin duda, tu universidad es muy buena, pero hay otras mejores y el mercado es realmente difícil en estos días.
No intentes aprender demasiados idiomas con demasiada profundidad, no recordarás sus matices sutiles y tu conocimiento, en última instancia, me resultará inútil en la industria.
Aquí están mis 5 sugerencias:
– Aprender programación no lenguajes. Desarrolla tus habilidades matemáticas (discretas).
– Aprenda el tema central de adentro hacia afuera, pero no descuide los temas sde ya que cuentan en su GPA.
– Únete a un proyecto OSS
– Aprender SVN / GIT
– Practicar preguntas semestrales de IIT / NIT / Govt. Las universidades como su mando ordena a los elogios.
– Trate de limpiar el aura (lo he visto en mis compañeros de IITian junior) que estudio en una buena universidad significa que sé mucho y me enfoco más en el desarrollo de habilidades.

La mejor de las suertes para tu carrera.

Participa y trata de sobresalir en los concursos de programación como codificador superior, código de código, google code-jam, facebook hacker cup, codechef. (¿Quieres saber más sobre estos concursos? prueba en google). Yo sugeriría codeforces & codechef al principio.
Intente resolver de 3 a 5 problemas por día al menos y para cuando resuelva 500 o más problemas, definitivamente lo hará bien en los concursos y se encontrará seguro.

¿Cómo? Tutoriales de algoritmos, si no puede resolver un problema, verifique cómo otros lo resolvieron … y practique mucha programación. Una cosa que debes saber es que el tipo de problemas es muy limitado, así que una vez que entiendas los tipos fundamentales (Algoritmos: ¿Cuáles son los 10 algoritmos que debes conocer para resolver la mayoría de los desafíos / rompecabezas de algoritmos? (OR) cuáles son los mejores o los que se requieren con más frecuencia) Algoritmos que pueden afectar a la mayoría de las preguntas de cualquier concurso de programación?) podrá resolver la mayoría de los problemas en un abrir y cerrar de ojos.

Diferencia entre la informática y la tecnología de la información.
No es tan importante en comparación con la codificación y el aprendizaje de lenguajes informáticos, pero seguramente te ayudaría a saber qué estás haciendo exactamente. Y por qué.
Las empresas de colocación probablemente no diferenciarán entre la ciencia de la computación y el grado de tecnología de la información, pero seguramente ahorraría la vergüenza si alguien te pide que veas la diferencia.

Primero debes saber una pregunta muy importante y la más fundamental de todas.
¿Qué es una computadora de todos modos? “. Para mí, cualquier máquina que pueda calcular algunos datos y que pueda proporcionar resultados se denomina computadora. Una computadora puede ser mecánica (como el motor de diferencia de Babbage ), electrónica (como toda la computadora moderna ) o incluso puede ser biológica ( nuestro cerebro ) . Sé que mi definición de computadora no está de acuerdo con todas las demás que se pueden encontrar en diferentes fuentes, pero eso es lo que llamo una computadora .

Me gustan las respuestas de Harshil Lodhi y otros, pero discutieron un alto nivel de cosas sin pensar en algo más básico. Como estudiante de CS / IT , debes saber cosas como el funcionamiento de una computadora, sus diferentes componentes, cómo estos componentes funcionan e interactúan entre sí, etc.
Para esto, puede referirse a un libro que estudié recientemente FUNDAMENTOS DE COMPUTADORES, luego puede ir por todas las otras cosas.

Encontrarás tu propio camino. No te preocupes Por ahora, vaya a HackerRank e intente resolver varios problemas en subtemas. Cada subtema que tu maestro enseña, ven a casa y practica. Sigue estos ahora. Saber que mil millones de lenguajes de programación no te convierte en un verdadero científico informático. Cualquier lenguaje de programación funcionará. Respira hondo, cálmate y deja de fascinarte por leer nuevos términos en otras respuestas.

También encontrará la forma de UI de Hackerrank mejor y más organizada que la de codechef. Darle una oportunidad.

No importa si estudiaste programación en la escuela secundaria o no. Pero desde el primer año de su universidad, comience a practicar la programación en cualquier lenguaje, ya sea c ++, java, c, python, Ruby Etc. Sea bueno en la sintaxis de solo una programación java o c ++ como quiera y céntrese más en el algoritmo. El algoritmo es más importante para ser un buen programador. Y también lo más importante es unirse a algunos sitios en línea desde el primer año de su universidad para practicar los códigos, sitios como hackerrank, etc.
Si tiene algún problema mientras aprende, el programa prefiere stackoverflow para obtener una explicación, el mejor sitio.
La mejor de las suertes . Espero que esto te ayudará.

Aquí hay muchas respuestas buenas, pero me gustaría expresarlo de manera breve y dulce al decir que el aprendizaje casi no ocurre en su institución. El aprendizaje sucede cuando decides ir más allá y explorar el abismo que realmente es la informática.

Pruebe diferentes áreas como desarrollo web, administración de servidores, minería de datos, inteligencia artificial, aprendizaje automático para ver en qué sucursal le gusta. Incluso una sola rama en CS tiene cosas suficientes para que una vida se adentre.

Google mantiene esta Guía para el Desarrollo Técnico de Google para Estudiantes. Es una guía muy bonita y extensa para que los estudiantes universitarios mejoren sus habilidades técnicas.

Echar un vistazo. ¡Me lo puedes agradecer después!

Conseguir una extensión no es una desgracia! es oohk! Puedo ! – debes saber esto ! El resto sigue