Este documento apresenta os fundamentos avançados de programação orientada a objetos. Discute 1) procedimentos e funções, incluindo passagem de parâmetros, procedimentos e funções recursivas; 2) sintaxe de tabelas/arrays unidimensionais, multidimensionais e dinâmicas; 3) classes, módulos e arquivos. O objetivo é ensinar esses fundamentos para que se possa desenvolver aplicações mais complexas.