Si tuviera que regresar y volver a aprender su conjunto de habilidades, ¿cómo lo haría? [cerrado]

16

Mi hermano menor está buscando comenzar a programar. Tiene 14 años y tiene una inclinación técnica, pero no tiene experiencia real en programación. Me está buscando orientación, y no siento que mi experiencia sea suficiente, así que pensé en preguntar aquí.

Está más interesado en la programación web, pero también está interesado en las aplicaciones de escritorio / móviles / servidores.

¿Cuál sería un buen camino de aprendizaje para él? Voy a comprarle un montón de libros para Navidad para que comience; la pregunta es, ¿qué debería aprender y en qué orden?

A mi modo de ver, él necesita aprender teoría y código. Me gustaría comenzar con Python, Ruby o PHP. Si quiere ingresar a la web, también necesitará aprender HTML, CSS, Javascript, etc.

De esos tres dominios (Idiomas, Teoría, Marcado / Etc.), ¿Cuál es el mejor orden en el que piensas aprender? Además, ¿me estoy perdiendo algo?

¡Gracias!

vorbb
fuente
18
En lugar de libros, compre una suscripción de un año a un sitio de alojamiento. Hay mucho para principiantes en la web de forma gratuita. Poner sitios en tu computadora en casa solo tiene mucho factor para un adolescente.
JeffO
Jaja, ejecuto una serie de VPS con los que lo he configurado, ¡así que debería ser bueno para ir a ese departamento!
vorbb

Respuestas:

10

Registre una cuenta para StackOverflow.com y Programmers.StackExchange.com

y conseguir que el hábito de navegar por diferentes preguntas cuando él se aburre . Comience con las preguntas más populares / populares.

también

¿Ayudarlo a llegar a la meta de algo que quiere crear que esté un poco más allá de su alcance, un juego simple, una aplicación que pueda enviar un tweet? Tiene que ser algo emocionante . Esto ayudará a guiar los temas a los que se expone y le proporcionará motivación a través del resultado tangible que crea.

Y

Siempre que sea posible , no compre libros en forma física si funciona bien con la impresión digital , ¿estoy seguro de que uno de ustedes tiene un Android, iPhone, Blackberry o iPod Touch? Obtenga la aplicación ibooks o kindle y compre versiones digitales .

Tener que lidiar con un libro físico ralentiza el proceso de adquisición de conocimiento; Las herramientas integradas en los lectores digitales proporcionan muchos beneficios a la lectura técnica.

Nota: como se menciona en los comentarios, hay inconvenientes en los libros digitales versus los impresos, así que tome este punto con un grano de sal

instancia de Tom
fuente
15
No estoy de acuerdo con la lectura digital. En realidad, les doy a los estudiantes los papeles y hago que lo lean. En una computadora, son demasiado pronto distraídos por todos los otros dulces. Estudiar conceptos se hace mejor lejos de cualquier dispositivo digital en mi experiencia. Además, leer en un móvil mata tus ojos. ¿Qué pasa con esquemas y figuras? la única ventaja son los enlaces, pero eso no ayudó demasiado a nuestros estudiantes.
Joris Meys
1
@Joris Meys, reconozco que la lectura móvil es más difícil para los ojos, y 'distraerme con el otro dulce' sería un problema, pero al mismo tiempo puedo absorber información mucho más rápido cuando puedo buscar fácilmente a los desaparecidos piezas ... Ni siquiera puedo comenzar a estimar la cantidad de pestañas que engendro en mi navegador cuando investigo algo nuevo.
instanceofTom
6

Realmente me gusta la forma en que llegué a la programación; Lo único que puedo imaginar cambiar es mi acceso a los libros. Mi familia no tenía el dinero para todos los libros que podía devorar, y nuestra pequeña biblioteca rural no tenía exactamente manuales técnicos. En el gran esquema de las cosas, este es un pequeño detalle.

Estoy totalmente en desacuerdo con aquellos que dicen que no puedes aprender teoría a los 14. Cuanto antes aprendas la teoría, mejor. Yo leo El arte de la programación de computadoras a los 14 años, aunque ya llevaba un tiempo codificando.

