Como posso ajudar uma criança a permanecer motivada em aprender a programar?


39

Como eu poderia ajudar uma criança pré-adolescente inteligente (pré-adolescente) a aprender programação? Ele se sai bem na escola e pulou duas séries e é um nerd estereotipado introvertido. Ele está muito interessado em desenvolvimento web e dominou os fundamentos de HTML , CSS e JS , sobre os quais não sei nada (não sou programador). Ele construiu um site pessoal a partir de seu conhecimento. Ele aprendeu isso na Internet em vários sites de tutoriais e no Stack Overflow.

Como posso incentivá-lo a desenvolver essas habilidades? Existe uma maneira de ajudar com o aprendizado dele, já que eu não sei programar? Eu não acho que posso aprender tudo o que ele aprendeu, já que ele gasta tanto tempo nisso e é tão dedicado.

Eu acho que o maior perigo é perder a motivação e desistir. Às vezes, a depuração pode ser frustrante, e não quero que ele pare por causa disso. Em outros assuntos, eu poderia ajudá-lo a trabalhar com isso, mas com a programação não posso, pois não tenho nenhum conhecimento de domínio.

O que devo fazer para manter sua motivação para codificar, para que ele provavelmente não desanime quando confrontado com dificuldades, uma vez que eu mesmo não posso superar essas dificuldades?

(não sou pai ou mãe)


41
Hmm, apenas o proíba, e eles estarão imensamente interessados ​​no tópico.
Por Alexandersson

Um amigo meu escreveu uma postagem no blog ( davidketcheson.info/2014/12/09/teaching_kids_to_program.html ) sobre como ele está ensinando seus filhos a programar que pode ser útil para você.
Jeff

3
Aprendi a programar sozinho desde muito cedo. Meu pai me comprou as ferramentas (hoje, você pode obter uma versão gratuita do visual studio) e os livros. Ele ainda não precisa programar como profissional, apenas para se divertir. Eu me diverti fazendo jogos, comecei com uma aventura baseada em texto e depois em um jogo de tiro em 2D. Também com o visual studio, ele pode aumentar a complexidade deste site, tornando-o dinâmico.
the_lotus

Aprenda a codificar com ele. Atividade divertida para você fazer juntos. Dessa forma, você pode fazer as partes frustrantes por ele no começo.
Evorlor

9
the fundamentals of HTML, CSS, and JS, which I don't know anything about (I'm not a programmer) diz que a pessoa com 4k SO reputação e cujas marcas top acontecer de ser HTML, CSS e JS
Papai Noel

Respostas:


25

Primeiro, em termos de ajudar a criança a aprender:

  1. Muitas / a maioria das escolas tem clubes de informática. Incentive a criança a consultar outros alunos ou pergunte aos profissionais da escola. Isso colocará a criança com seus colegas no desenvolvimento, que é o maior incentivo que você pode dar.

  2. Converse com um professor de informática na escola, se houver. Eles podem concordar em ajudar a criança ou dar conselhos.

  3. Semelhante ao # 1 / # 2, anuncie para um tutor, se você puder pagar um. Um pobre, mas brilhante graduado em CS, pode realmente gostar de ensinar um pré-adolescente inteligente, muito mais do que colegas em idade menos inteligente que geralmente ensinam. Eu sei que sim. O desafio (além do fato de que você precisa pagar) é encontrar alguém que seja bom no ensino - deve ser solicitada experiência prévia em ensino ou tutoria, bem como capacidade de trabalhar com crianças mais novas.

  4. Os cursos on-line (Coursera, etc ...) podem ser ótimos, especialmente para um nerd invertido ( eu me olha no espelho )

  5. Para desafiá-los, aponte-os para os sites Rosetta Code e Code Review Stackexchange .

Segundo, se você acha que eles podem usar a motivação para os próximos passos:

  1. Se a criança for madura (provavelmente), mostre a eles taxas de remuneração médias para várias profissões e que os engenheiros de software estão bem acima da maioria das profissões. Isso garantirá que ele consiga enxergar além do habitual geek-bullying que ele provavelmente encontrará e tenha motivos para seguir a codificação.

  2. Saliente que existem muitas crianças como essa (como você pode ver em depoimentos pessoais em quase todas as respostas aqui :) - ele provavelmente será mais encorajado se não se sentir uma aberração, mesmo que seja introvertido pela natureza.


3
Many/most schools have computer clubsEu imploro para discordar.
Papai Noel

