Skip to content

Guia-do-Programador/guia-do-programador.github.io

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Web Developer Roadmap - 2020

Guia para as competições de programação em 2020 Mais atualizações em breve!

Inspirado por developer-roadmap

A concorrência está aumentando, a graduação está passando, e o que não faltam são cursos e material na internet, é uma bagunça e eu vou te mostrar o que fazer para aproveitar as oportunidades que virão.

Aqui você tem um guia completo sobre solução de problemas, programação e muito mais usando práticas de maratona competitiva.

Será o único guia que você precisará ver sobre o assunto. Marque o seu amigo que está perdido. Tá na hora de aprender a programar.


Assista nosso vídeo promocional:

Conheça também o trabalho do PETComp.


🏁 Antes de Começar

Este projeto é uma iniciativa de dois estudantes de computação que já a muito tempo se sentiam perdidos em meio a quantidade de conteúdos disponíveis na internet ensinando a programar. O nosso objetivo prinpipal é ajudar você a não se perder no meio do caminho, fornecendo não somente um guia, mas entregando para você uma comunidade para tirar dúvidas e compartilhar memes.

O guia abaixo reune conteúdos dos mais diferentes níveis, sempre com foco numa teoria solida e na aplicação imediata dos conceitos estudados. Para isso, dividimos o estudo em três partes principais: os fundamentos, treinamento e dicas de campeões de maratonas que foram consultados exclusivamente para esse guia.

Não se preocupe com o tempo. Futuramente estaremos lançando um guia para estudos rápidos. O objetivo aqui é mostrar o longo e arduo caminho que grandes programadores já traçaram antes de nós. Aprenderemos a ver mais longe nos assentando nos ombros dos gigantes.

Web Developer Roadmap - 2020

Além do mais, temos um repositório exclusivamente reservado para a solução de desafios. Nosso intuito é criar um ranking, com desafios semanais.

O projeto ainda se encontra em construção, por isso toda ajuda é bem-vinda! Nosso contato pode ser encontrado mais abaixo.

Faz uma introdução do projeto. Explica como usar o guia.

🥋 Fundamentos

tag para ir para parte específica, tag com link para compartilhar

➗ Matemática

🖥 C++

Digitação

  • Matemática.
  • Digitação.**
  • Linguagem de Programação

📕 Algoritmos e Problemas Clássicos da Computação

🤺 Treinamento

O melhor jeito para se treinar para uma maratona de programação, sem dúvidas, é respondendo questões, questões e mais questões. As questões respondidas te ajudam a identificar mais rápido a técnica que poderá ser utilizada para solucionar aquela questão na hora da maratona, pois as questões de uma maratona são sempre semelhantes as de outra maratona.

Nós separamos alguns sites para você treinar a resolução de questões:

🚫 Erros Comuns

  1. Usar uma linguagem de programação que o participante não domina. Durante a graduação aprendemos várias linguagens de programação, quando vamos participar de uma maratona, muitas vezes ficamos em dúvida sobre qual linguagem utilizar. Utilize a linguagem que você mais domina, tanto as estruturas básicas, como desvios condicionais e laços de repetição, até as estruturas de dados mais complexas, como pilhas, filas e grafos. Use de preferência uma linguagem com uma sintaxe mais curta e mais eficiente, nós do Guia do Programador recomendamos o C++, que possui uma sintaxe mais curta e está sempre entre aas linguagens disponíveis para uso em maratonas de programação.

  2. Não definir uma prioridade para as questões. Lembre-se, ganha a maratona quem acertar mais questões no menor tempo, é essencial fazer uma leitura rápida em todas as questões ao receber o caderno de questões e definir uma prioridades para as questões. Questões mais fáceis devem ser respondidas primeiro e as mais difíceis por último.

  3. Perder muito tempo insistindo em uma questão muito difícil. Esse erro está diretamente ligado ao erro anterior, é comum ver competidores gastando bastante tempo em uma questões difíceis, quando na verdade, deveriam estar utilizando esse tempo em uma questão mais fácil. Lembre-se, responda sempre as questões mais fáceis.

💬 Comunidade

