interessante

As melhores maneiras de se ensinar a codificar

Foto: Christopher Gower (Unsplash)

Se você quiser aprender a codificar, dar os primeiros passos nesse universo imenso pode parecer uma tarefa assustadora, se não intimidadora. Aqui está o grande segredo: existem muitos recursos gratuitos (e baratos) que você pode usar para se dar toda a ajuda necessária, aprender novas técnicas e tornar esse processo de aprendizado divertido e emocionante - o mais emocionante que a codificação puder obter, pelo menos .

Se você é um adulto que deseja fazer a transição para o setor de tecnologia, um estudante que quer aprender o idioma mais recente ou um hobby que quer entender como o software e os serviços funcionam, tudo que você precisa é de um computador e acesso à Internet para iniciar sua programação. viagem. Mas antes de dar um salto, aqui estão as nossas melhores dicas e recursos para dar o pé direito.

Pergunte a si mesmo: por que você deseja aprender a codificar?

Dedique alguns minutos (ou um dia) para pensar sobre os motivos - os motivos - pelos quais você deseja aprender uma linguagem de programação. Seja honesto com você mesmo. Você está tentando aprender o mínimo necessário para marcar uma promoção? Você está procurando fazer uma grande mudança de carreira? Deseja criar o próximo melhor aplicativo? Emocione seus companheiros de quarto programando seus vários dispositivos inteligentes para fazer algo incrível?

Sua resposta pode ajudar a determinar quais linguagens de programação você deve dominar, bem como que tipo de compromisso (em tempo e dinheiro) seu objetivo pode exigir. Por exemplo, se seu sonho é criar o próximo ótimo sistema operacional ou uma alternativa matadora ao PhotoShop, você se beneficiaria de uma educação formal em ciência da computação que ensina C ++, além de tópicos mais complexos, como estrutura de dados, algoritmos e alocação de memória.

Por outro lado, se você é um profissional em meio de carreira que deseja fazer a transição para uma carreira em tecnologia, um bootcamp de codificação de curto prazo pode fazer mais sentido do que se endividar por um segundo grau. Se tudo o que você deseja fazer é criar sites ou levar o Raspberry Pi ao limite, uma combinação de tutoriais interativos e cursos on-line gratuitos pode ser suficiente para você começar.

Escolha a linguagem de programação correta

Depois de descobrir por que você deseja codificar, você pode identificar com mais facilidade qual linguagem de programação você deve abordar. Embora não exista uma “melhor” linguagem de programação para aprender, algumas são mais amigáveis ​​que outras. HTML e CSS são considerados os pontos de entrada mais fáceis no mundo da codificação, mas são realmente úteis apenas para o desenvolvimento de sites básicos.

Para sites mais interativos que envolvam sistemas de pagamento ou bancos de dados, você precisa conhecer Javascript, PHP, SQL e Python para fazer todos os componentes cantarem. Os fabricantes de aplicativos móveis usam Swift ou C para criar aplicativos iOS e Java ou Kotlin para aplicativos Android. Os desenvolvedores de videogame se voltam para o Unity, ou mesmo C #, para dar vida às suas idéias de jogos.

Ainda não consegue decidir sua linguagem de programação inicial? A maioria dos profissionais recomenda o aprendizado de Python, C # ou JavaScript, pois oferece a mais ampla utilidade e flexibilidade de carreira. Para ajudar você a se decidir, confira este ótimo infográfico que compara algumas linguagens de programação populares.

Acima de tudo, comece a aprender. Quando você se sentir confortável com uma linguagem de programação, poderá escolher a próxima com muito mais rapidez - como aprender um novo instrumento musical ou uma língua estrangeira.

Experimente alguns cursos online

Se você deseja ter mais controle sobre sua programação de aprendizado (ou não deseja seguir sozinho), um curso de codificação on-line pode ser uma opção melhor do que um campo de inicialização de codificação pessoalmente. No entanto, existem muitas classes online diferentes que ensinam as mesmas linguagens de programação, e pode ser difícil descobrir qual delas realmente vale seu tempo e dinheiro.

Se você não se importa em praticar solo, confira The Odin Project, uma opção gratuita que reúne alguns dos melhores conteúdos de código aberto para transformar um novato em codificação em programador.

