¿Cuál es la mejor manera de aprender habilidades de codificación por mi cuenta?

En primer lugar, sugiero que construyas una base en un idioma. Mejore sus conceptos básicos en un lenguaje como Java, C ++ y luego continúe con el desarrollo para “construir algo”.
La mejor manera de hacerlo sería practicar mucho la codificación y ser minucioso con las estructuras de datos. Recomendaría inscribirse en un curso en línea.

Coding Ninjas ha lanzado su serie de cursos en línea para Java y C ++.
El concepto de sus cursos en línea es completamente diferente de los cursos en línea normales. Vea cómo:

  1. Sesiones breves de enseñanza: ¿Qué sucede generalmente cuando te registras en un curso en línea? Horas de sesiones de enseñanza y te das cuenta de que es tu muerte! Los ninjas han hecho que sus sesiones sean cortas y llenas de preguntas para que puedas aplicar lo que aprendas.
  2. Aprendizaje adaptativo: es muy común que pueda ser un poco estable o demasiado rápido con su ritmo. Para eso, han adaptado todo el contenido y las preguntas para que sea perfecto para sus necesidades.
  3. Asistentes de enseñanza: Una de las mejores cosas en Ninja’s es su TA y usted también obtiene eso en los cursos en línea. Siempre que tenga alguna duda, puede hacerles un ping y un TA estará allí para solucionarlo.
  4. Obtener la certificación: Para todas sus necesidades de colocación, si necesita un certificado, ¡lo tenemos!
  5. El mismo contenido: el contenido impresionante es el mismo que el de sus cursos fuera de línea. ¡Aún mejor es que lo obtiene a un precio más bajo, en las comodidades de su hogar! (Aur kya chahiye?)
  6. Seminarios web semanales: si la mayoría de ustedes todavía se siente resbaladizo con un tema, lo cubrirán de nuevo o lo enseñarán de manera más amplia al realizar un seminario web cada semana.

El plan de estudios consta de:

  • Construcción lógica: algoritmos, tipos de datos, bucles, etc.
  • Fundamentos de programación: cuerdas, arreglos, recursión, etc.
  • Conceptos de OOPs
  • Estructuras de datos: listas enlazadas, árboles, montones, gráficos, etc.
  • Temas avanzados: programación dinámica, hash, un juego, etc.

Todos los mejores 🙂 Registros ya están abiertos para los lotes de agosto.

Para más información, visite Coding Ninjas.

Además, mire la respuesta de Ankush Singla a ¿Cuáles son los méritos y desventajas del curso en línea de C ++ para codificar ninjas?

La mejor manera de aprender a codificar es comenzar a codificar. Siga los pasos que se indican a continuación en cualquier idioma de su elección. (Se prefiere C). Si no tiene un IDE, pruebe sus códigos en http://www.ideone.com

  • Comience con el programa Hello World.
  • A continuación, intente algo de aritmética básica para comprender diferentes tipos de datos. Utilice el operador de mod y la división para comprender la precisión de cada tipo de datos.
  • Siguiente Comience a escribir programas que acepten la entrada del usuario.
  • Una vez que haya terminado con eso, pasar a las declaraciones condicionales. Utilice las escalas if-else, else-if y los casos de cambio.
  • La siguiente es la iteración. Comprender la diferencia entre hacer do-while, while y para loop. Luego trata de hacer patrones usando el mismo.

A estas alturas ya debería ser capaz de hacer programas como el simulador de cajeros automáticos y la calculadora.

  • Luego viene su primer paso hacia las estructuras de datos: “Arrays”. Aprende a entender e implementar los algoritmos de clasificación y búsqueda.
  • Luego viene “Strings”.

Por ahora puedes hacer programas como bases de datos para bibliotecas y bancos.

  • Empieza a hacer funciones ahora. Comprender cómo funcionan los parámetros y la función que devuelven un valor.
  • Una vez que esté familiarizado con el funcionamiento de las funciones, comience a usar la recursión.
  • Intenta rehacer todos los programas que hiciste usando iteraciones usando recursión (aunque no todos pueden hacerse a través de recurión).

Creo que para un principiante, este conocimiento de código es suficiente.
Además, cuando cambie a C ++ o Java, se le presentarán los conceptos de OOP y aprenderá a trabajar con clases.

