Neste curso desenvolveremos algoritmos de forma sistemática com vistas a elaboração e teste de programas. Apresentaremos vários modelos mentais para construção de programas em etapas. A implementação de soluções para problemas propostos será feita por meio de técnicas universais, do ponto de vista da linguagem de computação. O uso de estruturas de dado com presença em diversos paradigmas de programação, o que torna o conteúdo apresentado universal para o desenvolvimento de habilidade de programação.