Lo mejor que puede hacer por su hermano es darle las herramientas para perseguir sus intereses e incluirlo en la comunidad de hackers / codificadores siempre que sea posible, para que pueda aprender la mentalidad de un gran codificador.

  • Empujarlo lejos de las herramientas de propiedad siempre que sea posible. Hay mucho más disponible para él en el mundo del código abierto. Me puse tan bueno como lo soy en gran medida debido a la orientación que recibí de personas más experimentadas en la comunidad de código abierto.

  • Si puede permitírselo, obtenga una cuenta de Safari o ayúdelo a comprar libros cuando sea necesario. Incluso prestar lo que ya posee puede ayudar.

  • Asegúrese de que tenga acceso a una computadora de escritorio o portátil decente y a un servidor o VPS para experimentar. Si lo suyo son las aplicaciones móviles, asegúrese de que tenga un teléfono o dispositivo de demostración para trabajar.

  • Muéstrele cómo encontrar canales IRC, listas de correo, etc. para las cosas con las que está interesado en trabajar.

  • Asegúrese de que sepa cómo hacer preguntas inteligentes y, por el contrario, los detalles de una sanguijuela de apoyo para que sepa qué no hacer.

  • Su primer lenguaje de programación no es el factor más importante. La totalidad de los lenguajes de programación que aprende es extremadamente importante. Los codificadores de un idioma nunca pasan un cierto nivel (relativamente bajo) de codificación-foo.

HedgeMage
fuente
Definitivamente de acuerdo allí. Estaba bien ensamblado a los 14 años, definitivamente no demasiado joven para un niño brillante. Tuve los PRM RISC OS para mi regalo de cumpleaños número 14. ( computinghistory.org.uk/userdata/PRODPIC-12025.jpg - dios, me encantaron esos libros). Pero luego comencé a las 7.
Orbling
3

Me gustaría aprender cosas para el ámbito de la telefonía móvil, eso es lo mejor en bienes raíces allí. Haga que se configure con un IDE que tenga un emulador de teléfono, y consígale un teléfono al que pueda enviar las aplicaciones .

Prepáralo para un uso real y piratería, complementado con alguna teoría de tus libros para guiarlo. Asegúrese de que tengan buenas muestras.

BlackICE
fuente
+1 por dar el hardware necesario. Eso va a ser más un problema que la información.
Joris Meys
2

Yo iría a la escuela si fuera de la universidad. Me gustaría ir a la secundaria, si fuera de la secundaria.

Tendría una misión y ajustaría el plan de estudios en consecuencia a los 14.

mucha gente me decepcionará por esto, pero Visual Basic .NET parece ser más fácil para algunos, solo diciendo amigos. Parece ser así para muchos que no están en el iniciado.

johnny
fuente
3
Si el hermano mayor puede ayudar o la escuela secundaria local lo usa, eso puede ser más beneficioso. Ahora creo que .NET IDE es lo que facilita la creación de un sitio web y no necesariamente el idioma elegido. ¿Un principiante podría aprender C # con la misma facilidad? El mandarín es un idioma difícil, pero los niños pequeños en China lo hacen bien.
JeffO
2

Comenzar con web dev es una buena idea. Puedes obtener resultados incluso si eres un verdadero principiante, y si te equivocas, no importará mucho.

Yo diría Html / CSS + Php. Como Jeff declaró en su comentario, tener su sitio alojado será importante, y los proveedores de Php no son caros, a menudo incluso gratuitos.

En cuanto a la teoría, simplemente lo olvidaría por el momento. Según tengo entendido, en su mayoría quiere divertirse, y seamos sinceros, la teoría no es muy divertida. Además, si le gusta la programación, tendrá mucho en la escuela.

Obviamente, a todos nos importa un buen código, pero si solo va a jugar, ¿qué importa si su código es desordenado?

Eco distante
fuente
+1 Por mencionar la necesidad de resultados rápidos para principiantes y desordenar sin causar molestias.
Orbling
2

programación web / escritorio / móvil / servidor? Me parece que está interesado en todo. Sin embargo, el problema es que debe comenzar con algo.

