Programação de Computadores I
Aulas, materiais e cronograma anual de 2026.
Aulas 1 e 2 lecionadas pelo professor Diego Ascânio.
- 01
Introdução
Aula 1 lecionada pelo professor Diego Ascânio.
- 02
- 03
- 04
- 05
- 06
Apresentação da disciplina e introdução à programação
Objetivos da disciplina, critérios de avaliação, ferramentas, rotina de laboratório e papel da programação no curso técnico. Configuração do ambiente e execução do primeiro programa.
Pensamento computacional e algoritmos
Decomposição, reconhecimento de padrões, abstração e construção de algoritmos em linguagem natural e pseudocódigo.
Lógica proposicional e expressões booleanas
Proposições, valores verdadeiro e falso, negação, conjunção, disjunção, tabelas-verdade e aplicação de expressões booleanas em programas.
Variáveis, tipos de dados e operadores
Variáveis, constantes, tipos numéricos e textuais, atribuição, operadores aritméticos, precedência, conversões de tipo e formatação de saída.
Entrada e saída de dados
Leitura e validação de dados, mensagens de saída e organização de programas no fluxo entrada, processamento e saída.
Revisão de algoritmos sequenciais e interpretação de enunciados
Revisão de variáveis, tipos, operadores e entrada/saída. Interpretação de problemas pela identificação dos dados de entrada, do processamento e da saída esperada.
Estruturas condicionais: if e if/else
Fluxo de decisão, condições simples e compostas e resolução de problemas de classificação, comparação e aplicação de regras.
Condicionais encadeadas e operadores lógicos
Estruturas if/elif/else, operadores relacionais e lógicos e expressões compostas aplicadas a faixas de valores, intervalos e regras combinadas.
Boas práticas com condicionais e depuração
Clareza, indentação, mensagens de erro, testes de mesa, casos de borda, conjuntos de teste e refatoração de condicionais.
Repetição com while
Laços controlados por condição, atualização de variáveis, sentinelas, prevenção de loops infinitos, contagem e soma acumulada.
Repetição com for e contadores
Repetição controlada por contador, sequências numéricas, percursos previsíveis, somatórios, contagens regressivas e médias.
Acumuladores, contadores, mínimo, máximo e média
Padrões de repetição com acumuladores e contadores para mínimo, máximo, média, ocorrências, somas condicionais e relatórios simples.
Laços aninhados
Laços aninhados aplicados a tabelas, padrões textuais, grades e percursos bidimensionais.
Controle de fluxo em repetições
Uso de break e continue, validação de entrada e organização de menus interativos com dados mantidos em memória.
Revisão integrada: condicionais e repetições
Integração de decisões, operadores lógicos e laços na resolução de problemas progressivos.
- Avaliação
Avaliação prática 1
Avaliação de algoritmos sequenciais, condicionais, operadores lógicos e estruturas de repetição, seguida de análise dos principais pontos de melhoria.
Funções: motivação e modularização
Organização de programas com funções e procedimentos, redução de código repetido e reutilização de cálculos recorrentes.
Parâmetros, retorno e escopo
Parâmetros, valores de retorno, diferença entre imprimir e retornar, variáveis locais e globais, validação e composição de funções.
Decomposição de problemas com funções
Decomposição de programas maiores em funções menores, definição de responsabilidades e composição da solução.
- 3º bimestre · 04/08–29/09/2026
Distribuição das avaliações · 20 pontos
Exercícios avaliativos: 8 pontos (40%); trabalho prático: 4 pontos (20%); prova: 8 pontos (40%).
Laboratório: modularização com funções
Aplicação de funções, parâmetros e retornos na construção de um programa modular, com validação de entradas e reutilização de cálculos.
Recursão introdutória
Caso base, chamada recursiva e comparação entre soluções iterativas e recursivas em problemas como fatorial, contagem e soma.
Laboratório: recursão e soluções iterativas
Implementação e comparação de soluções recursivas e iterativas para fatorial, somatórios, contagens e sequências simples.
Vetores: criação, índices e percursos
Estruturas unidimensionais, índices, acesso, atualização e percurso de vetores com laços.
Matrizes: linhas, colunas e percursos
Estruturas bidimensionais, organização em linhas e colunas e percursos com laços aninhados.
Correção de exercício: matrizes
Resolução e análise do exercício de matrizes, com discussão de índices, percursos, casos de teste e alternativas de implementação.
- Avaliação
Exercício avaliativo 1 — Matrizes (4 pontos)
Resolução individual de problemas com matrizes envolvendo percursos, busca, soma, contagem, diagonais e totais por linha e coluna.
Registros e apresentação do trabalho prático
Registros, dicionários e objetos simples para representar entidades com campos de diferentes tipos. Início do trabalho prático: sistema de cadastro em memória com estruturas heterogêneas.
- Avaliação
Exercício avaliativo 2 — Registros (2 pontos)
Criação, consulta e atualização de registros de alunos, produtos ou contatos, com tipos de dados adequados e validação dos campos.
- Sem aula
Independência do Brasil
Feriado nacional da Independência do Brasil.
- Avaliação
Exercício avaliativo 3 — Listas de registros (2 pontos)
Coleção de registros com inserção, listagem, busca e atualização de entidades, organizada com funções e validação de dados.
Laboratório: desenvolvimento do trabalho prático
Desenvolvimento do sistema de cadastro em memória com lista de registros, menu, inclusão, listagem, busca, atualização, remoção e validação de dados.
- Avaliação
Entrega do trabalho prático — Cadastro com registros (4 pontos)
Sistema de cadastro em memória usando estruturas heterogêneas e funções. Requisitos: menu, inclusão, listagem, busca, atualização, remoção e validação dos dados.
Revisão para a prova do 3º bimestre
Revisão de funções, recursão, vetores, matrizes, registros e listas de registros, com problemas integrados e análise de casos de teste.
- Avaliação
Prova do 3º bimestre — 8 pontos
Prova sobre os conteúdos do bimestre: funções, recursão, vetores, matrizes, registros e listas de registros.
Devolutiva da avaliação e análise das soluções
Análise das soluções da avaliação, identificação dos principais erros e revisão das estratégias de resolução.
Recuperação e fechamento do 3º bimestre
Retomada de vetores, matrizes e registros, com atividade de recuperação e síntese dos conteúdos do bimestre.
- Fim do 3º bimestre · 29/09/2026
Arquivos: leitura e escrita básica
Persistência de dados com abertura, leitura, escrita e fechamento de arquivos de texto e CSV.
Arquivos CSV e integração com cadastros
Organização de dados tabulares em CSV, separadores, cabeçalhos, processamento de linhas e persistência de cadastros.
Projeto final: especificação e planejamento
Definição do tema, requisitos mínimos, funcionalidades, estrutura de dados, persistência e divisão do projeto em funções.
Projeto final: desenvolvimento orientado I
Estrutura inicial do projeto com menu, funções principais, cadastro e listagem de dados.
Projeto final: desenvolvimento orientado II
Busca, filtros, validações, persistência em arquivo, testes incrementais e correção de falhas.
- Avaliação
Apresentação e avaliação dos projetos
Demonstração das funcionalidades e justificativa das decisões de implementação. Avaliação da organização do código, funções, estruturas de dados, arquivos e clareza da solução.
Fechamento, revisão geral e recuperação
Síntese de variáveis, condicionais, laços, funções, listas, registros e arquivos, com autoavaliação e retomada dos conteúdos que exigem reforço.
Recursos
- JavaScript no Beecrowd: leitura, escrita e testes locais
Guia para executar programas com Node.js antes de submeter no Beecrowd.
- TypeScript Playground
Ambiente onde faremos os códigos da disciplina.
- Lógica de Programação e Algorítmos com JavaScript
Livro de Edécio Fernando Iepsen.