Soy un estudiante de Bachiller en Tecnología de segundo año. Sé bits de programación en C. ¿Cómo debo comenzar si quiero ser un buen programador?

Escribir programas Empieza pequeño. Encuentre un proyecto que le interese y escriba un programa. No intentes simplemente “aprender el idioma”. Hasta que pruebes algo real, no te enfrentarás a los desafíos que muestran lo que no sabes o te hacen profundizar.

Escribe un videojuego. Seriamente. Comience con un juego 2D simple y un marco. Pygame es bastante bueno y tiene muchos ejemplos. Prueba Frogger o Space Invaders. Es divertido y tendrás algo para impresionar a tus amigos. (Ahórrate el dolor y no intentes un juego en 3D hasta que tengas mucha más experiencia).

Considere otro ejemplo: juego un juego de palabras. El juego presenta un conjunto de letras de las cuales haces una palabra. No puedes progresar hasta que hagas la palabra. Descargue un diccionario, permita que el usuario ingrese las letras, luego muestre todas las palabras del diccionario que se pueden hacer exactamente con esas letras.

Lo importante es escribir programas. Puede escribir programas literalmente sin capacitación y con algunos ejemplos. Puedes probar Python the Hard Way. Pero para mí, escribir programas es más divertido. Y le dará motivación y perspectiva cuando comience un aprendizaje más formal, ya sea en la academia o en un sitio web.

Comienza a transformarte en un programador adaptable.

La tecnología evoluciona rápidamente.

A veces, aprender a codificar puede parecer una cámara de eco, donde todos hablan de la última y mejor tecnología. Hace solo un minuto, era AngularJS. Hoy, Angular es una noticia vieja y ReactJS es la nueva tecnología de moda. En un futuro cercano, una tecnología diferente reemplazará a ReactJS.

Los empleadores generalmente están más interesados ​​en su habilidad de alto nivel que su conocimiento sobre una herramienta específica.

Los programadores adaptables se destacan en lo que realmente importa.

Ellos saben cómo:

  • Descomponga la solución a un problema en una serie de pasos que puede completar una computadora
  • Traduzca esos pasos en comandos que una computadora pueda entender

Piénsalo. Los empleadores invierten en programadores de nivel básico a largo plazo. Esperan que los nuevos empleados permanezcan en la empresa durante un año o más. Eso significa que quieren contratar programadores que sepan cómo adaptarse y resolver problemas, en lugar de programadores que están limitados a un solo lenguaje popular.

Si quieres convertirte en un programador adaptable, comienza a aprender estas 5 habilidades:

1. Aprenda programación de habilidades en un lenguaje de programación en bruto

Podrá resolver fácilmente el 90% de los problemas que enfrenta utilizando un marco, como Rails, jQuery, Angular, ReactJS, etc. El 10% restante de los problemas no tiene una solución integrada, como un marco, que le permite resolverlos fácilmente. Aunque estos problemas son solo un pequeño porcentaje de los problemas que enfrentará, pasará la mayor parte de su tiempo resolviéndolos porque los otros problemas son más fáciles de resolver. Poder usar un cierto marco es valioso, pero ser un programador adaptable, capaz de tomar cualquier problema y resolverlo sin el uso de una solución para cortar galletas, es lo que realmente está en demanda.

2. Aprender algoritmos

Los algoritmos son los patrones y procedimientos utilizados para lograr el objetivo en cuestión. Le ayudan a comprender cómo usar la herramienta adecuada para el trabajo, lo que hace que su código sea más limpio y fácil de escribir. Esto te hará un mejor programador.

3. Aprender estructuras de datos

Las estructuras de datos (cosas como matrices, tablas hash, listas enlazadas, etc.) son la forma en que los programas de computadora organizan un montón de cosas. No solo le permiten comunicarse adecuadamente como un desarrollador, sino que también son las herramientas adecuadas para usar en muchos problemas. Las estructuras de datos trascienden todas las modas. Comprenderlos será valioso durante años y años.

4. Aprende la notación Big Oh

La notación Big Oh es una forma teórica de comparar qué tan rápido se ejecutará un algoritmo en comparación con otros algoritmos. Conocer estas cosas confusas es increíblemente importante cuando encuentras que un programa de computadora que has escrito es demasiado fluido y necesitas hacerlo más rápido.

5. Aprende a trabajar con un equipo

Las mejores aplicaciones web están construidas por equipos increíbles. Si desea comenzar a prepararse para convertirse en un buen programador, debe comenzar a trabajar con otros desarrolladores para crear aplicaciones del mundo real.

Un programador adaptable es capaz de aceptar cualquier posición de programación abierta, independientemente del lenguaje o los marcos utilizados. Esto significa que el mercado de trabajo es muchas veces más grande para un programador adaptable en comparación con alguien que solo es experto en una tecnología específica.

Así que comienza aprendiendo las cosas que no cambian. Hacerlo te convertirá en un buen programador.

Dedique 10 minutos a aprender un truco clave que lo ayudará a comenzar a convertirse en un programador adaptable hoy leyendo esta publicación: Lo que puede aprender en 10 minutos que cambiará el resto de su carrera de programación.

