Referências online atualizadas
	
  1. Descubra mais sobre arquitetura de John Von Newmann: [aula 1][aula 2][documentário]

  2. Procure saber mais sobre a Máquina de Turing e as origens da computação, veja também a história do seu criador no excelente filme de 2014: “O Jogo da Imitação” (“The Imitation Game”).

  3. Nome dado em homenagem ao matemático George Boole, que em 1853 introduziu o formalismo aplicado por Shannon em 1938 a circuitos digitais [aula sobre o assunto].

  4. Vídeo mostrando a programação do EDSAC 1951, um dos primeiros computadores programáveis [videos].

  5. Levantamentos realizados pelos sites codeanywhere.com e stackoverflow.com sobre as tecnologias de desenvolvimento mais usadas.

  6. Em C++ a declaração de string é com ‘s’ minúsculo, indicando uso da biblioteca homônima, que deve ser incluída no código com #include <string.h>. Alternativamente, costuma-se usar cadeias de caracteres, do tipo nativo 'char'.

  7. Notações para pseudocódigo podem variar de acordo com o algoritmo, a linguagem, estilos de escrita e preferência, cabendo ao programador escolher a que representa seu raciocínio lógico de forma mais adequada.

  8. O Portugol Studio está disponível em https://sourceforge.net/projects/portugolstudio

  9. JavaScripts podem ser experimentado usando IDEs online (repl.it/languages/javascript)  ou diretamente do seu navegador pelo Debug Console. Por exemplo, para abrir o console no Google Chrome digite “Control-Shift-J” (“Command-Option-J” no Mac), ou no Microsoft Edge digite “F12”.

  10. Teste os códigos Java usando o console ou uma IDE de sua preferência. Existem também opções para testar online: repl.it browxy.com

  11. Compiladores C e C++ estão disponíveis para todos os sistemas operacionais, embora seja recomendado o uso de alguma solução do tipo IDE, como Eclipse (http://eclipse.org), NetBeans (https://netbeans.org/) ou Visual Studio (https://www.visualstudio.com/), disponíveis gratuitamente.

  12. Algumas outras linguagens que utilizam a notação ‘//’ e ‘/* */’ para comentários são: D, Go, PHP, PL/I, Rust, Scala, SASS, SQL, Swift, Visual Prolog, CSS e ActionScript.

  13. Type cast em programação é uma operação usada em algumas linguagens, como Java, C e C++, quando é necessário realizar conversões de dados que envolvem perda de precisão. Consiste em colocar o tipo desejado, entre parênteses, na frente do dado a ser convertido.

  14. Você pode testar este código aqui, numa página HTML ou em seu navegador. A W3Schools tem uma página ensinando a usar a função Debugger do seu navegador.

  15. Criar uma instância ou instanciar refere-se à criação de objetos de qualquer tipo.

  16. Em Python, “lista” é a estrutura mais simples de múltiplos elementos [introdução][exemplos][exemplos]. Para usar arrays convencionais, é necessário importar bibliotecas como Array ou Numpy.

  17. Os métodos podem ser chamados também de módulos, funções, subprogramas ou procedimentos. Existe uma convenção: quando um método tem argumento(s) (parâmetros) e um retorno é chamado de função, caso contrário, é chamado procedimento [aula]. Neste livro será usado método, para se aproximar da notação utilizada na UML (introduzida no Capítulo 7).

  18. A complexidade assintótica de algoritmo considera o seu comportamento com um valor grande de dados a serem processados (n grande) e é abordado em detalhes em literaturas mais avançadas de programação.

  19. Veja uma simulação do algoritmo bubble sort com lego: https://youtu.be/MtcrEhrt_K0.

  20. Veja a comparação de vários algoritmos de ordenação: https://youtu.be/ZZuD6iUe3Pc.

  21. O software GIMP pode visualizar os formatos de imagens PGM, instale gratuitamente de www.gimp.org.

  22. "Lena", imagem popular de domínio público, disponível para download em PNG e JPG.

  23. Definição encontrada em michaelis.uol.com.br

  24. O CMMI é normatizado em cmmiinstitute.com

  25. O MPS.BR é normatizado em www.softex.br/mpsbr

  26. O Processo Unificado da Racional (RUP) foi adquirido pela IBM, para mais informações, consulte www.ibm.com/software/br/rational/

  27. Pressman, R. S.; “Engenharia de Software: Uma Abordagem Profissional”. [Compre] [Baixe]