Boas fontes de aprendizado para iniciantes em ciências da computação!
Meus websites favoritos relacionados a TI
Oi, esse é meu primeiro post e estou testando a plataforma! Espero melhorar ao longo do tempo.
Bem, de certo que eu valorizo bastante posts que são enxutos, diretos ao ponto. Então aqui vão algumas boas fontes de estudo para você treinar suas habilidades e/ou aprender mais sobre ciências da computação!
(Lembrando que isso engloba muito mais do que aprender a programar.)
Falarei dos meus 5 favoritos, e no fim do post colocarei uma lista com todos (:
Project Euler
Começando com um website focado na prática e treino de programação, o "project euler" é um site de UI bem minimalista que proporciona cerca de 800 problemas variando do fácil ao difícil. Recomendo bastante que todos deem uma olhada e criem uma conta, tem até um leaderboard!
HackTheBox && picoCTF
SSH? TELNET? http(s)? FTP? Bem, com certeza você deve conhecer todos estes nomes, mas você só pode ter certeza que sabe usar essa e várias outras ferramentas/protocolos se botar a mão na massa. O hackthebox e o PicoCTF são sites incríveis que proporcionam aulas, PDF's e posts que ensinam tudo que você precisa saber para se virar em meio a vasta área de TI, apesar do seu foco em cybersegurança, penso que todos deveriam ao menos tentar alguns dos famosos CTF's que essas plataformas oferecem.
Writing an interpreter/compiler in GO
Que? Essa lista não era para iniciantes? Pois é, pode ficar calmo, escrever a própria linguagem de programação pode parecer uma tarefa incrívelmente difícil e trabalhosa (até meio chata...) mas pode confiar em mim, não tem experiência melhor para verdadeiramente aprender a programar! Entender como cada linha de código funciona, o que são tokens, tipos, bytes, lexers, AST's! São vários nomes, que eu posso te garantir que quando você entender todos, vai se sentir um mago vendo o mundo por uma vista completamente diferente! O livro em si é pago (mas cá entre nós, filetype:PDF tá aí pra isso) mas é muito bem explicado e merece um artigo inteiro dedicado a ele!
Crafting Interpreters
Outro livro para escrever interpreters? Sim! Este livro tem uma versão web INCRÍVEL e ilustrações feitas a mão e explicaçẽos muito bem feitas por um engenheiro da linguagem "dart". (você deve conhece-la pelo framework Flutter, o cara sabe sobre o que ele está escrevendo.) Sim, mas o que diferencia ele do livro que foi recomendado acima? A resposta para isso seria a didática, que é bem mais direta ao ponto, e as linguagens utilizadas no processo. Neste livro são criados dois interpreters um na linguagem Java e outro na linguagem C. No momento estou no meio da leitura deste livro, e terminei os dois citados acima, recomendo os dois igualmente, então caso você for escolher um, pode escolher baseado nas linguagens que preferir.
Neocities.org
Sente saudades da época dos sites pessoais old school? Aqui você vai se sentir em casa novamente. Hosteie um site simples com HTML/CSS/JS (isso mesmo, sem frameworks) e visite domínios incríveis na internet, um mundo a ser divulgado e explorado.
Okay, escrevi bastante! Espero que não tenha ficado chato, e que não tenha perdido a objetividade. Aqui vai uma lista com mais alguns websites muito bons!
- adventofcode.com Mais problemas de programação! (dessa vez, natalinos)
- freeCodeCamp Todo iniciante conhece eles pelo canal do youtube, mas o site é melhor ainda!
- geeksForGeeks seu cheatSheet para qualquer dúvida de programação! (Com explicações mais detalhadas do que o average stackoverflow post)
- synacorChallange Desafios extra difíceis, achou o advent of code e o projectEuler fáceis demais? Aqui você encontrará diversão.
É isso! Obrigado por ler até aqui, como falei antes esse é o meu primeiro post, desculpe por qualquer erros até então cometidos!
Aqui está meu github como assinatura deste post (^: