Técnicas de Programação I – TIN0107

Obrigatória – 90 horas – 5 créditos
Pré-requisitos: nenhum
Professor Responsável: Jobson Luiz Massollar da Silva

Objetivos da Disciplina

Desenvolver metodicamente programas para implementar algoritmos básicos numa linguagem de programação procedimental.

Ementa

  • O conceito de algoritmo
  • Princípios de programação estruturada
  • Conceitos básicos de uma linguagem de programação
  • Recursividade
  • Vetores e matrizes
  • Algoritmos de ordenação
  • Pesquisa sequencial e binária

Conteúdo Programático

  • O conceito de algoritmo
    • Computadores e programação
    • Procedimentos e algoritmos
    • Entrada e saída. Estruturas de dados
    • Programas
    • Resolução de problemas e programação
    • Linguagens de programação
    • Processamento de programas em linguagens de alto-nível
    • Engenharia de software
  • Conceitos básicos de uma linguagem de programação
    • Comandos executáveis Sequencia de comandos
    • Sintaxe. Semântica
    • Literais, identificadores e palavras reservadas
    • Tipos de dados e declarações
    • Unidades compiláveis. Programas e bibliotecas
    • Expressões. Operadores e operandos
    • Depuração de programas
  • Princípios de programação estruturada
    • Fluxo de controle
    • Desenvolvimento por refinamento sucessivo
    • Procedimentos
    • Funções
    • Estruturas de seleção: if e case
    • Expressões booleanas
    • Verificação manual de um algoritmo
    • Estruturas iterativas
    • Projeto de algoritmos iterativos
    • Depuração, testes e erros comuns em algoritmos iterativos
    • Parametrização
    • Escopo de identificadores
  • Vetores e matrizes
    • Tipos de dados simples: escalares (numéricos, lógico, caracteres)
    • Tipos de dados definidos pelo programador: intervalos, enumerados e conjuntos
    • Cadeias de caracteres
    • Arquivos Texto
    • Vetores
    • Acesso sequencial
    • Acesso randômico
    • Análise de algoritmos
    • Matrizes
    • Tabelas
    • Modularização de programas grandes: unidades
  • Pesquisa sequencial e binária
  • Algoritmos de ordenação

Metodologia

Aulas expositivas e em laboratório. Exercícios resolvidos pelos alunos.

Exposição de conteúdo: aulas presenciais terão exposição de conteúdo teórico e proposta de projetos para a prática destes conteúdos.
Aprendizagem colaborativa: a turma será dividida em grupos e alguns dos projetos propostos pelo professor serão resolvidos em sala. As soluções serão apresentadas pelos grupos para a turma visando emergir as dúvidas e também promover a integração dos alunos para a aprendizagem em grupo.
Aprendizagem baseada em projeto: a partir dos exemplos de projetos apresentados em sala o aluno deverá desenvolver um projeto para a solução de um problema a sua escolha.

Avaliação

Avaliação contínua: Ao longo da disciplina, o estudante entregará tarefas intermediárias aplicando e fixando individualmente o conteúdo da disciplina em exercícios propostos pelo professor. Em grupos, os estudantes respondem a um conjunto de questões propostas pelo professor.
Avaliação Somativa: Consiste de três notas: G1, G2 e G3. Cada uma delas podendo ser composta pela combinação de três instrumentos de avaliação, a saber: prova, trabalhos práticos de implementação e participação em sala de aula.
Cálculo da nota-final: A média final será igual a média da G1e a G2 se esta for maior que 7,0 senão esta será igual a ((média da G1 e a G2) + G3)/2.
Serão aprovados apenas os alunos com média final igual ou superior a 5,0.

Bibliografia

  • Celes, W.; Cerqueira, R. F. de G.; Rangel, J. L. M.. Introdução à Estruturas de Dados: com técnicas de programação em C. Rio de Janeiro: CAMPUS, 2004.
  • Samuel P. Harbison III e Guy L. Steel Jr, C – A Reference Manual. Prentice Hall, 2002.

mapa CCET - Avenida Pasteur, 458 - Urca
Rio de Janeiro / RJ - CEP: 22290-255
Telefone: (21)3873-6400