Participe da nossa comunidade no "Telegrão"! Interaja com os demais usuários e continue aprendendo.

Não se esqueça ler as regras antes de entrar.

Link do Telegram

🏅 Dicas de campeões

Primeiramente, lembre-se sempre que não é o melhor programador que ganha uma maratona de programação, mas sim aquele que percebe mais rápido qual técnica pode ser utilizada na resolução da questão. Nós do Guia do Programador entramos em contato com alguns campeões de maratonas de programação e conseguimos algumas dicas, são elas:

  1. Tenha impresso um vasto material com códigos de algoritmos, a competição não é lugar para se implementar uma árvore ou grafo do zero, mesmo que você saiba fazer isso agilmente. Sua equipe precisa ter o material impresso e que os integrantes estejam familiarizados com as chamadas das estruturas. Sempre use bibliotecas padrões caso nestas possua já as estruturas prontas. Existem materiais de universidades que são específicos para maratona já prontos (PUC, UFMG).

  2. Não tente sozinho se especializar em todos os conteúdos. A maratona meio que possui uma estrutura fixa em que praticamente cada pergunta necessita uma solução usando uma estrutura/campo diferente, a melhor dica que eu dou é que cada integrante da equipe se especialize nesses tipos de problemas diferentes.

  3. Pratique. Isso parece bem óbvio, mas eu já vi gente negligenciar assim como eu mesmo já negligenciei isso. A maratona é pura prática, ser inteligente ajuda, mas a familiaridade com a questão é que faz você passar de fase, você não pode perder tempo. Como já disse aí em cima, tem que se especializar em questões de cada campo, use o URI Judge e sites parecidos.

  4. Tenha um tiro na sua equipe. O tiro é aquele cara que sabe digitar/programar rápido, isso é muito importante porque uma bateria de questões SEMPRE têm entre 2 ou 3 questões ad-hoc que dá pra resolver em segundos/poucos minutos, quem responde essas primeiros têm uma vantagem na classificação.

  5. Leia as questões de maneira ágil. Tradicionalmente uma equipe recebe entre 2-3 cópias das questões impressa, uma pessoa deve ler as questões em ordem sequencial e a outra deve ler na ordem inversa, busque pelas questões super fáceis e avisem o orientem o tiro a respondê-las o mais rápidos possível.

  6. Fique atento no placar. Geralmente as questões que outras equipes já responderam são as que vocês devem atacar, isso é importante principalmente no início.

  7. Foque em uma linguagem. Tenha uma linguagem na qual os 3 membros da equipe tenham dominância, claro que ela deve estar entre uma das que são aceitas na maratona. Entretanto, fique atento caso apareça alguma questão que tenha uma solução super fácil em outra linguagem, nesses casos não tem problema resolver nela (Ex: Solução fácil com orientação a objetos ou operação com números inteiros grandes -> Python)

  8. Monte uma equipe entrosada. Bem, não adianta ter o cara mais esperto do mundo na tua equipe se ele quer fazer tudo sozinho ou não escuta as dicas do resto da equipe, o certo é ter uma galera que se entende e se dá bem.

  9. Se divirta. Se divertindo fica muito mais fácil, dá pra quase expulsar o nervosismo e boto fé que o desempenho ajuda muito, eu mesmo já comprovei isso.

  • Por Thiago Cutrim - Campeão Maranhense

🙏 Agradecimentos

Agradecemos ao Deus por ter nos conduzido até aqui e a todos os que contribuíram com esse projeto, em especial a @Pedinspy, @PedroSanto e @CarlosSalles que possuem uma grande experiencia em maratonas de programação e nos forneceram conselhos preciosos.

Além disso, agradecemos ao também a Anna Clara Vieira por nos ajudar com toda a parte visual do projeto.

🌐 Contribua

Você pode seguir as instruções abaixo para fazer suas contribuições

  • Inicie um Pull Request
  • Prepare-se para discutir problemas!
  • Compartilhe e ajude a comunidade a crescer!
  • Entre em contato sempre que necessário

Entre no nosso grupo do Telegram

📝Licença

Clique aqui para detalhes.

Licenca

✍️ Autores

@Claranna

@ThiagoWallass

@PedroArthur