Eu tenho que concordar com @SantaClaus neste. Especialmente no Texas, não existem muitos grupos de programação. Fiquei extremamente descontente quando descobri que minha escola secundária local não tinha clube. Tentamos convencê-los e eles negaram por causa de financiamento. No entanto, eles têm mais de 20 clubes esportivos. Aparentemente, isso é verdade com a maioria das escolas do Texas, exceto com as do centro da cidade.
Damien Bochkarev 13/03

12

Algumas coisas a acrescentar à excelente resposta do user3143:

Ferramentas. As ferramentas não substituem a experiência ou o conhecimento, mas todo artesão / mulher aprecia boas ferramentas, e elas são algo com o qual você, como mãe não programadora, pode ajudar. Alguns dos melhores são gratuitos, mas se a criança quiser um IDE, uma biblioteca, um programa etc. que custe qualquer quantia razoável de dinheiro , considere isso. Acho o Photoshop, por exemplo, inestimável para o desenvolvimento da Web (meu trabalho). Obtenha ao garoto alguma tecnologia móvel para desenvolver. Ele não precisa ser caro, e você não precisa conectá-lo a um plano de dados, como um telefone e tablet de 2 anos de idade.

Incentive a criança a contribuir com o código aberto, aprenda como o github funciona (se ele / ela ainda não). Incentive a criança a tentar obter crédito escolar para projetos pessoais (melhor resultado do que nunca). Incentive a criança a escrever programas como presentes (atualmente estou criando um site para minha filha de 5 anos). Ajuda a aprender a antecipar e cumprir os desejos e exigências de outras pessoas, o que será importante se você quiser que a criança siga uma carreira em programação. Falando nisso...

Estou assumindo (possivelmente errado) que você está encorajando, com esperanças de que isso possa se tornar a carreira da criança. Se for esse o caso, há uma série de coisas que um programador profissional precisa saber que um hobbista provavelmente não sabe. Se você ainda não está nesse ponto (a criança é muito jovem), não se preocupe com a seguinte lista de pré-requisitos profissionais: controle de versão do código fonte, trabalho em equipe, lidar com clientes (sejam eles chefes ou clientes), documentação (os programas são para outras pessoas que leem e, aliás, apenas para computadores funcionarem) e equilíbrio entre vida profissional e pessoal (nossa indústria não é a pior, mas é um problema).

Por último, mas não menos importante, é o RSI. Seu filho estará digitando. Muito. Tirei um verão na pós-graduação para aprender a digitar no layout do teclado colemak, e estou muito feliz por fazê-lo. Vale a pena conferir.



1
Eu vou morder. Os hobbiests precisam de um SCM (Git é o melhor, IMO) se quiserem ser sãos.
Desfazer

2
Por isso eu disse 'sem dúvida'. Eu certamente me CowboyEd em um canto de um par de vezes em projetos pessoais de pensamento 'eu não vou preocupar com controle de origem a este pequeno programa descartável' :)
Jared Smith

11

As outras respostas aqui são boas, mas estou preocupado que exista um fato importante que todos ignorem:

um nerd estereotipado introvertido

Eu sou esse tipo de pessoa e você não pode imaginar o quão difícil é a vida quando você é tímido e literalmente tem medo de conversar com outras pessoas (isso parece ser chamado de ansiedade social), por isso, se possível, você deve cuidar disso antes qualquer outra coisa, se não, receio que ele usaria a programação como um "refúgio" da vida real (como eu fiz por alguns anos) e isso lhe daria problemas no futuro.


1
Este é um ponto muito bom para se ter em mente. À procura de um clube de programação ou atividades extracurriculares que a programação incorporar (por exemplo ligas First Lego), pode ajudá-lo a desenvolver ambos os seus interesses óbvios e suas habilidades de socialização.
Acire

2
Acordado. Eu provavelmente consegui mais de um ano de teatro no ensino médio do que qualquer outra aula fora de coisas relacionadas a computadores. Ele me ensinou a lidar com o medo do palco, como improvisar em uma situação social estressante e todos os tipos de "habilidades sociais" que são úteis o tempo todo. E "geeks de drama" são, bem, outra subespécie de geek, portanto, interagir com colegas de classe e se relacionar com eles não será tão difícil para o garoto quanto seria com algumas das outras formas de vida alienígenas que vagam pelos corredores de uma escola típica. Você definitivamente deve incentivá-lo (mas não empurrá- lo) a fazer drama.
Mason Wheeler

6

