"Olá, Amigo, meu amigo (desculpe a redundância!). Você já deve ter ouvido a seguinte frase: 'Treinamento difícil, combate fácil', não é?"

"Bem, é verdade, aprender nem sempre é fácil! Você está aprendendo uma nova profissão como programador e, possivelmente, vai mudar drasticamente sua área de trabalho."

"O CodeGym envolve uma grande quantidade de exercícios. Eles correspondem a mais de 80% de todo o processo de aprendizado."

"Transformamos eles em uma grande e interessante missão (na verdade, uma série de missões), mas todas as pessoas são diferentes, algumas aprendem mais rápido, outras mais devagar. Algumas aprendem novos materiais com mais facilidade do que outras. No entanto, nosso trabalho é fazer com que todos os alunos atravessem a linha de chegada."

"Mas, professor, e se mesmo que eu tente de tudo eu não consiga resolver a próxima tarefa? Ou se eu não conseguisse entender a explicação do próximo tópico e minha vida dependesse disso?"

"A solução é muito simples: a comunidade. A comunidade tem alunos como você, graduados, professores e desenvolvedores profissionais...

"Os programadores não são só aqueles poucos milhões de pessoas que escrevem códigos em várias linguagens e criam startups quando sobra um tempo. Eles formam uma rede mundial de pessoas que constantemente compartilham conhecimento uns com os outros. Eles estão sempre prontos para responder a perguntas e ajudar outros a entenderem tópicos complexos."

"A maior comunidade de desenvolvedores, o site StackOverflow, começou porque os programadores precisavam aprender uns com os outros. O conceito é simples: você faz uma pergunta e qualquer programador do mundo pode responder. Prático, não é? :)"

"Aqui no CodeGym, achamos que há um grande valor nos alunos que trocam conhecimento. Ao ajudar os outros, o programador cresce como pessoa (afinal, não tem jeito melhor de aprender algo do que explicar para outra pessoa)."

Por isso criamos seções especiais, planejadas para dar a todos os nossos alunos uma oportunidade de compartilhar conhecimento e ajudar o outro no processo de aprendizagem.

"Então, o que você deve fazer se ficar preso em uma tarefa? Pesquisar a resposta pronta na internet não é uma boa ideia. Se você encontrar, vai receber crédito pela missão. Mas vai ficar uma lacuna na sua compreensão, que com certeza vai fazer falta no futuro. Acredite."

"É muito melhor começar usando bastante a seção Ajuda."

"É bem fácil de usar. Basta clicar no botão 'Ajuda' ao lado da tarefa:"

"Se você precisar encontrar uma tarefa específica em um nível específico, basta colocar o nome dela na barra de pesquisa."

"Ou escolher a missão e o nível em uma lista suspensa."

"Ao selecionar o filtro 'Resolvido', você verá perguntas que a comunidade CodeGym já respondeu."

"É só clicar no botão 'Fazer uma pergunta', anexar um link à tarefa e explicar o seu problema."

"Observação: não é permitido responder com o código completo na seção Ajuda. O objetivo dessa seção é permitir que os usuários troquem dicas entre si, o que ajuda a encontrar a solução correta por conta própria. Por um lado, você não vai ficar com lacunas na sua compreensão e, por outro, você vai ficar feliz consigo mesmo: você concluiu a tarefa em vez de pular ou pesquisar no Google uma solução completa. Só tem lado bom! :)"

"E conforme você ganhar experiência no CodeGym, não se esqueça da seção Ajuda! Como mencionado antes, não tem jeito melhor de aprender algo do que explicar para outra pessoa. Os alunos do CodeGym vão ficar felizes se você der uma ajuda, assim como os outros ajudaram você. Basta selecionar o filtro 'Novo' e tentar responder as perguntas feitas pelos seus colegas nerds. Eles vão agradecer, você vai se aprofundar mais no assunto outra vez e analisar o código de outra pessoa (e entender o código de outra pessoa é uma habilidade básica dos programadores!).

Mas o CodeGym não serve só para aprender! Também interagimos com nossos colegas programadores (iniciantes e experientes)."

"Normalmente as pessoas criam grupos em redes sociais para se associarem com pessoas parecidas. Decidimos que esta ideia é boa, então nosso site também tem grupos".

"Como você pode ver, há diversos tipos de grupos. Eles se concentram em vários interesses da TI (por exemplo, grupos de desenvolvedores de interfaces e testadores)."

"E não se esqueça de participar dos três grupos principais do nosso site!

No grupo CodeGym, publicamos as últimas notícias sobre o site, sobre competições e sobre promoções. Todas as novas atualizações e mudanças do site aparecem lá primeiro."

"No grupo Aleatório, publicamos artigos interessantes sobre TI em geral, muitos dos quais escritos pelos nossos alunos e graduados! Aqui é possível expandir os horizontes ao explorar novas tecnologias, encontrar resenhas de livros, recebendo dicas sobre como encontrar trabalhos, relaxando com piadas de TI e muito mais. :)"

