Conhecer os princípios de criação, compilação/interpretação, execução, depuração e teste de programas de computadores.
Avaliar diferentes soluções algorítmicas para um mesmo problema em termos de desempenho e complexidade de tempo e espaço.
Distinguir e utilizar diferentes tipos de dados (numéricos, textos e booleanos) em algoritmos e conhecer suas representações pelo computador.
Utilizar estruturas de controle de fluxo de execução de comandos em algoritmos e programas: estruturas sequenciais, laços de repetição, estruturas de decisão, de processamento paralelo e tratamento de exceção.
Utilizar apropriadamente constantes, variáveis, conjuntos (arranjos unidimensionais, bidimensionais e superiores, listas e dicionários) e objetos em algoritmos e programas.
Organizar programas em módulos (procedimentos, funções ou subrotinas), realizando a troca de dados entre eles por diferentes estratégias: por valor, referência e resultado.
Processos de criação, compilação/interpretação, execução, depuração e teste de programas de computadores
Medidas de desempenho e complexidade de algoritmos.
Tipos de dados e suas representações pelo computador.
Estruturas de controle do fluxo de execução de comandos: estruturas sequenciais, laços de repetição, estruturas de decisão, de processamento paralelo e tratamento de exceção.
Armazenamento e organização de dados na memória do computador utilizando constantes, variáveis, conjuntos (arranjos unidimensionais, bidimensionais e superiores, listas e dicionários).
Modularização de código através do uso de funções e procedimentos com passagem de valores por valor, referência e resultado.