¿Cómo haría un estudiante de secundaria para aprender C ++?

“Aprendí” a programar antes de tener acceso a una computadora. No estoy sugiriendo aprender C ++ sin usar una computadora, pero sí quiero sugerir que no necesitas una clase o un libro de programación para hacerlo. Hubo varias revistas de informática y boletines en la década de 1970 que incluían programas o artículos sobre cómo hacer algo en particular. Y los leí una y otra vez. Al principio, no pude entender mucho de nada. Pero pronto me familiaricé con ciertos comandos y noté estructuras de control, etc. Recorrí mi camino a través de un programa y vi cómo funcionaba. [La película TRON obtuvo su título del comando TRace ON.] Fue desafiante y divertido, pero mucho trabajo, y no conocía a nadie más con quien pudiera hablar al respecto.

No sé qué le interesa, pero creo que podría enumerar tres o cuatro cosas de la cabeza que se prestarían a la programación. Hay muchas preguntas que nos serían difíciles de responder por nuestra cuenta, pero que pueden responderse fácilmente usando un programa de computadora muy corto, como “¿Qué día de la semana fue el 15/03/1832?” el año 1800 un año bisiesto? ”,“ ¿Cuáles son los primeros 500 números primos? ”,“ ¿cuál es la suma de los múltiplos pares de tres menos de 1000? ”- haga una lista de tales preguntas y hágase estas preguntas sobre cada una: ¿Qué información necesitas para poder responderlas? ¿Puedes encontrar una manera fácil de obtener la información? ¿necesita dividir el problema en pedazos? Algunos de estos son clásicos y aún vale la pena descubrirlos.

Además de estos programas “cortos”, también hay algunos proyectos que podría hacer que le enseñarían sobre diferentes aspectos del lenguaje. Para ellos, podría comenzar con algún código que alguien más haya escrito e intentar averiguar cómo funciona. Luego ejecuta el código. ¿Hay algunas cosas que puede modificar en el código? Intente cambiar algunas cosas y vea si lo rompe o no. Ahora haga algunos cambios más grandes. ¡Guauu! Así es como aprendes y descubres.

Un lugar para comenzar, si está interesado en la psicología o el procesamiento del lenguaje natural o la inteligencia artificial, sería mirar algunos programas clásicos. Una que se ha modernizado a C ++ y tiene un buen artículo que explica la estructura de algunos de los códigos es Eliza. Si esta es su primera experiencia con un lenguaje de programación, puede parecer imposible descifrar algo del código. Pero es sorprendente lo que puedes aprender si decides no asustarte. Vea si puede descubrir las diferentes partes. Mira lo que depende de otra cosa. Vea dónde se procesa y crea el idioma real. No te preocupes si no lo entiendes todo, porque aprenderás mucho solo jugando con él. Este tipo de proyectos le enseñarán a usar cadenas, almacenar datos y mantener listas.

Otro proyecto divertido se basa en el juego de la vida (no en el juego de mesa). Leí un artículo en Scientific American sobre el juego de la vida, y en particular, WaTor, donde había peces y tiburones en el mar y el tiburón se comió a los peces o murieron. Una versión actualizada llamada SugarScape [En esta, puedes pensar en hormigas en el suelo a las que les gusta comer azúcar. En lugar de un paisaje, tienes un Sugar Scape.] Podría ser un buen punto de partida. El código C ++ para esto está aquí. Es sorprendente qué patrones se pueden crear usando reglas muy simples. Lo que es bueno de este es que realmente se presta a la programación orientada a objetos, OOP.

Ambos proyectos usan código que alguien más ha creado y le enseñan aspectos importantes de C ++. Mire muchos ejemplos de código que intentan hacer lo mismo. Mira lo diferente que está escrito.

Después de haber realizado un par de proyectos en los que usa el código de otra persona, es hora de comenzar a trabajar en sus propios proyectos. Un comienzo fácil sería hacer un juego en el que dos jugadores, cada uno con cánones, intente borrar la ubicación de la otra persona; use ecuaciones cuadráticas para la trayectoria y permita que los jugadores decidan el ángulo de elevación del cañón y la cantidad de pólvora que pondrán en el tubo. Para un desafío mayor, crea un juego como tic-tac-toe donde la computadora juegue contra ti. Tenga en cuenta que hay diferentes cosas que debe hacer. Este segundo es más desafiante porque no es solo conectar una ecuación, sino descubrir cómo escribir un programa que descubra qué juego debe hacer la computadora.

