Apresenta os fundamentos da computação necessários para se entender como os programas são executados em um computador e discute os conceitos da orientação a objetos sob o ponto de vista da programação mostrando como os objetos são representados por estruturas armazenadas na memória como são referidos e como podem ser usados para executar suas operações. Os fundamentos são tratados de modo rigoroso e a programação utilizando a linguagem Java dá ênfase ao desenvolvimento de programas para a verificação de conceitos.