Y si alguna vez te encuentras con una duda o te encuentras confundido, siempre puedes usar stackoverflow

Para implementar lo que ha aprendido sobre problemas más difíciles, puede probar con jueces en línea como SPOJ y Codechef.
Hazme saber si encontraste mi respuesta útil. Y bienvenidos al maravilloso mundo de la programación.

Cree un proyecto en el que esté interesado y comience a codificar. Cuando te topas con un obstáculo o un problema, búscalo en Google. Es probable que alguien más se haya encontrado con el mismo problema y haya respondido su pregunta en Stack Overflow o Stack Exchange (sitio web).

Para mí, por ejemplo, me inspiré en este blog (The Jackal of Javascript | Arvind Ravulavaru) y estaba interesado en crear un sitio web / blog personal al que pueda consultar en mi currículum para mostrar mis habilidades.
Esto me sirvió para dos propósitos:

  • Practicar la codificación.
    De hecho, siempre que quiera jugar con un nuevo marco o probar nuevos conceptos, extiendo mi sitio web (terminología de git) y juego.
  • Aumentar la comerciabilidad.
    Usted se sorprendería de cuán pocos solicitantes codifican su sitio / blog personal.
    Crear mi propio sitio / blog me hizo destacar entre la multitud.

Otro ejemplo, toco en una banda de covers con al menos 4-5 amigos más. Luchamos para comunicarnos entre nosotros debido a nuestros horarios. También nos cuesta compartir partituras y grabaciones.
Hey, tengo una idea? ¿Por qué no crear una plataforma / entorno adaptado a los músicos donde pueden organizar eventos, compartir documentos y grabaciones, comunicarse de forma asíncrona (no en tiempo real) o sincrónicamente (en tiempo real)?

La idea de un sitio web / blog personal o una plataforma de banda puede no ser atractiva para usted, y eso está bien. Solo necesitas encontrar algo que te interese.

Durante los próximos días, semanas o meses, preste atención a los problemas u obstáculos que encuentre; Puedes encontrar inspiración allí.

A veces no es propicio aprender solo estos pequeños “elementos”, como lo enseña la codeacadimy. Desafortunadamente, al comenzar, no reconoces fácilmente que toda la programación consiste en construir bloques uno encima del otro, encajar una pieza pequeña para ayudar a que las otras piezas funcionen juntas para hacer finalmente una “cosa” más compleja del conjunto. Es por eso que esta forma de aprendizaje “de abajo hacia arriba” no siempre ayuda mucho, al menos no si no tiene algún objetivo por el que trabajar.

Por esta razón estoy de acuerdo con la mayoría de las otras respuestas aquí. Debes darte un “proyecto” objetivo (o conjunto de proyectos) que es algo que te gustaría hacer. Muchas muestras ya se mencionaron como juegos / herramientas / sitios web / etc., pero esto debe decidirlo usted mismo: usted sabe lo que le gusta, los demás solo pueden decirle lo que les gusta.

Una vez que haya encontrado algo que le gustaría hacer, intente hacerlo utilizando lo que ya ha aprendido. No intente ser “inteligente” al respecto, solo hágalo de la forma más directa posible. Si llega a una sección en la que simplemente no sabe cómo hacerlo, intente dividirla en “partes” más pequeñas y vea si puede resolverlas por su cuenta. Si aún no puede lograrlo, haga algunas búsquedas en la web para esos problemas en particular, vea si puede encontrar algún libro / tut que cubra este problema en particular que haya encontrado. Finalmente (si no puede encontrarlo), haga preguntas a otros programadores, a quienes pueda conocer, en línea a través de foros, etc.

Una vez que hayas puesto a trabajar tu proyecto, mira a revisarlo / probarlo. Vea en qué podría mejorar y / o expandir. Esto suele ocurrir cuando se tiene la idea de tener muchos proyectos en mente al comenzar. Pero incluso con un solo proyecto, si es lo suficientemente complejo, debería poder ir muy lejos en el aprendizaje. Por ejemplo, ver si puede agregar funciones adicionales fácilmente, ver qué debe cambiar y qué pudo haber hecho al principio para habilitar tales cambios más fácilmente. También mire lo que podría haber hecho “mejor”, utilizando algoritmos más óptimos, otras estructuras de datos, código más claro / más legible / etc.