Muchos no estarán de acuerdo, ya que, por supuesto, no hay una respuesta "correcta" a esto, pero le compraría un libro sobre Python ( Learning Python es lo suficientemente grueso y exhaustivo como para mantenerlo ocupado durante mucho tiempo), y definitivamente es un lenguaje que le dará una buena proporción de cosas que aprendí frente a los dulces visuales (es decir, lo que se puede lograr con él). También es un buen punto de partida para muchos de los anteriores.

Después de eso, vea qué es lo que más favorece de lo mencionado anteriormente, y diríjalo más lejos con consejos en esa dirección.

Torre
fuente
2

¿Su escuela secundaria ofrece clases de informática? Por ejemplo, en los Estados Unidos, el programa de Colocación Avanzada tiene una clase de ciencias de la computación que analiza bastante los conceptos básicos de ciencias de la computación (flujo de control, prácticas básicas de desarrollo orientado a objetos, bucles, etc.).

Pude asistir a una escuela secundaria que ofrecía cursos de ciencias de la computación durante básicamente los 4 años (desde un curso introductorio hasta LIPS básico, MIPS y Open GL). Terminé probando lo básico en la universidad y luego volví a aprender muchos otros idiomas y temas en los cursos de nivel superior. Puedo decirles que el cerebro de 14-17 años tenía muchas más dificultades para entender la teoría que un cerebro de 18-22 años. Temas como la recursividad, la aritmética de punteros, la programación de bajo nivel, la topografía de la red y la programación funcional me tomaron mucho tiempo en llegar a la escuela secundaria, pero la segunda vez en la universidad me pareció muy fácil, quizás porque yo '

Aunque fue difícil, pensar en CS a partir de 14 es extremadamente útil. Hacerlo sin maestros parece que hubiera sido complicado. Hubiera pasado tiempo desarrollando páginas web por diversión porque es lo que me encantaba hacer en ese entonces (y ahora), pero nunca me habría enseñado a mí mismo los punteros, la recursión y el LISP por diversión en ese momento.

justkt
fuente
1

Yo personalmente no comenzaría con la teoría hardcore. Comenzaría con una programación práctica entremezclada con algunos elementos de la teoría. Podría mantener a uno mucho más motivado y no asustarlo.

Es, por ejemplo, un caso con escuelas musicales. Una gran parte de los estudiantes renuncian porque se aburren con la teoría y eventualmente pierden interés.

Además, la teoría no es tan buena cuando se aprende antes de ensuciarse las manos con la práctica. No sabrá cuándo y cómo aplicarlo.

Pero si tenía algún conocimiento teórico y luego practicaba mucho, después de eso, un curso serio en TI lo empujaría a un nivel diferente. De lo contrario, los años pasados ​​en una universidad se desperdician en un año sordo.

En ese orden:

  1. Alguna teoría básica sobre hardware, arquitectura de computadoras y programación de ese hardware. Solo básico.

  2. Luego desarrolle cosas prácticas. Aplicaciones básicas para mantener el interés. Primero local, luego algo con gráficos. Páginas web aún no, ya que le gustaría demostrar la programación del lado del servidor y, a menudo, es inútil sin bases de datos.

  3. Déjele algunos cultivos de conocimiento de base de datos

  4. Interfaz su aplicación local con la base de datos. Luego intente el desarrollo web.

  5. Ajusta el rumbo a medida que avanzas.


fuente
0

Mi preferencia lógica basada en lo que sé ahora:

  1. Averiguar cómo funcionan las cosas ahora. Si bien usted afirma que tiene una inclinación técnica, ¿qué tan bien comprende cómo funciona una computadora en este momento? Por ejemplo, ¿comprende las diferencias entre el marcado y los guiones? ¿Qué hay de escribir pequeños guiones para hacer esto o aquello? Esta sería mi sugerencia para un punto de partida, ya que desmitificar lo que tenemos a nuestro alrededor es un buen punto de partida dado todo lo que podría explorarse con bastante libertad.

  2. Elija un idioma, IDE y control de fuente. Ahora bien, si bien esto puede parecer bastante difícil de arrojar a alguien, estas son las herramientas más bien básicas que con un poco de práctica podría pasar a cosas más grandes. Averiguar cómo hacer un "¡Hola Mundo!" La página web que tiene el mensaje incrustado en JavaScript no es un mal punto de partida si uno quiere algo más concreto aquí.

  3. Ahora comience a agregar algunas de las cosas más difíciles. ¿Cómo hacer bucles o condiciones? Esto no es realmente tan sofisticado todavía, pero todavía estamos entendiendo la etapa de bloques de construcción aquí. Finalmente, presente la idea de clases y cuáles son algunas ideas detrás de este concepto.