Deseja mais treinamento individual e preparação de carreira sem fazer um bootcamp em tempo integral? Tente se inscrever nos cursos de certificação de modelo de assinatura da Udacity ou Treehouse, onde você tem a oportunidade de pedir ajuda a um tutor, em vez de sofrer apenas seus erros ou perguntas de codificação. Você não pode fazer muito melhor do que as aulas de codificação de US $ 19 da Udemy (menos ainda, quando há uma venda) - mesmo os estudantes de bootcamp e de ciência da computação em período integral se inscrevem nessas aulas para complementar seu aprendizado.

Não importa quantos cursos você conclua, muitos iniciantes ainda acham difícil aplicar seus conhecimentos relativamente básicos. Para esse fim, muitos recomendam o curso Practical JavaScript gratuito da Watch and Code, que gira em torno de um único projeto que você itera continuamente.

Concentre-se em aprender o pensamento computacional

Em vez de se concentrar muito em aprender uma linguagem de programação específica, você também pode aprender de uma maneira que o computador entenda. Em outras palavras, aprimore suas habilidades em conceitos como reconhecimento de padrões, algoritmos e abstrações. Há também jargões, como loops, que aparecerão em qualquer idioma que você usar. Quanto melhor você entender esses princípios, mais fácil será aprender o próximo idioma (e criar melhores produtos ou projetos como resultado).

Graças à internet, você não precisa se matricular em um programa universitário de quatro anos para aprender os fundamentos da ciência da computação; várias aulas de nível universitário estão disponíveis on-line gratuitamente (ou uma taxa nominal).

Não posso recomendar o suficiente a Introdução à Ciência da Computação CS50x de Harvard. Você pode auditar o curso gratuitamente via edX e obter um certificado concluindo todas as tarefas, ou pode seguir seu próprio ritmo e assistir a todas as palestras postadas no Youtube. Você pode criar seu próprio programa DIY de ciência da computação em nível de faculdade com esta seleção de quinze cursos on-line (muitos dos quais também estão listados em nossa série U do Goldavelez.com).

Obter um livro

A melhor maneira de aprender a codificar pode envolver você se aproximar de algumas árvores mortas - um livro real que você pode acompanhar do começo ao fim. Em um mundo perfeito, isso lhe dará uma introdução mais abrangente à codificação do que passar de um tópico para outro em um site.

Você provavelmente pode encontrar um e-book para qualquer idioma ou estrutura que esteja tentando aprender no GitHub, mas muitos desenvolvedores da Web juram pela colorida série de Jon Duckett sobre tudo, desde o desenvolvimento da Web de front-end ao back-end.

Como programador autodidata, você também pode se beneficiar de livros que oferecem conselhos mais amplos sobre a profissão. Você aperfeiçoará seu pensamento e hábitos, características que poderá aplicar a qualquer idioma que decidir aprender. O código completo de 900 páginas de Steve McConnell: um manual prático de construção de software (2ª edição) é considerado o guia definitivo para as melhores práticas, com conselhos com base em dados sobre tudo, desde o design do projeto até o código de depuração.

Um corolário desse gigante é o Código Limpo: um manual de artesanato em software ágil, do "tio Bob" Robert Martin. Martin acredita que o código deve ser escrito com eficiência para facilitar os testes e a escalabilidade, tornando-o uma leitura obrigatória para muitas equipes de desenvolvimento modernas.

Como a programação é realmente sobre a solução de problemas, você apreciará o processo de pensamento e as soluções "versáteis" que Jon Bentley compartilha na Programming Pearls (2ª Edição). Cada capítulo termina com vários desafios que são frequentemente usados ​​em entrevistas técnicas de trabalho, portanto, faça deste livro parte de sua preparação para o trabalho.

Confira alguns tutoriais interativos ou jogos de codificação

Vamos ser sinceros: a leitura de linhas de código em uma tela ou em um livro pode parecer bobagem. Quando você vê um exemplo em ação, esse conceito abstrato de repente faz todo sentido. Essa é a beleza dos tutoriais de codificação interativa que você pode encontrar na web.

Por exemplo, o FreeCodeCamp não apenas divide os conceitos de codificação em pequenos blocos no navegador da web, mas também combina cada conceito com um exercício relevante que você precisa resolver antes de passar para o próximo tópico. Dessa forma, você não pode simplesmente pular para as coisas divertidas; o site realmente força você a depurar seu código à medida que aprende.

Jogos de codificação também são uma maneira divertida de molhar os pés na programação. Se você tem uma hora para matar, pode experimentar os jogos simples do Hour of Code. Além disso, muitas escolas já usam o Minecraft: Educational Edition para ensinar aos alunos o básico da programação com blocos de codificação e até mesmo JavaScript. (Você pode baixar esta versão do Minecraft de graça se tiver uma conta do Office 365 Education.)

