1. Introdução.
2. Noções de uma linguagem de programação.
3. Estruturas básicas para construção de algoritmos.
4. Algoritmos para estruturas de dados homogêneas.
5. Algoritmos para estruturas de dados heterogêneas.
6. Procedimentos e funções.
1. INTRODUÇÃO
Histórico, perspectivas e aplicações. Sistema de numeração. Sistemas computacionais. Arquitetura de computadores. Processadores. Periféricos. Sistemas operacionais. Ambiente de programação. Compiladores e interpretadores. Sistemas aplicativos. Paradigmas de programação: estruturada, orientada a objetos, funcional, lógica. Conceito de algoritmos e estrutura de dados. Estruturas básicas de controle do fluxo de execução. Conceito de estrutura léxica, sintática e semântica de uma linguagem de programação. Tabelas de decisão.
2. NOÇÕES DE UMA LINGUAGEM DE PROGRAMAÇÃO
Estrutura léxica, sintática e semântica. Construção de expressões aritméticas, lógicas e relacionais. Precedência de operadores. Declaração de variáveis, tipos básicos, estruturas de controle básicas. Manipulação de cadeias de caracteres. Entrada e saída básica. Regras básicas para a construção de algoritmos legíveis (indentação, nomes de variáveis, etc.).
3. ESTRUTURAS BÁSICAS PARA CONSTRUÇÃO DE ALGORITMOS
Inicialização de variáveis. Laços iterativos, acumuladores, contadores, sinalizadores (flags), condições de parada, entrada e saída. Decisão com expressões lógicas e alternativas. Exemplos de algoritmos: média, séries matemáticas, maior e menor valores, seqüência de Fibonacci, etc.
4. ALGORITMOS PARA ESTRUTURAS DE DADOS HOMOGÊNEAS
Declaração e manipulação de arranjos unidimensionais (vetores, Algoritmos para vetores, busca sequencial, busca binária, ordenação). Declaração e manipulação de arranjos multidimensionais (matrizes). Métodos básicos de busca em cadeias de caracteres (Knuth-Morris-Pratt, Boyer-Moore, Boyer-Moore-Horspool).
5. ALGORITMOS PARA ESTRUTURAS DE DADOS HETEROGÊNEAS
Declaração de registros. Manipulação de arranjos de registros.
6. PROCEDIMENTOS E FUNÇÕES
Escopo de nomes. Estrutura de procedimentos e funções. Argumentos formais e reais. Funções e procedimentos recursivos. Exemplos de algoritmos recursivos (busca binária, Fibonacci, fatorial, torre de Hanói, etc.).
GUIMARÃES, A. M. Algoritmos e estruturas de dados. Rio de Janeiro: LTC, 1994.
KERNIGHAN, BRIAN W., RITCHIE, DENNIS M. C. A linguagem de programação padrão. Rio de Janeiro: Campus, 1989.