Como programador e, até certo ponto, sendo "aquele garoto", eu diria que coisas como kits de hardware embarcados (baratos), como o Raspberry Pi ou o Arduino, são o caminho a percorrer. Esses kits geralmente são bastante baratos (o Pi custa cerca de US $ 30 e é alimentado por um carregador de telefone).

Os programadores jovens não estão interessados ​​em obter uma compreensão adequada dos conceitos de programação, como escrever código seguro / de alta qualidade. Até que se torne um hábito, fica no caminho de fazer as coisas funcionarem. Eu comparo isso à química, pois conhecer os intrincados detalhes de por que Mentos e Diet Coke fazem uma grande fonte é muito menos interessante do que experimentar no quintal bagunçado com refrigerantes e doces.

Os programadores jovens aprendem muitos maus hábitos em cursos on-line e exemplos de código. Eles geralmente são mal projetados e construídos para funcionar somente sob condições ideais. Bons programadores constroem para todos aqueles pequenos casos extremos onde as coisas não são exatamente o que era esperado. Em algum momento, eles terão que desaprender todo o mau comportamento e evitar o ambiente 'profissional' até que estejam prontos, é uma boa maneira de ajudar a impedir a formação de maus hábitos.

Eles estão motivados a brincar e também podem brincar enquanto ainda são crianças e enquanto querem fazê-lo.

Tomar placas de hardware / circuito e realmente fazer algo incentiva habilidades criativas que freqüentemente (estereotipicamente) faltam em crianças com esse tipo de interesse. Como um jovem programador, há muito mais satisfação no 'eu fiz ISSO' e de um bug no código com o potencial de realmente quebrar alguma coisa. Além disso, quando você terminar de construí-lo, poderá brincar com ele por um tempo.

Mais importante - para o não programador, é muito mais fácil elogiar algo físico cujo objetivo é prontamente entendido. Isso, por sua vez, leva a elogios mais elevados e conversas mais construtivas do que códigos / programas em uma tela que acabam se transformando em 'caçadas a bugs' ou que precisam de uma explicação que seja mais longa que a demonstração.


5

Eu já estive em uma posição semelhante. Eu era um pré-adolescente que estava ansioso para aprender sobre programação e fiquei emocionado ao ver um computador executar comandos conforme as instruções. Eu não estava interessado em desenvolvimento web, mas em primeiro lugar estava interessado no oposto: pirataria / exploração. No entanto, acredito que minha experiência em aprender a programar será relevante.

Acredito que a chave para ensinar aos jovens como programar é o incentivo. Isso é algo que eu gostaria de ter tido mais. Meus pais não são exatamente entendidos em tecnologia, nem ninguém na minha família e, por isso, não recebi muito incentivo ou apoio para aprender / aperfeiçoar minhas habilidades de programação. Você deu o passo certo, pedindo a opinião de outras pessoas e isso mostra que você apóia seus interesses. O melhor conselho que posso dar aos pais / responsáveis ​​/ mentores de uma criança interessada em programar é simples: não deixe que eles desanimam ou se sintam desanimados. Uma criança pode facilmente se sentir desencorajada ou oprimida ao trabalhar em um grande problema. É seu trabalho garantir que isso não aconteça.

Quanto a como você pode encorajá-lo, isso é um pouco mais complicado. Toda criança é diferente. Meus pais começaram a apoiar e encorajar quando eu estava nos meus últimos anos do ensino médio. Eu encontrei o maior incentivo quando eles entraram no meu quarto, sentaram-se comigo, perguntaram sobre o que eu estava trabalhando, me ouço explicá-lo em detalhes, observe-me dirigi-lo para eles e pareço estar interessado. Hoje já não acredito que meus pais tenham muito interesse em minhas explicações ou detalhes, mas na época eu estava convencido de que sim e isso me ajudou a me sentir satisfeito e realizado com o meu trabalho. Reserve um tempo para sentar com ele, ver o que ele construiu, discutir com ele, fazer perguntas e parecer entusiasmado. Isso fará com que ele se sinta especial e proporcionará um reforço positivo. Talvez você não possa oferecer ajuda ou mostrar como fazer alguma coisa,