Si te gustó esta publicación, realmente te agradecería si la votaras con el botón azul claro a continuación.

Libro

Te recomendaría comenzar con la referencia completa de c ++. Tómese su tiempo y aprenda. Cubre todos los conceptos básicos. Una vez que haya terminado con esto, puede probar algunas preguntas de depuración. Validará sus conceptos básicos en c ++.

Programas de práctica

Luego comience con la práctica de programas como string reverse en o (n) complejidad, GCD, intercambie 2 enteros sin otra variable. Te daría un comienzo para pensar.

Para la recursividad, pruebe el programa factorial y el programa de la serie Fibonacci. Comprende cómo funciona la pila.

Punteros

La única forma de tener una buena comprensión de los punteros es probar cosas estúpidas con punteros. Tenemos muchos cursos en línea que explican muy bien los punteros. Intente imprimir el tamaño de los punteros, cree punteros de tipo definido por el usuario.

Una vez que sienta que es bueno con los punteros, intente implementar una matriz 2D con punteros.

Conceptos de OOPS

Todos los conceptos de oops habrían sido cubiertos en un libro de referencia completo. Explore las funciones virtuales , por qué es necesario el destructor virtual , la herencia , la clase de amigo , el constructor de copias y la biblioteca STL .

Lista y árbol

Problemas de la lista vinculada: http://cslibrary.stanford.edu/10

Para árboles: problema de recursión de la lista de árboles de árboles binarios

Inicialmente tomará tiempo resolver algunos problemas, en el futuro obtendrá la lógica y la implementará pronto. Nunca busques respuestas . Incluso si su lógica es la fuerza bruta, impleméntela y piense en optimizarla. Y luego comparar con las soluciones proporcionadas.

Si puede resolver estos problemas, es lo suficientemente bueno como para seguir adelante con otras estructuras de datos. Puede intentar implementar Gráficos.

Es igualmente importante tener manos en los problemas de DP . El siguiente enlace puede ser útil.

Tutorial para programación dinámica

Problemas

Puede hacer uso de los siguientes sitios, tienen muchas preguntas. Elija una pregunta que le interese y resuélvala.

La preparación de la entrevista de codificación es fácil

Programación de preguntas de la entrevista | CareerCup

Gracias 🙂 Espero que te ayude.

Práctica práctica y práctica. Siga una gran cantidad de tutoriales en línea estructurados. Hay algunas fuentes de desafíos en línea.

Use topcoder,
Concurso de programación, concurso de programación, programación informática en línea
Comunidad tecnológica y de TI en India

Practica con muchos problemas simples y luego pasa a los algoritmos de aprendizaje.

Divida el problema más grande en el trozo más pequeño posible y luego solucione los problemas de cada trozo, combine y siga adelante. No apunte al resultado directo. Aprenda a implementar la lógica, y convierta el proceso de pensamiento en el código de manera efectiva, intente convertirse en un codificador DRY. No se repita. Luego continúe con el aprendizaje y la aplicación del algoritmo.

Practique SOLO si realmente disfruta codificar y hacer lógica. La paciencia y la práctica son la clave para la codificación.

La regla simple para las matemáticas y la codificación es que, si parece fácil, es probable que te estés equivocando.

Como ya sabes algo sobre programación, no queda nada por comenzar, ya has saltado al mar, pero estás en la superficie, solo necesitas sumergirte profundamente, si conoces los conceptos básicos, entonces debes buscar temas avanzados como Estructura de datos y Algoritmos , C ++ es muy bueno, deberías probar la programación competitiva , hay muchos sitios web como CodeChef , TopCoder , etc., que organizan competiciones de codificación en línea en las que deberías intentar participar y practicar la resolución de problemas, además si te sientes cómodo suficiente puedes contribuir a la comunidad de código abierto como GitHub . Después de todo, solo puedes ser bueno en algo si trabajas más en él, así que practica tanto como puedas.

¡Todo lo mejor!

Me gustaría decirte algo antes de decirte el resto de las otras cosas. Cuando comience a crear programas, primero tendrá que ser paciente.

primero analice el problema y luego cree algoritmos (procedimientos paso a paso en un lenguaje simple)
a continuación, traduzca su algoritmo en el lenguaje de if y else (por ejemplo: si esto sucede, entonces debería ocurrir otra cosa, debería pasar algo más).
finalmente ve a escribir el programa.

Dado que conoce partes del idioma, debería darle un buen comienzo. Pero al mismo tiempo recuerde comenzar desde el principio. La clave para aprender la sintaxis es repetirlas una y otra vez. También debe familiarizarse con el idioma antes de escribir programas.puede referir libros si tiene problemas. Una solicitud “No siga los materiales en Internet ya que no están clasificados correctamente”.

[1]: Lo primero que quiero sugerir es que compre una copia de: Compre el libro del lenguaje de programación C (versión Ansi C) en línea a precios bajos en la India
[2]: Reg para este curso: https://www.coursera.org/course/
[3]: Imp uno implementa cada problema DS / DAA / OS por ti mismo en toda la duración de B.Tech.

