Técnicas de Programação II – TIN0011

Obrigatória – 90 horas – 5 créditos
Pré-requisitos: Técnicas de Programação I
Professor Responsável: Pedro Moura

Objetivos da Disciplina

Capacitar o aluno a desenvolver projetos utilizando conceitos básicos de modelagem, linguagens orientada a objeto e estruturas de dados através da:

  • Interpretação de diagramas de uma linguagem de modelagem
  • Identificar as propriedades e as responsabilidades dos objetos
  • Implementar gabaritos para as estruturas de dados básicas
  • Modelar e implementar sistemas utilizando Linguagem Orientada a Objeto

Ementa

  • Tipos de dados compostos
  • Ponteiros
  • Implementação das estruturas de dados básicas (listas, filas e pilhas)
  • Registros e arquivos
  • Algoritmos recursivos

Conteúdo Programático

  • Algoritmos recursivos
    • Módulos recursivos
    • Registros de ativação de procedimentos e funções
    • Algoritmos recursivos. Funções matemáticas recursivas
  • Introdução à orientação a objetos
    • Conceitos de orientação a objetos
    • Classes e objetos
    • Atributos e métodos
  • Construtores e Destrutores
    • Construtores
    • Armazenamento dinâmico
    • Argumentos default
    • Destrutores
  • Sobrecarga
    • Sobrecarga de funções
    • Sobrecarga de operadores
    • Conversão entre tipos
  • Derivação de Classes
    • Derivação uma classe
    • Funções virtuais
    • Herança múltipla
    • Classes virtuais
  • Herança
  • Polimorfismo
  • Estruturas de dados
    • Listas
    • Filas
    • Pilhas

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: alguns dos projetos propostos pelo professor serão resolvidos com sessões de DOJO (uma dupla desenvolve enquanto o resto da turma acompanha e discute o que a dupla está desenvolvendo), visando emergir as dúvidas da turma 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, utilizando uma linguagem Orientada a Objetos, 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

  • GAMMA, E., et al. Padrões de Projeto. Bookman, 2005.
  • DEITEL, H. & DEITEL, P. C++ Como programar. Prentice Hall, 2006.
  • STROUSTRUP, B. Princípios e práticas de Programação C++. Bookman, 2011.
  • MEYERS, S. Effective C++. Addison Wesley, 1998

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