Uma das melhores maneiras de aprender programação é encontrar uma meta difícil e fazer disso um ponto focal de desenvolvimento. No meu caso, concentrei-me em um objetivo em particular aos 16 anos. Estava focado no desenvolvimento de um programa para explorar um jogo android / iphone muito popular na época. Fiquei fixado nesse objetivo e trabalhei para ele por meses. Finalmente, consegui criar um aplicativo para ele e, então, meu objetivo se tornou mais amplo. Depois de atingir esse objetivo, trabalhei para expandir o programa e adicionar mais recursos a ele. Durante o próximo ano e meio, fiz vários programas que atingiram esse objetivo e abrigaram recursos que nunca pensei que poderia alcançar. Eu direi que minha motivação para expandir ainda mais foi dinheiro. Criei um negócio on-line que vendia o software de exploração de jogos que escrevi. No entanto, sua motivação pode ser qualquer coisa. Não precisa ser dinheiro ou vender o que ele cria. Ele pode simplesmente encontrar motivação na satisfação de alcançar um objetivo final. Não importa o que o motiva, o que importa é que ele esteja motivado.


Aqui estão alguns dos melhores recursos que encontrei para aprender a programar:

  1. YouTube: isso pode parecer uma sugestão ruim, mas deixe-me explicar. Procure pelo tutorial "[Qualquer idioma que ele queira aprender]" e escolha uma lista de reprodução. Existem muitos tutoriais excelentes para muitos idiomas no YouTube, do iniciante ao avançado.
  2. Khan Academy: Eu não encontrei isso até um ano atrás, mas a Khan Academy tem um curso de programação gratuito. Eu percorri o curso e parece ser um curso muito bom para um programador iniciante. Abrange os conceitos básicos e é muito compreensível. Poderia ser um bom recurso para ele.
  3. "TeachMeComputer": TeachMeComputer é o nome do YouTube de um homem que criou ótimos tutoriais para Visual Basic .NET e PHP. Ele organizou todos eles e forneceu conteúdo adicional em www.HowToStartProgramming.com . Com o interesse da criança no desenvolvimento da Web, isso pode ser um recurso valioso para o aprendizado de PHP. Acredito que o VB.NET é uma ótima linguagem de programação para iniciantes, para que o conjunto de tutoriais também possa ser muito útil para ele.

Edit : Minhas desculpas por assumir que você era o pai. Não notei a última linha do seu post que diz que você não está. Apesar disso, acredito que minha resposta ainda possa ser útil.


4

Tendo aprendido a mim mesmo o desenvolvimento de software da mesma maneira (embora no início dos anos 90 houvesse muito menos material útil disponível on-line e por isso encontrei / comprei livros como minha principal fonte de informação), posso dizer que a coisa mais importante criança precisa que ele já parece ter: Motivação para aprender.

As outras respostas aqui oferecem boas sugestões, incluindo elementos como envolvimento com colegas que pensam da mesma forma, ajudando a familiarizar-se com as ferramentas e, por mais simples que pareça, aprender a digitar com eficiência é essencial (caso contrário, inserir qualquer tipo de informação no computador tende a ser tão árduo que dificilmente você pode enfrentar a idéia de resolver grandes problemas com código).

Eu também acrescentaria: Incentive esse jovem a selecionar um objetivo / projeto de sua própria escolha e cumpri-lo até a conclusão. Isso pode levar várias tentativas, e as primeiras podem ser deixadas incompletas, ambiciosas demais, eventualmente entediadas, etc. Mas aprender a superar isso e realmente produzir algo de qualidade que alguém usa (pode ser um projeto de código aberto) , ou algo usado na escola ou por amigos etc.) - esse é um ponto importante e um passo vital.

Eu aprendi muito sobre programação nessa mesma idade (10 a 12), mas quando eu tinha 13 anos alguém me ofereceu dinheiro para programar algo para eles, e tinha um prazo associado a isso. Essa foi uma experiência diferente. Embora houvesse algum estresse associado, também me tornei responsável. Eu tinha muitos projetos incompletos e idéias inteligentes, mas foi só quando alguém me ajudou a me dedicar à disciplina de entregar qualquer software que eu estivesse escrevendo (e que fosse decente o suficiente e viável, e não uma pilha de porcaria excessivamente buggy), que Na verdade, considero que "me tornei um desenvolvedor de verdade".

Esses são meus dois centavos.


3

Comece com o Scratch: http://scratch.mit.edu/

"O Scratch é uma ferramenta de autoria de multimídia on-line gratuita para desktop e multimídia que pode ser usada por estudantes, acadêmicos, professores e pais para criar facilmente jogos e fornecer um trampolim para o mundo mais avançado da programação de computadores ou até mesmo para uma variedade de atividades educacionais. e fins construtivistas de entretenimento de projetos de matemática e ciências, incluindo simulações e visualizações de experimentos, gravando palestras com apresentações animadas, histórias animadas de ciências sociais e arte e música interativas ". WP


