Fundamentos de ciência da computação
Construa uma base sólida em ciência da computação, passando por algoritmos, sistemas operacionais, redes e teoria, com materiais abertos e referências da comunidade brasileira.
Iniciante 13 etapas
Etapas
Primeiros passos
-
Um roteiro para a áreaVeja quais disciplinas formam o núcleo da computação e em que ordem estudá-las para não se perder estudando sozinho.
-
Teach Yourself Computer Science
teachyourselfcs.comfree
Guia didático estruturado com roteiro de estudos, livros recomendados e disciplinas fundamentais em computação.
-
Teach Yourself Computer Science
teachyourselfcs.comfree
-
Linux e linha de comandoGanhe intimidade com o terminal, arquivos e processos, pois quase todo o resto do estudo passa por ferramentas de linha de comando.
-
Guia Foca GNU/Linux
guiafoca.orgfree
Um dos mais completos e tradicionais manuais em português para aprendizado e administração de sistemas operacionais Linux.
-
The Linux Command Line
linuxcommand.orgfree
Livro didático aberto ensinando uso da linha de comando shell, pipelines e scripts em sistemas Unix-like.
-
Guia Foca GNU/Linux
guiafoca.orgfree
-
Controle de versãoUse o Git para guardar exercícios e experimentos, um hábito que facilita qualquer projeto ou trabalho da faculdade.
-
Git
git-scm.comfree
Sistema de controle de versão distribuído de código aberto amplamente utilizado no desenvolvimento de software e projetos acadêmicos.
-
Git
git-scm.comfree
Algoritmos e estruturas de dados
-
Estruturas de dados e algoritmos básicosEstude vetores, listas, árvores, ordenação e busca com material didático em português e exemplos de código em C.
-
Projeto de Algoritmos (IME-USP)
ime.usp.brfree
Material didático de referência sobre projeto e análise de algoritmos e estruturas de dados mantido pelo professor Paulo Feofiloff no IME-USP.
-
Algorithms por Jeff Erickson
jeffe.cs.illinois.edufree
Livro didático de acesso aberto com abordagem rigorosa sobre recursão, grafos, algoritmos probabilísticos e problemas NP-difíceis.
-
Projeto de Algoritmos (IME-USP)
ime.usp.brfree
-
GrafosAprenda busca em largura e profundidade, caminhos mínimos e árvores geradoras, que modelam redes, mapas e dependências.
-
Algoritmos para Grafos (IME-USP)
ime.usp.brfree
Notas de aula abertas e implementações em linguagem C cobrindo teoria de grafos, caminhos mínimos e fluxos em rede pelo IME-USP.
-
Algoritmos para Grafos (IME-USP)
ime.usp.brfree
-
Análise e projeto de algoritmosDomine análise assintótica, recursão e programação dinâmica para estimar o custo de uma solução antes de implementá-la.
-
Algoritmos: Teoria e Prática (CLRS)
mitpress.mit.edupaid
Livro-texto clássico e canônico sobre projeto e análise de algoritmos de Cormen, Leiserson, Rivest e Stein.
-
Design and Analysis of Algorithms (MIT OpenCourseWare)
ocw.mit.edufree
Curso universitário avançado com aulas em vídeo e materiais sobre técnicas de projeto algorítmico, programação dinâmica e complexidade.
-
Algoritmos: Teoria e Prática (CLRS)
mitpress.mit.edupaid
-
Treino com problemas (opcional)Resolva desafios em juiz online e conheça as competições brasileiras, ótima forma de fixar algoritmos com prática constante.
-
beecrowd
beecrowd.comfreemium
Plataforma brasileira de juiz online e desafios algorítmicos voltada para prática de estruturas de dados e programação competitiva.
-
Maratona SBC de Programação
maratona.sbc.org.brfree
Competição nacional anual de algoritmos e programação para estudantes universitários, classificatória brasileira do ICPC.
-
Olimpíada Brasileira de Informática (OBI)
olimpiada.ic.unicamp.brfree
Competição anual de programação e lógica para estudantes da educação básica ao ensino superior organizada pela SBC e Unicamp.
-
beecrowd
beecrowd.comfreemium
Como o computador executa programas
-
Sistemas computacionaisEntenda representação de dados, código de máquina e hierarquia de memória para saber o que acontece quando um programa roda.
-
Computer Systems: A Programmer's Perspective (CS:APP)
csapp.cs.cmu.edufreemium
Livro de referência sobre a integração de hardware, sistemas operacionais e compiladores.
-
Computer Systems: A Programmer's Perspective (CS:APP)
csapp.cs.cmu.edufreemium
-
Sistemas operacionaisVeja como o sistema operacional virtualiza CPU e memória, lida com concorrência e guarda dados de forma persistente.
-
Operating Systems: Three Easy Pieces (OSTEP)
pages.cs.wisc.edufree
Livro didático aberto cobrindo conceitos essenciais de virtualização, concorrência e persistência em sistemas operacionais.
-
MIT 6.1810: Operating System Engineering
pdos.csail.mit.edufree
Disciplina aberta do MIT com laboratórios práticos focados no desenvolvimento do kernel didático xv6.
-
Operating Systems: Three Easy Pieces (OSTEP)
pages.cs.wisc.edufree
-
Redes e bancos de dados na práticaCapture tráfego de rede real e consulte um banco embutido para ligar a teoria de protocolos e armazenamento ao que se observa.
Teoria e comunidade
-
Autômatos e linguagens formaisExperimente autômatos, gramáticas e máquinas de Turing para entender os modelos formais por trás de compiladores e da própria computação.
-
JFLAP
jflap.orgfree
Software educacional para experimentação prática com linguagens formais, autômatos finitos, autômatos com pilha e máquinas de Turing.
-
JFLAP
jflap.orgfree
-
Complexidade computacional (opcional)Conheça as classes P e NP e por que certos problemas parecem não ter solução eficiente, mesmo com computadores melhores.
-
Complexity Zoo
complexityzoo.netfree
Enciclopédia em formato wiki que cataloga classes de complexidade computacional e suas relações de inclusão e equivalência.
-
Complexity Zoo
complexityzoo.netfree
-
Ciência da computação no BrasilAcompanhe a SBC, sua revista de divulgação e os livros abertos para seguir estudando e conhecer a pesquisa feita no país.
-
SBC Horizontes
horizontes.sbc.org.brfree
Portal de divulgação científica e debates sobre o papel dos dados, inteligência artificial e computação na sociedade brasileira.
-
Livros Abertos da SBC
sol.sbc.org.brfree
Repositório de livros técnicos, didáticos e capítulos das Jornadas de Atualização em Informática disponibilizados gratuitamente pela SBC.
-
Sociedade Brasileira de Computação
sbc.org.brfree
Portal institucional da maior sociedade científica de computação da América Latina com publicações, comissões especiais e notícias.
-
SBC Horizontes
horizontes.sbc.org.brfree
Veja também
Links externos, de seus respectivos autores. Esta trilha é conteúdo original da IPL.