Ahí sería donde comenzaría si alguien quisiera obtener algunos conceptos básicos de mi conjunto de habilidades.

JB King
fuente
0

Nunca pensé que diría esto, pero consíguele Alice 3.0 .

Odio a Alice con la furia ardiente de mil soles, pero definitivamente hace un buen trabajo al enseñar los fundamentos de la programación (bucles, declaraciones, funciones, etc.) cuando se combina con un tutorial decente.

Una vez que sea sólido en lo básico, pase a un lenguaje basado en texto más práctico.

Maxpm
fuente
0

Me gustaría comenzar con Python, Ruby o PHP. Si quiere ingresar a la web, también necesitará aprender HTML, CSS, Javascript, etc.

Esto parece razonable. Impartir algunas habilidades básicas y ayudarlo a desarrollar una idea para un proyecto desafiante en el que seguirá interesado.

Sus primeras experiencias no necesitan ser perfectas, de hecho, ayudará si comete muchos errores temprano. Solo debes asegurarte de que siga interesado en expandir su conocimiento. Cuando llegue a sus limitaciones, estará rogando por ayuda y usted puede apuntarlo en la dirección correcta si aún no se ha diversificado al material de referencia.

smp7d
fuente
0

Consígale un libro sobre Test Driven Development. Hará pruebas unitarias sólidas segunda naturaleza para él. Ojalá aprendiera a tener las pruebas como núcleo de mi programación desde el principio.

Tom Squires
fuente
0

Yo comenzaría con un lenguaje basado en C. He descubierto que hay más recursos útiles para ellos. También puede buscar un libro sobre cómo diseñar y formatear su código para que comience usando buenos principios de codificación. Tuve una clase dedicada a ello y utilizamos un libro llamado "Código limpio" y otro titulado "Desarrollo de software: principios de diseño" si no recuerdo mal. También desearía haber sido introducido en este sitio antes jaja.

Sin embargo, lo que más me ayudó fue obtener una pasantía temprano en mi carrera universitaria. Salí a las ferias de carrera como estudiante de primer año y recibí una pasantía en mi segundo año. También trato de tener un proyecto en el que estoy trabajando en todo momento y me gusta hacer algo que nunca antes había hecho para seguir aprendiendo. En este momento estoy trabajando en el uso de una tarta de frambuesa e implementando Siri de Apple para un sistema de automatización del hogar.

Básicamente, haz lo que sea necesario para que sea divertido. No te frustres. Tomar descansos. No te dejes atrapar por los libros. A veces, la mejor manera de aprender es ir a por ello y usar prueba y error.

Ah ... y aprende a Google :)