5
Ai credo. Fui forçado a usar o Scratch em um curso de "alfabetização em computação" na 6ª série, e foi terrível. por que você está me forçando a usar o mouse muito deixe-me tyyyyype
Doorknob

1
Se a única coisa que você aprendeu ao trabalhar com o Scratch é que você não gosta do mouse, então você não entendeu. É uma excelente ferramenta para aprender conceitos básicos de programação. E é muito divertido experimentar. Meus filhos adoraram e aprenderam programação real. A chave não é se usa ou não um mouse; a chave é que é uma maneira divertida de começar, que pode levá-los a um aprendizado adicional.
James.garriss

5
O zero é um bom ponto de partida para introduzir os fundamentos da lógica de programação, mas pode ser um pouco do lado jovem para um pré-adolescente que já começou. É também uma boa maneira de acostuma-los a linguagens de programação visual, que podem ser usadas em uma carreira (por exemplo, LabVIEW).
Acire

3

O pessoal já adicionou ótimas sugestões. A única coisa que posso acrescentar seria encontrar algo que ele já goste de fazer, que a programação lhe daria uma vantagem competitiva. Por exemplo, se ele gosta de videogame e sabe como codificar, pode modificar seu sistema ou software (sim Sei que isso pode levar a trapaça) para lhe dar uma vantagem, talvez seja uma maneira de fazê-lo invadir o código e aprender a dobrar o comportamento de um aplicativo para atender às suas necessidades. Pode ser coisas tolas que ele começa a cortar; mas com o tempo, suas habilidades aumentariam naturalmente sem se tornar uma tarefa árdua. Quando as pessoas gostam do que fazem, aprendem mais rápido e continuam a evoluir.


3

Nunca se esqueça de que existem dois objetivos, que às vezes podem entrar em conflito.

  • Divirta-se com a programação
  • Torne-se um ótimo desenvolvedor de software

Lembre-se desses dois, porque se você tomar decisões sem ter consciência de qual dos dois está priorizando, poderá não conseguir o equilíbrio certo. Priorizar sempre o mesmo em detrimento do outro não sairá bem.

Alguém que está aprendendo a programar sem a orientação de programadores mais experientes pode aprender alguns hábitos ruins, que terão que desaprender mais tarde.

Se conseguir um tutor para a criança é uma opção para você, pode ser muito útil.

Incentive a criança a se envolver em projetos de código aberto, pois isso pode oferecer vários benefícios:

  • Você aprende a trabalhar junto com outras pessoas em um projeto, o que é crucial se você espera um dia programar para ganhar a vida.
  • Pessoas mais experientes que participam do projeto podem fornecer algumas orientações no caminho.
  • Se você conseguir contribuir com algo interessante para o projeto, significa que há algo para colocar em um currículo, se algum dia você fará uma carreira como desenvolvedor.

Existem muitos projetos de código aberto, portanto é bem provável que exista um que interesse o garoto.

Mesmo se você não tiver nenhuma habilidade técnica, ainda poderá guiar a criança nesse processo. Parte do que é necessário para se envolver em um projeto desse tipo é sobre boas habilidades de pessoas, nas quais você provavelmente poderia fornecer alguma orientação.

Algumas comunidades online podem parecer um pouco hostis para os recém-chegados. Alguns conselhos que são relevantes na maioria dos casos são:

  • Seja um pouco humilde no começo. Os recém-chegados são ocasionalmente (às vezes por boas razões) vistos como pessoas arrogantes com maior auto-estima do que o justificado.
  • Mostre que você está disposto a aprender.
  • Mostre que você pode fazer contribuições valiosas.

Muitos projetos de código aberto estão discutindo desenvolvimentos em listas de discussão abertas, então você terá que decidir se prestará atenção naqueles para ver como a criança está se saindo na comunidade.


2

Atualmente, sou muito jovem e programa há vários anos.

Fui introduzido no C pela primeira vez aos oito anos, apesar de não ter tocado muito no idioma. Eu me concentro mais no desenvolvimento e design da Web, embora eu tenha conhecimento fundamental de Java para a API Bukkit e em breve estarei expandindo para o Objective C ou Swift.