Gran pregunta

Codeacademy es una excelente introducción, pero como dijiste, no te enseñará a codificar realmente para construir algo. He encontrado que el mejor recurso (al menos para mí) es Learn Web Development for Free. El problema con aprender de la web es que hay un montón de cosas por ahí, algunas útiles, otras una pérdida de tiempo. El Proyecto Odin extrae recursos ‘buenos’ de toda la web para mantenerlo en el buen camino.

Mientras trabaja en su curso, piense en algo que quiera construir, y a medida que adquiera las habilidades, desarrolle esa parte. Luego, cuando te quedas estancado, sigue haciendo el trabajo del curso hasta que puedas hacer un poco más en tu proyecto. Aprenderás mucho de esta manera. Me gusta crear cosas de conectividad con un servicio llamado API para mensajería de texto, VoIP y voz en la nube. Puede encontrar otro interés.

Por último, necesitas un mentor. Alguien con quien puede llamar o hablar después de haber estado luchando con el mismo código durante 3 horas. Primero buscaría reuniones de código en tu área (Encuentra a tu gente – Meetup) y veré si puedes conectarte con alguien allí. Si no, contratar a alguien fuera de Elance por una hora a la semana solo para hacer preguntas ayudará mucho.

Los mejores deseos en tu viaje.

Siempre, y quiero decir siempre, la mejor forma de aprender es comenzar un proyecto propio (posiblemente más de uno) y aplicar lo que sabe. A medida que obtenga más información, vuelva al proyecto y actualícelo o expándalo.
Esto le proporcionará práctica adicional y lo motivará a buscar más información sobre temas que aún no están cubiertos por el curso (si es que alguna vez lo hará).

La gran pregunta es ¿qué quieres hacer?

  1. Los juegos son bastante comunes, y desarrollar uno tiende a cubrir una amplia sección de temas. Hay mucha literatura sobre el tema, incluso varias publicaciones que están diseñadas para ayudarlo a desarrollar un juego de principio a fin (me temo que no recuerdo los títulos, hace algunos años que no toqué uno de ellos por última vez). )
  2. Si puede pensar en una utilidad que realmente usaría, eso también es bueno, ya que tiene una razón no trivial para crear una. Aquí hay una pista: los ingenieros de software no resuelven los problemas con la fuerza bruta, sino que desarrollan herramientas para resolver los problemas por ellos. 🙂

Algunos sitios alternativos para codificar academia –
La respuesta de Warren K. Guerrero a ¿Existen plataformas de programación para programar, aparte de Codecademy?

Mi currículum personal de pila completa recomendado
La respuesta de Michael Joseph Rosenthal a ¿Dónde aprendes a ser un desarrollador de pila completa, desarrollador de iOS, etc.?

Cursos en línea – en cualquier momento, en cualquier lugar | Udemy, Aprende desarrollo web de forma gratuita, Aprende a codificar, Tutoriales web en línea de W3Schools, Aprende a codificar haciendo – Code School

Comencé con Codeacademy, luego me mudé a la casa del árbol y al principio me parece que las lecciones son fáciles, pero se hacen un poco más difíciles. Otra cosa que puedes hacer es hacer algunos tutoriales que encuentres.
Ej: Hacer una aplicación de calendario con Ruby o Swift.
Le aseguro que incluso si sigue estos tutoriales paso a paso, se encontrará con problemas. A veces es algo simple, a veces es algo difícil porque un paso fue omitido deliberadamente. Prueba esos.

Codeschool es un muy buen lugar para aprender codificación. Sus cursos de video son realmente fáciles de seguir y después de cada conferencia tienen una sección de cuestionarios y exámenes. Codeschool también ofrece un descuento para el primer mes que puede ser útil:

Inscribirse en el código de la escuela por 9 dólares

Por favor, lea mi respuesta a “¿Dónde está el mejor lugar o los mejores lugares para aprender a codificar idiomas en línea?”

Código de referencia: CQXFL

Rs.1000 de descuento en la codificación de cursos en línea de ninjas.

Puedes buscar en Google y obtener muchos problemas de programación y leerlos.
¡Resuelve tantos problemas como puedas!
Esa es la única manera.