JLott
fuente
0

  • C
  • c ++
  • Python hasta la programación básica
  • luego HTML
  • css
  • javascript
  • trabajar duro con css es muy importante y javascript hasta el nivel mínimo de validación
  • luego srart python para html y obtener url
  • entonces marco si todas las etapas están bien


    los niveles se siguen

  • nivel básico con símbolo del sistema para comprender la anatomía básica
  • nivel de aplicación
  • nivel gráfico del mouse
  • nivel web
  • nivel de diseño
  • nivel de base de datos


    no olvide modularizar las cosas cuando enseñe, entienda y él no entenderá javascript hasta que sepa c / c ++ o python, etc.

  • una vez que conoce la programación básica, puede hacer HTML fácilmente
  • una vez que sepa html le gustará css
  • pero deténgase e intente más con css para que se generen nuevas ideas y sienta que necesita ayuda para comenzar con el proyecto, luego tratará de aprender JavaScript y Python con la base de datos para completar el proyecto.



    Añadido el 07/04/2013

    a la edad de 14 años, cuando desee probar su programación práctica primero, necesita comprender qué recurso necesitaba para completar la tarea o proyecto o pautas básicas, así como mencioné primero en mi post aprender programación básica, lo ayudará para entender cómo funcionan los programas o el software con bucles y condiciones, la próxima vez que piense que entiendo todas las cosas, pero no sé cómo acceder al mouse o hacer algo cuando hago clic en alguna parte, probará algunas bibliotecas como gráficos y mouse, para que entienda cómo funciona esto, la próxima pregunta le vendrá a la mente cómo colocar mis botones y agregar eventos para que puedan interactuar con mi código, por lo que le gustaría aprender la programación de eventos y luego cuando complete esta etapa, surgirá la siguiente pregunta que hago muy grande código y no sé cómo llamar a la función es un poco complicado,luego intentará modularización, objeto y clases para la aplicación,

    después de eso, pensarás que sé cómo construir una aplicación básica, pero quiero hacer una aplicación para la base de datos, luego la Base de datos viene a la mente, te gusta aprender, pero el problema es que sientes que es difícil conectarte con el código, así que trabajarás en la base de datos símbolo del sistema,

    es un enfoque programático, creo, lo hago y aprendo de la misma manera y mis conceptos básicos son muy claros para que pueda entender cómo funcionan las rutinas o el programa,
    una vez que entiendes y tienes mucha confianza en ti mismo, puedes hacer que la aplicación para escritorio pruebe las mismas habilidades para HTML


    cuando pruebe html, sentirá que es mucho más fácil de lo que aprendió anteriormente, solo porque dedicó mucho tiempo a lo básico.
    en html, entienda la estructura y cómo funciona el código, una vez que sepa esto, le gustará dar validación y conectividad a la base de datos para la aplicación, intentarlo y tener éxito en un día, puede construir fácilmente botones de lugar de forma y validar con la mitad de javascript, entonces te harás una pregunta a ti mismo. Hice todo, pero ¿qué hay de mirar? No coinciden con lo que veo en Internet, así que intenta con css, estoy muy seguro de que si intentas dedicadamente css con el mejor IDE o Dreamweaver lo harás estar enamorado de hTML / css.

    es suficiente para que pueda hacer una aplicación simple o web con HTML,
    en cierto punto se hará otra pregunta a usted mismo cómo hacerlo dinámico cuando sabe que los hipervínculos funcionan bien, entonces qué hace dinámico, pensemos en la base de datos, que aprende previamente ,


    Sí eso es mi punto, según los documentos, inserción de registro, registro de borrado y el juego con la base de datos a nivel local con javascript y programación del lado del servidor, a continuación, otro concepto vendrá a la mente de forma automática, para crear el usuario, la validación, la sesión, el historial del usuario, la internacionalización, etc
    y continuará sin orientación porque su base es clara y usted sabe qué hacer y qué recursos necesitaba para completar la tarea


    Esas son todas las etapas. Lo básico es muy importante y los pasos correctos también. una vez que conozca los conceptos básicos, puede aprender fácilmente otro idioma o migrar de un idioma a otro
    gracias por leer

    Añadido el 07/04/2013

    el programa no es más que un conjunto de instrucciones y rutinas, por ejemplo, nuestra rutina diaria, nos levantamos, nos bañamos, almorzamos, trabajamos, cenamos y nos vamos a dormir.
    pero si nos equivocamos en alguna de las tareas, nos sentimos incómodos, es decir, si el día es domingo cuando no tiene trabajo o está de vacaciones, la condición cambia y las rutinas diarias también, para que coincida con otras cosas, eso es como el enfoque de programación, aprenda desde la práctica no desde lo que los libros le dicen, los libros son buenos para referencia pero entienden de manera natural cómo reaccionamos, trabajamos con la ayuda de la declaración if-else, por ejemplo: supongamos que tenemos dos trabajos y ambos son muy importantes, pero solo podemos hacer uno a la vez, eliges el primero y luego puedes ir a casa, si eliges el segundo, debes trabajar las próximas 5 horas, de lo contrario, si completas ambos trabajos, obtienes 1 día de licencia, eso es acerca del enfoque de programación

  • Vijay Balkrishna konduskar
    fuente
    2
    Su respuesta es pesada en particular pero ligera en justificación. Su respuesta sería más fuerte si explicara por qué siente que este camino es el mejor.