Digamos, en cambio, que le fascina la trigonometría, los relojes o el tiempo. Un gran proyecto, que usaría esto, sería descubrir cómo programar una esfera de reloj analógica. (Si nunca ha aprendido a leer uno, esta sería una buena oportunidad sin siquiera tener que intentarlo). Esto le presentaría los gráficos y usaría muchas matemáticas. Rompe el problema. Primero, ¿puedes descubrir cómo dibujar un círculo? ¿Qué pasa con una línea desde el centro del círculo hasta el borde? Ahora descubre cómo dibujar números alrededor del interior del círculo y colócalos justo. ¿Son los tamaños correctos? ¿Qué hay del color? Tendría que descubrir cómo dibujar las manecillas y moverlas a medida que cambia el tiempo: su manecilla de segundo, minuto y hora comenzaría cada una en el centro de la esfera del reloj y se iría a una distancia diferente hacia el borde. Puede convertir el tiempo en ángulo alrededor de la esfera del reloj. ¡Guau, se ve horrible! pero lo hiciste así que es genial. Ahora intenta hacer que se vea bien. ¿Puedes agregar un lugar, como en algunos relojes, para mostrar la fecha y el día de la semana también? Los relojes viejos a menudo también mostraban la fase de la luna: un círculo grande que representaba la luna se movía entre dos círculos para mostrar una astilla de la luna, luego un poco más, luego un cuarto y media luna hasta que se mostraba todo (lleno) En la época de la bruja, la luna comenzó a desaparecer detrás del otro círculo hasta que desapareció (nueva). Un par de imágenes que muestran este tipo de caras están aquí y aquí.

¿Cómo averiguarías si pudieras ver a Marte en el cielo por la noche? ¿Puedes agregar eso a tu esfera del reloj?

Lo que básicamente digo es que te ensucies las manos. Averigüe algo que le resulte divertido programar, divídalo en pedazos, juegue con ellos y ajústelos, e intente escribir un programa que pueda hacer lo que quiera. Mire muchos ejemplos, especialmente donde se ha logrado lo mismo de diferentes maneras. Y pronto tendrá una idea de algunas de las cosas que C ++ puede hacer y cómo las hace.

Si un proyecto te lleva uno o dos meses, está bien. Si terminas haciendo algo completamente diferente de lo que esperabas, no hay problema. El objetivo es aprender, y la mejor manera de aprender es trabajar en cosas que le interesan y estirarlo para usar habilidades que ya ha aprendido, y desarrollar habilidades que aún no ha dominado.

Y libros? ¡Son geniales! Pero tendrán mucho más sentido después de que haya realizado algunos proyectos y haya tenido dificultades por su cuenta. Es posible que incluso desee rehacer algunos de los proyectos después de haber leído un libro o artículo. Eso es genial ¿Puedes ahora hacer el proyecto de una manera completamente diferente?

Una cosa que podría ayudar es tener la meta de gastar, por ejemplo, cinco horas en programación cada semana. Marque las horas, y si para el sábado no ha tenido tiempo, ya sabe lo que debe hacer durante el fin de semana.

Buena suerte y haznos saber cual fue tu decisión.

Pruebe un tutorial en línea, como Learn C ++

Si está buscando problemas de programación, sugiero Acerca de – Proyecto Euler para problemas matemáticos que se resuelven mejor con la programación de computadoras. Estos pueden ser desafiantes pero mejorarán en gran medida su capacidad de pensar como programador.

Nota al margen: recomendaría Python como su primer lenguaje de codificación, es más intuitivo y se está volviendo muy popular y demandado. (Para aprender Python, recomiendo Aprender a codificar)

C ++ tiene una extensa documentación en línea. Si tiene experiencia con otros idiomas, elegir la sintaxis no debería ser un desafío. Por supuesto, asegúrese de estar familiarizado con sus fortalezas y debilidades en comparación con otros lenguajes como Java.

Aprender haciendo. Tal vez cree un juego de rol de base de texto. Eso podría hacer uso de

  • Programación orientada a objetos (clases para enemigos, personajes, etc.)
  • Matrices (tal vez una matriz 2D para el mapa)
  • Bucles (el bucle principal del juego con bucles internos potenciales para el sistema de batalla)

Terminar múltiples proyectos finalmente mejorará su técnica, siempre y cuando se esfuerce activamente por escribir código “bueno”.

Hay más documentación en línea sobre programación que nunca.

¡Buena suerte!

Personalmente, me resulta aburrido leer las biblias de C ++.

Mi recomendación es comenzar con un proyecto simple. Una calculadora sería un buen comienzo. O tal vez algunas aventuras de historias interactivas con símbolo del sistema. Solo aprende de un proyecto .

Recuerdo mi primer proyecto. Era el clásico juego de Tic-Tac-Toe. Utilicé un generador de números aleatorio (no realmente aleatorio, pero me dio la ilusión de usar el tiempo de la computadora) para simular movimientos aleatorios realizados por la computadora.

Ahora no será algo tan genial como un juego AAA, pero definitivamente es un comienzo.

¡Buena suerte!

  • Paso 1: Ve a tu biblioteca local. Asegúrate de agradecer a Andrew Carnegie en el camino.
  • Paso 2: Encuentra la sección 000 en los libros de no ficción.
  • Paso 3: Localice los libros de programación, y más específicamente los libros de C ++.
  • Paso 4: Mira el libro de C ++ y llévalo a casa.
  • Paso 5: Lee el libro, haz todos los ejemplos y aprenderás C ++.

¡Buena suerte!

Aprender C ++ solo será difícil y puede ahogarse en él. Supongo que tiene algunas habilidades básicas de programación en algunos idiomas.

No estoy seguro, si está familiarizado con el lenguaje C, en caso afirmativo, no debería ser tan difícil saltar a OOP. Pero debe tener a alguien a quien preguntar y discutir qué está tratando de hacer.