Después de estas cosas, tendrá una gran idea de cómo aprender más 🙂

La forma más segura de tener éxito es comenzar a construir su cartera de inmediato. En su propio tiempo, investigue idiomas y marcos. Encuentre un proyecto de oss que le apasione o inicie su propio proyecto. Centrarse en las clases es excelente, pero las clases de CS tienden a quedarse atrás de las tecnologías actuales.

Supongo que no está planeando tomar cursos de informática en su universidad, ya que esa es la respuesta obvia si desea obtener los conceptos básicos rápidamente. Puede ser posible hacer una especialización en informática o una doble especialidad, pero ese es un gran compromiso y solo usted puede responder esa pregunta.

Si lo va a hacer sin educación formal, lo primero que siempre sugiero es encontrar un proyecto que le apasione. No tiene que ser un gran proyecto, solo tiene que ser interesante para usted. Averigüe qué tipo de aplicación desea escribir e ingrese el código abierto en Internet. Si el proyecto de sus sueños es monumental, quizás elija un subconjunto como punto de partida.

Al final no hay atajos reales, para ser un buen programador tienes que leer mucho código, tienes que escribir mucho código, y aunque no tienes que hacerlo, cometerás muchos errores en el camino . Solo asegúrese de aprender de todo (qué hacer, qué no hacer, qué no debe intentar volver a implementar y qué debe hacer). Tenga en cuenta que, como programador, aprenderá cosas nuevas todos los días de su carrera.

En general, el idioma no es importante. El sistema operativo no es importante. Si va muy lejos en la programación, usará varios idiomas, usará múltiples sistemas operativos, estas son solo herramientas, no se preocupe por “¡qué idioma necesito aprender primero!”. Hay límites para esto, por supuesto, no haría de Whitespace o Brainfuck mi primer idioma, pero cualquier cosa que sea remotamente popular lo hará, ni siquiera me molestaré en enumerarlos, probablemente ya sepas sus nombres.

Un último consejo. Si puede obtener un mentor, alguien a quien pueda usar para discutir su proyecto, alguien que tenga mucha más experiencia que usted, eso puede ser un gran impulso. La elección del mentor puede afectar el idioma que usa como mentor, y es más probable que lo ayude si no tiene que aprender un idioma nuevo solo para ofrecerle esa ayuda.

¡Buena suerte!

Lee esto:
La respuesta de Shiva Mahajan a Soy un estudiante de segundo año de B.Tech EE. Tengo poco conocimiento del lenguaje C y HTML-CSS básico. Tengo mucho material, pero no sé por dónde empezar, así que no lo he tocado. ¿Cómo puedo aprender a programar para ser un programador de élite sin nadie que me guíe?

Si quieres convertirte en un buen programador y debes trabajar en un buen mnc, entonces, comienza a aprender Ds, te ayudará a conseguir un buen trabajo. Si quieres aprender Java, entonces puedes hacerlo, pero ds es lo más valioso.

Comience a practicar su código, conozca los conceptos básicos de los lenguajes de programación a través del lenguaje C y luego continúe para practicar sus habilidades a través de hackerrank o aprenda algunos idiomas adicionales para ampliar su arsenal, comience con la academia de códigos del sitio web, por ejemplo, porque el 99.9% de lo que aprenderá en la universidad es Mierda.

More Interesting

Soy un Passout 2013 de B.Tech. ¿Puedo conseguir trabajo ahora en 2016? Todavía estoy más fresco sin experiencia.

Cómo obtener un trabajo actuarial sin experiencia relacionada, pero con el examen FM y el examen P y el examen MFE y el nivel 1 CFA aprobados

¿Qué es mejor para hacer un M.Tech en dominio eléctrico, IIEST Shibpur o DTU?

Soy un desarrollador de C ++ con 3 años de experiencia, tratando de encontrar otro trabajo antes de noviembre. ¿Es esto demasiado ambicioso?

¿Debería preocuparme si el título de un trabajo en la oferta de trabajo es diferente al anunciado?

¿Qué debo hacer para mejorar mi habilidad de habilidad verbal en 6 meses para el examen CAT?

¿Puedes ser un maestro de dos cosas?

¿El doctorado para crecimiento profesional y crecimiento financiero para un chico STEM trabaja como consultor de TI en marketing, ventas y cadena de suministro?

¿Cuál es la diferencia entre una persona que se gradúa con un título en ciencias de la computación de una de las 10 universidades mejor clasificadas y una que ocupa el puesto 300?

En la escuela, tengo la opción de elegir entre C ++ y Java (junto con HTML CSS, Flash y Photoshop). ¿Qué idioma debo elegir teniendo en cuenta el alcance para el futuro?

¿Cuál es la mejor manera de cambiar de trabajo con 2.5 años de experiencia en ETL?

¿Cuál es un buen trabajo inicial para un estudiante de finanzas?

Cómo aparecer para la marina mercante justo después de la 12ª calificación en pcm sin graduación

¿Es posible pasar de la consultoría tecnológica a la gestión de productos?

Sin una etiqueta IIT, pero un MBA de un IIM, ¿puedo ser ubicado en McKinsey?