Pular para o conteúdo principal

📚 Recomendações

Esta página reúne recursos complementares cuidadosamente selecionados para aprofundar seu aprendizado em programação, ciência da computação e os conceitos apresentados no SICP.


📖 Livros

Fundamentos de Programação

The Little Schemer - Daniel P. Friedman e Matthias Felleisen

  • Introdução lúdica e interativa aos conceitos de programação funcional
  • Excelente complemento para o SICP, com uma abordagem mais acessível
  • Usa formato de perguntas e respostas

How to Design Programs - Matthias Felleisen et al.

  • Versão completa disponível gratuitamente online
  • Foco em design sistemático de programas
  • Alternativa mais moderna ao SICP

Eloquent JavaScript - Marijn Haverbeke

  • Disponível gratuitamente online em português
  • Introdução prática ao JavaScript moderno
  • Complementa bem a adaptação JavaScript do SICP

Ciência da Computação

Introduction to Algorithms - Cormen, Leiserson, Rivest, Stein

  • Referência definitiva em algoritmos
  • Aprofunda tópicos de complexidade e estruturas de dados

The Art of Computer Programming - Donald Knuth

  • Série clássica e abrangente sobre algoritmos fundamentais
  • Leitura avançada para quem deseja aprofundamento

Programming Language Pragmatics - Michael L. Scott

  • Visão abrangente sobre design e implementação de linguagens de programação
  • Complementa o Capítulo 4 do SICP

🎥 Vídeos e Cursos

Cursos em Vídeo

MIT 6.001 Structure and Interpretation, 1986

  • Aulas originais do SICP ministradas por Abelson e Sussman
  • Material histórico e pedagógico valioso
  • Legendas em inglês disponíveis

MIT 6.037 Structure and Interpretation of Computer Programs

  • Versão mais recente do curso
  • Adaptada para JavaScript

CS 61A: Structure and Interpretation of Computer Programs (Berkeley)

  • Versão moderna e atualizada do SICP
  • Usa Python como linguagem
  • Material de apoio rico e bem organizado

Canais e Playlists

Computerphile

  • Vídeos curtos sobre conceitos de ciência da computação
  • Explicações acessíveis de tópicos complexos

3Blue1Brown

  • Visualizações matemáticas incríveis
  • Útil para entender conceitos matemáticos do SICP

Ben Eater

  • Construção de computadores do zero
  • Perfeito complemento para o Capítulo 5

🌐 Recursos Online

Plataformas Interativas

Exercism

  • Exercícios práticos em diversas linguagens
  • Mentoria da comunidade
  • Trilhas de JavaScript, Scheme e outras linguagens

LeetCode

  • Problemas de programação e algoritmos
  • Bom para praticar conceitos do SICP

Project Euler

  • Problemas matemáticos e computacionais
  • Excelente para aplicar conceitos funcionais

Documentação e Referências

MDN Web Docs - JavaScript

  • Referência definitiva de JavaScript em português
  • Documentação completa e exemplos práticos

Source Academy

  • Ambiente interativo para aprender com o SICP
  • Versão JavaScript do livro com playground integrado

Racket Documentation

  • Documentação da linguagem descendente do Scheme
  • Útil para entender conceitos funcionais

📝 Artigos e Papers

Fundamentos

Lambda: The Ultimate... - Guy Steele e Gerald Sussman

  • Série de papers fundamentais sobre programação funcional
  • Origem de muitos conceitos do SICP

Why Functional Programming Matters - John Hughes

  • Argumentos convincentes sobre programação funcional
  • Leitura essencial para entender a filosofia do SICP

Linguagens e Paradigmas

Growing a Language - Guy Steele (Palestra)

  • Reflexão sobre design de linguagens
  • Relaciona-se com o Capítulo 4

🎓 Comunidades e Fóruns

Comunidades em Português

GitHub Discussions - SICP.js PT-BR

  • Nossa comunidade oficial
  • Tire dúvidas, compartilhe descobertas e contribua

r/brasil_programacao

  • Comunidade brasileira de programação
  • Discussões sobre carreira e tecnologia

Comunidades Internacionais

r/scheme

  • Comunidade dedicada a Scheme e Lisp
  • Discussões sobre SICP são frequentes

Hacker News

  • Notícias e discussões sobre tecnologia
  • Frequentemente referencia SICP

🛠️ Ferramentas

Editores e IDEs

VS Code

  • Editor moderno e extensível
  • Excelente suporte para JavaScript
  • Extensões: Prettier, ESLint, Quokka.js

Racket

  • IDE completo para Scheme/Racket
  • DrRacket é ótimo para experimentar conceitos do SICP

Playgrounds Online

Replit

  • IDE online para múltiplas linguagens
  • Ótimo para compartilhar código

CodeSandbox

  • Ambiente de desenvolvimento web online
  • Perfeito para experimentar JavaScript

💡 Como Usar Esta Página

Esta lista é continuamente atualizada pela comunidade. Se você conhece algum recurso valioso que deveria estar aqui:

  1. Abra uma discussão sugerindo o recurso
  2. Contribua diretamente editando esta página
  3. Compartilhe esta página com outros estudantes

Lembre-se: O melhor complemento ao SICP é a prática constante e a curiosidade! 🚀