"Também há uma seção chamada Placar dos líderes."

"Conclua todas as tarefas com sucesso e um dia você pode ser o melhor aluno de todos! :)"

"No grupo Desenvolvedor Java, você vai encontrar artigos interessantes sobre Java, mais materiais de treinamento e também notícias sobre a linguagem."

"E há mais grupos. O CodeGym é o melhor lugar para novos autores! Escrever um artigo é uma ótima maneira de organizar bem seus conhecimentos sobre um tema."

"Certo, que bom. Praticar faz sentido. Mas qual o papel da teoria?"

"A teoria também é muito importante, é claro. Se os médicos não aplicassem conhecimentos teóricos e apenas experimentassem, mesmo que fosse divertido, não seria muito útil! A programação não é exceção. No CodeGym, nos concentramos principalmente na prática, o que ajuda a avançar o mais rápido possível. Entretanto, você pode adquirir conhecimento (e recomendamos que faça mesmo!) de outras fontes de informação, principalmente de livros."

"Todo mundo é diferente: algumas pessoas só precisam ler uma lição curta no CodeGym e ela faz sentido na hora. Outros preferem reunir informações de outras fontes, resumir e então tirar conclusões."

"Veja alguns dos melhores livros sobre programação em Java, que você pode estudar em paralelo com suas atividades no CodeGym. Todos eles se mostraram valiosos há muito tempo e, com certeza, não são desperdício de tempo nem de dinheiro."

  1. "Kathy Sierra e Bert Bates, Use a cabeça! Java"

    "Com certeza o melhor livro sobre Java para iniciantes! A série Use a cabeça! tem diversos livros sobre várias linguagens de programação. Os autores têm um estilo próprio de apresentar o material, o que torna a leitura rápida e fácil. Além disso, você pode escrever código e fazer tarefas direto no livro!"

    "Você pode começar a ler, independentemente do seu nível no CodeGym, mesmo que seja o nível zero. :)"


  2. "Herbert Schildt: Java: A referência completa"

    "Este livro também é bom para iniciantes. A principal diferença em relação ao livro anterior é a maneiora como o material é apresentado: aqui o material é apresentado de uma forma mais rigorosa e padronizada (muitos preferem esse método de 'regras do jogo' na apresentação). Entre suas vantagens inquestionáveis está o fato de que ele esmiúça o material nos mínimos detalhes, às vezes de forma repetida."


  3. "Paul Deitel e Harvey Deitel, Java: como programar"

    "Esta é a bíblia do programador Java. E não é um exagero: todo desenvolvedor Java deveria ler. É bem grande, e há um motivo para isso. Ele não recebeu esse nome à toa: ele não ensina apenas tópicos específicos da linguagem, também explica a filosofia do Java, sua ideologia, por que os criadores da linguagem fizeram as coisas de forma diferente das outras linguagens."

    "Não é indicado para os muito novatos, mas quando você chegar ao nível 20 no CodeGym, já vai conseguir estudá-lo."

    "Esses são os livros essenciais sobre Java que você pode ler (há muitos outros). Ao ler os livros, além de aprender sobre a linguagem, você também vai ampliar sua compreensão sobre programação em geral. Aqui vão os melhores livros para isso:"


  4. "Charles Petzold, Código: a língua escondida de hardware e software"

    "As avaliações deste livro na Amazon (4,7/5) e outras análises entusiasmadas servem como comprovação."

    "É um ótimo livro para pessoas que há muito tempo esqueceram o que aprenderam nas aulas de informática do ensino médio, ou que nunca tiveram essas aulas. Ele explica, em termos simples, coisas importantes sobre o funcionamento de computadores e de código. Por exemplo, como o computador executa o código escrito pelo programador? E como o computador entende o texto do código, ou seja, o que as pessoas querem que o computador faça?"

    "Este livro, que já se tornou um clássico, tem as respostas para essas perguntas. O livro faz um trabalho fantástico em ajudar a atualizar as pessoas que estudam programação sem nenhum ensino especializado. Contudo, o livro não tem tradução para o português."


  5. "Aditya Bhargava, Entendendo algoritmos".

    Algoritmos e estruturas de dados são muito importantes e necessários. Eles representam uma parte importante do trabalho de um programador e devem ser usados com eficiência! Por exemplo, como se faz para ordenar milhares de números aleatórios?"

    "Na verdade, é possível fazer isso de muitas maneiras! Mas a eficiência de cada uma delas é muito diferente. Há muitos livros e cursos sobre algoritmos e estruturas de dados, mas o livro de Bhargava é, com certeza, o melhor para as pessoas que acabaram de começar a programar. Ele usa linguagem simples, contém explicações detalhadas com imagens e não é grande demais. Exatamente o que se precisa para começar!"

"Ler livros, fazer as tarefas e participar da comunidade: a receita perfeita para se tornar um programador!"