Na minha experiência atual, é melhor aprender por si mesmo. Acho mais difícil, em tenra idade, aprender com outras pessoas, mas com tentativa e erro. Eu sei que muitas escolas oferecem clubes de informática e coisas do tipo, das quais me pediram para participar, mas neguei, embora eu não sinta que isso seja suficiente para mim. Sendo uma idade mais jovem, as pessoas generalizam que nós, crianças, não somos capazes do que eles esperam. Eu sei que tenho mais conhecimento de várias linguagens de programação e script com muitos adultos que assumem meu nível de conhecimento sobre o assunto.

Quando comecei a programar, assisti a muitos tutoriais online, embora apenas tutoriais visuais me ajudassem. A leitura e os recursos interativos não me ajudariam em nada, embora os vídeos também me limitassem.

Copiava o código dos vídeos e explorava como funcionava. Eu pesquisava certas funções e experimentava a linguagem até ter um conhecimento intermediário dela.

Sinto que, quando criança, estou limitado ao que posso alcançar. Teoricamente, eu poderia ser classificado como um "Nerd" ou algo assim por ter um conhecimento tão amplo sobre computação e programação, embora não seja de grande ajuda para mim. Não consigo concentrar meu tempo integral em computação e programação para barreiras como escola, família e amigos. Se eu fosse adulto, acredito que poderia expandir meu conhecimento mais rapidamente e aprender mais, embora seja diferente por pessoa.

De qualquer forma, se você não quiser ler meu texto confuso, eu recomendo deixar que a criança aprenda sozinha. Ele provavelmente está na mesma posição em que eu me sinto limitado, embora se você o deixar, tenho certeza de que ele encontrará recursos que o ajudarão, em vez de receber recursos que não o ajudarão.

Peço desculpas por quaisquer erros gramaticais, porque ainda sou uma criança e não sou capaz de escrever em detalhes ou da maneira estruturada que um adulto com mais experiência e conhecimento seria capaz.

Espero que minhas informações ajudem no entanto, mesmo que sejam informações bastante ampliadas.

Editar: eu não recomendaria o uso de ferramentas como raspar ou preenchimento automático ou ferramentas de código geradas automaticamente, pois isso anularia o objetivo da programação. O Scratch consiste em senso comum e não em programação - não é assim que se deve ver a programação.


2
+1 na sua edição. Esta é a minha maior reclamação contra o uso de alguns IDEs ao aprender. Se o IDE escreve a maior parte do seu código para você, o que você está aprendendo? Sou cauteloso ao recomendar o Visual Basic .NET por causa desse problema. O Visual Studios for VB.NET geralmente grava automaticamente grande parte do código-chave e sugere o que escrever para o resto. Isso é bom se o usuário aprender o que o código gerado / concluído automaticamente realmente faz, mas se o usuário não buscar esse conhecimento por conta própria, ele não aprenderá adequadamente. Então, marque com +1 sua recomendação contra esse tipo de coisa.
Spencer D

1
Obrigado por concordar comigo. Como tenho conhecimento em vários idiomas, usarei IDEs que são concluídos automaticamente. Isso é apenas para gerenciamento de tempo e, embora eu recomende isso para desenvolvedores mais experientes, as pessoas ainda precisam aprender a programar. É como saber falar um idioma sem saber como escrevê-lo.
Perfil

Boa analogia para isso. Se eu puder, diria que é como conhecer algumas palavras em um idioma estrangeiro e usar o google translate para traduzir o resto do que você quer dizer. Sim, ele esclarece e funciona, mas você não o escreveu e, portanto, não aprendeu o que cada palavra significa. No entanto, como você disse, depois de entender os idiomas e o código, o uso do preenchimento automático e do código gerado automaticamente pode economizar muito tempo.
Spencer D

Heh sim. Concordo totalmente com isso.
Perfil

2

Eu gostaria de acrescentar um ponto às respostas dadas aqui. Se você puder fazer isso enquanto ainda mantém seu interesse, tente incentivar o estudo de como as linguagens funcionam (teoria da computação, paradigmas de linguagem etc.), talvez lendo livros didáticos e não apenas sintaxe e documentação da linguagem. Tentativa e erro são ótimos para aprender o que funciona, mas entender o porquêpor trás do que funciona ou não na programação é vital para se tornar um desenvolvedor de software, em vez de alguém que está apenas interessado em realizar a tarefa sem levar em consideração o quão bem o código foi escrito. Apenas meus dois centavos como engenheiro de software que viram a diferença entre o ¨it funciona, por isso deve ser perfeita mentalidade e a idéia de escrever código limpo que funcione bem, é escalável, adaptável etc. Estudar a teoria pode realmente ajudar isto.


1

A criança já sabe aprender e demonstrou que quer. Muitas das outras respostas concentram-se em mostrar os materiais infantis, o que não é útil, uma vez que o garoto pode fazer perguntas sobre materiais em qualquer lugar da Web. Empurrar materiais e expectativas sobre a criança pode até ser desencorajador e matar qualquer interesse no assunto.

Eu acho que há apenas duas coisas a serem observadas: perda de interesse devido à falta de um desafio ou à superação de um desafio.

Para combater a sobrecarga, mostre interesse no que ele fez para que possa se orgulhar de seu progresso (ou pelo menos perceber que houve progresso, se as coisas estiverem indo devagar). E se houver uma falta de desafio, mencione mais algumas coisas que ele poderia fazer (por exemplo, trabalhar em um mod para um jogo que ele goste, comprar um PI de framboesa, etc.), mas não force o trabalho para ele - seja ele quem decide se ele quer fazê-los.


1

Ele precisa de projetos pessoais para se interessar. O código aberto é ótimo. Fazer um jogo é ótimo - mas definitivamente é a ordem mais alta a ser preenchida.

Finalizar coisas que têm uso claro, seja para ele ou para outra pessoa, é a solução mais flexível e confiável. Eu recomendo jogos, porque eu amo jogos. Mas, novamente, adoro jogos, e os jogos exigem a mais ampla gama de habilidades para serem concluídos.

Mas se ele é um nerd, ele também vai adorar jogos. Jogos também são rentáveis. Ahaha.


1

Eu acho que a maioria das sugestões aqui leva na direção errada.

Dado que ele parece conseguir obter os conhecimentos ou habilidades relevantes para um projeto, eu recomendaria os dois a seguir:

Sugira a ele que dê uma aula depois das aulas ou faça algumas palestras sobre programação para seus colegas. A melhor maneira de aprender é ensinar de qualquer maneira. Isso também pode melhorar suas habilidades sociais.

Dê a ele alguns projetos "reais". Peça a ele para programar um site para a turma da escola ou algum applet da web para um projeto de matemática ou física. Ou uma pequena coisa de banco de dados, ou um wiki. Dessa forma, ele verá uma relevância real em suas habilidades. Ele entenderá que é o especialista e que outras pessoas precisam dele. E ele aprenderá cedo a se vender.


1

Parabéns a essa mente jovem por já ter uma habilidade incrivelmente comercializável aos 14 anos! Quão legal é esse garoto. (Eu sou um programador, então me perdoe enquanto ele nerd).

  1. Em primeiro lugar, incentive essa é uma ótima habilidade!

    Um programador de nível de entrada pode começar em US $ 30.000 a 50.000 por ano, dependendo da área. Programadores avançados (geralmente chamados de Engenheiros) podem facilitar seis números.

  2. Todos os recursos que ele precisa aprender, se divertir e continuar a melhorar são gratuitos on-line. Vou postar alguns links abaixo.
  3. Embora a programação seja divertida, os teclados e as mesas cobram um preço muito alto. O jovem padawan começou muito cedo, ele precisa considerar algumas atividades físicas para se certificar de que ele não está recebendo o túnel do carpelo aos 16 anos.

    Eu sugiro fortemente a ioga e, na sua forma mais simples, basta fazer uma pesquisa no YouTube e fazer 15 minutos de alongamentos todos os dias que ele não está na escola ou em alguma outra atividade.

    Ele pode pensar que eu estou brincando (especialmente com 14 anos), mas a indústria é muito ... pesada ... principalmente porque um programador se senta em uma posição e digita. Crie bons hábitos agora.

Link Love:

Existem MUITOS mais recursos por aí, mas uma vez que ele os veja, poderá encontrar mais nos links etc.



0

Se ele é bom em HTML CSS e JS sem avisar, ele já tem um talento especial para isso. Se ele quer aprimorar suas habilidades, por que não apontá-lo para o CodeEval ? Ao completar esses desafios, ele terá uma ideia do idioma que escolher, e se ele escolher vários, tanto melhor (as linguagens de código são como as línguas humanas, afinal, quanto mais você souber, mais fácil será aprender o próximo. )

Se ele é do tipo extenso de leitura, você pode obter algumas leituras necessárias de uma classe CS101 na sua universidade mais próxima. Se ele já pode programar, isso não será exagero e pode até interessá-lo.