Quer um tutorial de desenvolvimento de jogos mais complexo que você possa colocar em seu currículo? O CodinGame pode ser mais apropriado para a idade, se você não sentir vontade de bater o dia inteiro.

Experimente o brinquedo de uma criança

Quem disse que os adultos não podem aprender com os mesmos brinquedos e jogos de vídeo STEAM / STEM que deixam as crianças viciadas em codificação? Afinal, esses produtos são projetados para ensinar lógica e sintaxe de codificação sem aborrecer as crianças facilmente distraídas, para que mesmo os codificadores adultos possam encontrá-los divertidos e educacionais.

Se você quiser entender melhor a relação entre hardware e software, desfrute do Piper Computer Kit 2, que faz com que você construa um computador com Raspberry Pi. Usando este laptop DIY, você pode aprender a codificar seus desafios personalizados do Minecraft Story Mode, usar a linguagem Blockly do tipo arrastar e soltar para aprender computação física, ou apenas pegar um Python básico nas lições pré-instaladas.

Embora você provavelmente não consiga criar seu próprio droide BB-8, você pode aprender a codificar um com o BOLT de Sphero. Usando o aplicativo complementar, você pode controlar sua bola dróide usando os blocos de codificação de arrastar e soltar chamados Scratch ou subir de nível para JavaScript para programar movimentos mais avançados.

Ensine seus dispositivos (e assistentes) novos truques favoritos

Você tem um dispositivo inteligente como o Amazon Echo? Você pode testar suas habilidades de codificação, criando miniprogramas personalizados para obter mais funcionalidade dos assistentes digitais de seus dispositivos. O Alexa da Amazon já pode conhecer muitas “habilidades” básicas de comando de voz, como ler as últimas notícias, mas você pode ensinar-lhe tarefas mais complicadas codificando Node.js, Java, Python, C # ou Go. (Ou, se você quiser começar com algo mais fácil, tente o site mais simples de projetos de habilidades do Alexa.)

É possível que seu interesse em codificar seja mais limitado - você pode apenas aprender Python suficiente para fazer seu Raspberry Pi fazer projetos interessantes, por exemplo. Nesse caso, você pode adotar uma abordagem DIY para aprender, verificando os muitos projetos que outros compartilham em seu site.

Ao recriar projetos existentes, você aprenderá mais sobre o funcionamento interno do seu dispositivo altamente personalizável. Você pode até se sentir inspirado a criar novas maneiras de usar seu mini-computador e aprofundar-se no mundo do código. (Você pode até se inscrever nas plataformas The Raspberry Pi Platform e Python Programming da UC Irvine para a classe Raspberry Pi Platform através do Coursera, se quiser uma pequena ajuda para começar.)

Assista a vídeos sobre codificação

Às vezes, é mais fácil assistir alguém mostrar como isso é feito. Atualmente, você pode encontrar todos os tipos de vídeos educacionais sobre praticamente qualquer tópico relacionado à codificação: ex-Googlers compartilhando soluções em entrevistas de codificação, YouTubers transmitindo suas maratonas de codificação e até veteranos de programação mostrando como solucionar um erro específico em qualquer idioma que você desejar.

Eu recomendo verificar o CS YouTube do YouTube, TheNetNinja e CS50, de Harvard. Se você não tiver tempo para procurar um canal ou vídeo de codificação perfeito, também poderá conferir a vasta biblioteca de vídeos do LinkedIn Learning para obter tutoriais examinados e com aparência profissional. Embora a taxa de assinatura de US $ 30 / mês do serviço não seja motivo de preocupação, você pode assistir a uma quantidade ilimitada de conteúdo e tópicos - tornando o LinkedIn Learning um negócio melhor do que outras classes on-line sob demanda que apresentam restrições irritantes.

Prática com projetos pessoais

Não importa quantos certificados e workshops de codificação você conclua, ou quantas linguagens de programação você aprenda, a prova de suas habilidades de codificação estará em seu projeto de programação. Embora seu projeto pessoal não precise ser tão ambicioso quanto criar o próximo Google Maps, deve ser algo em que você deseja trabalhar 24 horas por dia, sete dias por semana, para melhorar e expandir constantemente seu escopo.

Comece pequeno, mas pense grande. Seu projeto deve envolver as habilidades que você possui atualmente em sua caixa de ferramentas, mas você também deve ter um plano para os recursos e as habilidades futuras necessárias para transformar essa visão em realidade. Sem aplicar suas habilidades de codificação em alguns projetos, você nem seria considerado para shows profissionais de codificação - então comece a planejar e praticar. (Nosso conselho? Use seus códigos de codificação para criar uma configuração incrível para a noite do jogo.)

