Conteúdo para estudo de Ciência da Computação
O objetivo deste repositório é reunir conteúdo para que você e eu possamos consultar durante estudos em Ciência da Computação. Irei separar em sessões de:
🎓 Cursos | 📚 Livros | 📝Artigos e sites
Neste mesmo repositório existem alguns itens "extras" que dependendo da sua curiosidade podem ser úteis, eu os separo como resumos e anotações. Onde apenas faço anotações livremente enquanto assisto ou leio algo.
Antes de qualquer coisa recomendo esse ótimo wiki que encontrei no Reddit: Getting Started with Learning Code, ele passa por quase todas as dúvidas que com certeza surgirão em seu aprendizado.
Enquanto eu estudava encontrei um repositório muito legal do @jwasham que tem a mesma ideia desse aqui, tudo que agrega é ótimo, se quiser dar uma olhada no Code Interview University
Encontrei outro projeto legal com a mesma ideia OSSU (Open Source Society University), um caminho para quem deseja aprender Ciência da Computação usando materiais online.
Meu objetivo a longo prazo é me tornar um programador capaz de enfrentar qualquer desafio, serei quem cria e executa projetos de alta complexidade. Por isso viso adicionar neste repositório conteúdos que beneficiem nesse crescimento.
Nenhum homem pode viver uma vida feliz, ou mesmo uma vida suportável, sem o estudo da sabedoria; você sabe também que uma vida feliz é alcançada quando a nossa sabedoria é levada ao auge, mas que a vida é pelo menos suportável, mesmo quando a nossa sabedoria apenas começa. - Sêneca
🔥 Sinta-se livre para contribuir, agregar, melhorar, compartilhar, usar, ajustar, corrigir, copiar...
🎓Cursos
Base da computação
Eu indicaria muito que você começasse pelo CS50 que é uma ótima introdução a computação com conceitos que serão utilizados em muitas linguagens de programação. Eu ainda estou concluindo este curso, as aulas tem em média 1~2 horas com desafios a cada módulo com um ambiente bem legal para você testar os códigos.
CS50's Introduction to Computer Science - 📝 Anotações
Os cursos e links abaixo eu reuni pesquisando e viso como uma segunda etapa
- MIT The Missing Semester of Your CS Education
- MIT 6.0001 Introduction to Computer Science and Programming
- MIT 6.001 Structure and Interpretation of Computer Programs
- Computer Science from Academic Earth
- CS 124: Data Structures and Algorithms
- CS-121 / CSCI-E121: Introduction to Theoretical Computer Science
- IT Fundamentals for Cybersecurity
📚Livros
Irei separar os livros em técnicos e livros interessantes para a área de software, eles possuem cada um seus pontos positivos, porém podem lhe ajudar em uma etapa diferente do seu desenvolvimento. Ser bom em algo muitas vezes exige ir além de apenas códigos.
Se eu já lí e fiz um resumo do livro ele estará junto com o título.
Most influential books on Computer Science/programming
Legenda:
📙 - Lido
📖 - Lendo
Técnicos
- Introduction to Algorithms (The MIT Press) (Algoritmos Teoria e Prática) - 📖 Resumindo
- Compilers Principles, Techniques, and Tools - 2nd Edition - Alfred V. Aho
- Modern Operating Systems
- Concepts, Techniques, and Models of Computer Programming
- The Mythical Man-Month
- Clean Code - 📖 Resumindo
- Peopleware: Productive Projects and Teams
- Structure and Interpretation of Computer Programs
- Algoritmos e Estruturas de Dados Niklaus Wirth
- Refactoring
- Domain Driven Design
Software geral
- The Pragmatic Programmer - Resumindo 📙
- Getting Real: The Smarter, Faster, Easier Way to Build a Successful Web Application - Resumindo 📙
- Rework 📙
- Startup, Jessica Livingston 📙
- The twelve-factor methodology to scale a software 📙
- Pro Git, Livro Oficial
- O Programador Apaixonado: Construindo uma carreira notável em desenvolvimento de software - Resumido 📙
Um extra para os livros - Repositório com livros grátis de programação
Indicações de livros
- Livros indicados pelo Fábio Akita, com base nos vídeos que assisti/assisto
- Livros indicados pelo Lucas Montano
Canais no Youtube:
- Canal Akitando - Fábio Akita
- Canal Ben Eater
- Canal 3Blue1Brown
- Canal Academind
- Canal Computerphile
- Canal Filipe Deschamps
- Canal Lucas Montano
- Canal Rodrigo Branas
- Canal Glaucia Lemos
- Canal Erick Wendel
- Canal eXcript
Sites para praticar programação
Esses links serão bem úteis caso você queira melhorar sua habilidade de entedimento lógico, treinar alguma linguagem, praticar algoritmos ou treinar com mentores
📝Artigos e sites
Links, sites e artigos que agregam de alguma forma o conhecimento. Seria legal você dar uma olhada
- Treinamento de Git interativo
- Passo a passo para carreira Front, Back e Devops
- Y Combinator Resources
- Is High Quality Software Worth the Cost?
- Learn in Public
- On the Spectrum of Abstraction
- Checklist para Engenheiro Senior
- Especificação para padronizar Commits
- Ideias e pesquisas de Stanford
- Repositório de pesquisas acadêmicas sobre Ciência da Computação
- Developer Roadmaps
Interessante:
Think and grow!