Desculpe -1. Como desenvolvedor profissional, não há nada pior do que alguém que acha que o golfe é uma coisa positiva; e como alguém que ensinou programação, o golfe está muito além do que um iniciante deve ser exposto.
user3143

@ user3143 Ponto, link de golfe removido. O CodeEval (pelo menos os desafios para iniciantes) é uma ótima maneira de aprender truques e trabalhar com algoritmos básicos.
Sidney

0

Todas as sugestões acima são úteis, mas se você estiver em uma das áreas listadas abaixo, poderá ir até o Coderdojo lá. Se não, e você pode encontrar alguns filhos e pais que pensam assim, considere iniciar um em sua própria área. Veja detalhes em https://zen.coderdojo.com/dojo

Eu corro um na minha área de Sallins, Naas (em Co Kildare. Irlanda) e de quatro filhos há dois anos, agora temos mais de 50 filhos por semana, de 6 a 17 anos, todos trabalhando em diferentes idiomas e ferramentas, do Scratch e MineCraft, para Python e PyGame, para Java, Blender, Unity, Eclipse, etc.

Espero que você consiga se conectar com um grupo, como ele realmente contribui para a experiência, para poder compartilhar o entusiasmo de nossas constantes experiências de aprendizado e mostrar cada novo projeto :-) JK


0

Comecei a programar no ensino médio com o livro Game Programming for Teens . Ele ensina a linguagem de programação BlitzMax . Eu acho que essa é uma boa linguagem de programação para iniciantes, pois possui sintaxe semelhante ao inglês e um conjunto simples de comandos para desenhar na tela. Muitas outras linguagens como Java possuem uma enorme API, que é um trunfo para programadores profissionais, mas pode ser esmagadora para iniciantes. Depois que você aprende uma linguagem de programação, é muito mais fácil aprender outra, para que ele possa passar para outra linguagem como Java ou C # quando estiver pronto.


0

Não posso dizer que li todas as respostas, mas as primeiras me entristeceram bastante. VIRTUALMENTE NENHUM dos grandes nomes da computação moderna (pense em Gates, Jobs etc.) cortam os dentes em um nível tão alto de abstração (isto é, tecnologias baseadas na Web). Todos ficaram sujos com o hardware. Os gurus de qualquer equipe são quase sempre os que têm o mais profundo conhecimento de baixo nível.

Se você quer que ele aprenda computação REAL e o deixe empolgado com isso, obtenha os brinquedos necessários (multímetro de boa qualidade e um CRO (uma boa unidade Tektronix de 50 MHz de segunda mão servirá muito bem)), uma placa de desenvolvimento bacana (Raspberry PI, Intel Edison, etc.) e faça um brainstorming de alguns projetos interessantes para ele. Algo como, possivelmente, conectar um sensor de movimento e enviar-lhe por e-mail uma foto de seu quarto quando houver algum movimento detectado. Completamente inútil, mas muito divertido e legal para mostrar. seus companheiros.

Depois que ele pegar o bug e tiver as ferramentas, suas habilidades se desenvolverão naturalmente. O mais importante é definir desafios que sejam proporcionais ao seu nível de habilidade. Ele precisará de algumas mãos inicialmente, mas depois que ele desenvolver as habilidades básicas de E / S de hardware, arquitetura de programa e como obter as informações necessárias para resolver o próximo problema, não haverá como detê-lo.


Sparkfun é um bom lugar para começar com esse tipo de coisa. Muitos projetos de robótica pré-fabricados. Eu estava pensando em recomendar robótica / material incorporado.
Tyler

0

da minha própria experiência, posso dizer que você precisa aprender a aprender como eu, comecei vendo o que outras pessoas fizeram, lendo wikis, assistindo tutoriais e tentando entender suas mecânicas, depois comecei a tentar fazer isso sozinho e aqui eu sou. Eu também aprendi algumas coisas com codeacademy.com, foi a minha fundação para html, css, javascript, php e ruby. Mais importante ainda, você precisa fornecer a ele um computador, internet, muito tempo, compreensão e, claro, ele precisa de inspiração (como seu próprio projeto ou algo importante para ele) e NUNCA dizer a ele como fazê-lo, se ele disser que SABE como fazê-lo, pois ele precisa descobrir tudo para aprender e também pode obter subdomínios e hospedagem gratuitos em http://api.hostinger.co.uk/redir/3586817(<- estou usando essa) e ele não precisa de ferramentas especiais para codificação, pois é mais fácil aprender quando você faz isso no editor de arquivos simples. Mas, na verdade você sabe, não faça nada que ele não peça

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.