Comemore pequenas vitórias

A codificação está nos detalhes, e é por isso que você precisa "celebrar pequenas vitórias", como afirmou um de nossos professores de programação. É necessária prática para fazer com que cada elemento funcione por conta própria, além de testes constantes para garantir que cada linha de código funcione com todo o resto - sem erros. Se você não fizer coisas aparentemente pequenas, como fechar uma tag HTML, ficará preso na depuração de um erro de sintaxe simples, em vez de escrever um código mais impressionante e complexo.

Você precisa ser paciente consigo mesmo; não espere codificar o próximo após apenas alguns meses de estudo ou alguns campos de inicialização. Codificar um formulário de RSVP de casamento sem erros em um site ou criar um jogo de previsão de números simples, porém correto, já é uma conquista significativa para um iniciante. Se você ficar preso, não desista. Você deve absolutamente procurar ajuda em todos os lugares que a encontrar, mas também saber quando fazer uma pausa para evitar o desgaste. E então tente, tente novamente.

Google suas mensagens de erro

Este é o nosso melhor conselho de codificação: se você não consegue descobrir por que seu código está quebrado, sempre pode procurar soluções online. Você provavelmente não é a primeira pessoa a cometer um erro, afinal, e alguém na internet certamente já encontrou uma solução para o seu problema. Apenas “copie e cole” sua mensagem de erro no Google (ou seu mecanismo de pesquisa preferido), adicione um par de aspas em toda a frase para que você não esteja apenas pesquisando por palavras-chave e pressione “Enter”. Esperemos que este pequeno O truque levará você à resposta correta.

Se você ainda estiver com problemas, sempre poderá postar sua pergunta em fóruns de desenvolvedores, como Stack Overflow, subreddit de programação do Reddit ou GitHub. Nunca é demais telefonar para um amigo - ou para um estranho na Internet.

Hackear o código de outra pessoa

Quando você faz engenharia reversa do código de outra pessoa, testando cada linha para ver como ele funciona, você obtém uma melhor compreensão do quadro geral. Graças às toneladas e toneladas de código de código aberto disponíveis, você pode aprender praticamente tudo examinando o trabalho de outra pessoa (sem falhas). Lembre-se de compartilhar seu código com a comunidade se houver inspiração e você melhorar uma parte do programa em que estava brincando.

Consiga um mentor (ou ensine outra pessoa)

A comunidade de programação está cheia de pessoas dispostas a ajudar a próxima geração de programadores. O GitHub, o hangout on-line para desenvolvedores que usam o Git para gerenciar seus projetos de codificação, foi desenvolvido para colaboração on-line. Os desenvolvedores não apenas hospedam e compartilham seus projetos com seus colegas, como também fornecem feedback de código e conselhos gerais para a comunidade.

Você pode encontrar alguns mentores on-line úteis através do GitHub ou conhecer outros desenvolvedores veteranos em um evento Meetup de codificação local ou hackathon. Depois de ganhar alguma experiência com programação, você poderá responder às perguntas de outras pessoas ou até mesmo ensinar o que aprendeu aos iniciantes - um ótimo teste para ver se você realmente conhece suas coisas.

Participar de um bootcamp de codificação

Os códigos de inicialização de codificação podem ser controversos: eles oferecem uma rápida introdução e experiência a muitas habilidades, mas podem não ser o seu bilhete de ouro para um novo emprego no Google.

Se você quer se tornar profissional e se tornar um desenvolvedor em tempo integral, um campo de treinamento de codificação intensivo e pessoal pode ajudá-lo, principalmente se você aprender melhor em um ambiente estruturado com pessoas reais para motivá-lo. No entanto, esses tipos de bootcamps costumam ser os mais caros e demorados: você está pagando mais de US $ 15.000 apenas pelas mensalidades, além das despesas de moradia por alguns meses até se formar.

Felizmente, instituições como a Flatiron School e o The Grace Hopper Program oferecem bolsas de estudo ou aulas diferidas para tornar esses campos de treinamento mais acessíveis a grupos sub-representados, como minorias e mulheres em tecnologia. Consulte o Relatório do curso para obter uma análise abrangente dos muitos campos de inicialização on-line e pessoalmente - incluindo análises detalhadas de seus ex-alunos, que podem ajudá-lo a decidir se um campo de inicialização o ajudará a realizar seus sonhos de programação.