UNIVERSIDADE FEDERAL DE UBERLÂNDIA
Faculdade de Engenharia Elétrica

Av. João Naves de Ávila, 2121, Bloco 3N - Bairro Santa Mônica, Uberlândia-MG, CEP 38400-902
Telefone: (34) 3239-4701/4702 - www.feelt.ufu.br - feelt@ufu.br
  

Timbre

Plano de Ensino

IDENTIFICAÇÃO

Componente Curricular:

PROGRAMAÇÃO ORIENTADA A OBJETOS

Unidade Ofertante:

FEELT

Código:

FEELT31514

Período/Série:

Turma:

A1/A2

Carga Horária:

Natureza:

Teórica:

02

Prática:

02

Total:

04

Obrigatória:

(X )

Optativa:

( )

Professor(A):

EDGARD AFONSO LAMOUNIER JÚNIOR

Ano/Semestre:

2022/2

Observações:

 

 

EMENTA

Introdução à programação orientada a objetos, classes e objetos, atributos e métodos de classes, encapsulamento, herança, polimorfismo, aplicação em estrutura e banco de dados, padrões de projeto e templates.

JUSTIFICATIVA

A disciplina de Programação Orientada a Objetos é fundamental para o curso de graduação em Engenharia da Computação e outros cursos de Engenharia afins. Atualmente, é o paradigma de programação mais utilizado na indústria e na academia. A programação orientada a objetos, juntamente com a arquitetura cliente-servidor, são consideras como tecnologias que revolucionaram a computação mundial. Diante deste cenário, é de extrema importância que o discente do curso de graduação em Engenharia da Computação esteja habilitado a trabalhar com este paradigma de programação.

OBJETIVO

Objetivo Geral:

  • Fornecer ao aluno (a) os conceitos de orientação a objeto, bem como capacitá-lo a desenvolver sistemas computacionais utilizando a técnica de orientação a objetos.

Objetivos Específicos:

  • Identificar diferentes paradigmas de linguagens de programação
  • Entender herança e a reutilização de software
  • Entender as vantagens de se usar polimorfismo
  • Entender exceções e o tratamento de erros
  • Desenvolver sistemas computacionais, utilizando o paradigma da orientação à objeto. 

PROGRAMA

 

 

  1. Fundamentos da programação orientada a objetos
    1. Paradigmas de linguagens de programação
    2. Tipos de dados abstratos e o conceito de classes
    3. Importância da Programação Orientada a Objetos na Eng. da Computação
    4. Membros e métodos de uma classe: encapsulamento
    5. Classes, objetos e construtores
    6. Acessando membros e métodos de um objeto
  2. Herança
    1. Introdução
    2. Classes bases e classes derivadas
    3. Acessando membros de classes derivadas
    4. Membros protected
    5. Construtores e métodos em classes derivadas
    6. Exemplos de aplicação
  3. Polimorfismo
    1. Introdução
    2. Conversão de objetos de classe base para classe derivada
    3. Exemplos de polimorfismo
    4. Classes e métodos abstratos
    5. Sobrecarga de operadores
    6. Desenvolvimento de templates (gabaritos)
    7. Exemplos de aplicação
  4. Tratamento de exceções
    1. Introdução
    2. Visão geral do tratamento de exceções
    3. Manipulação de arquivos textos e arquivos binários
    4. Comandos try, catch e finally
    5. Classes de exceção definidas pelo desenvolvedor
    6. Exemplos de aplicação
  5. Aplicações em estruturas de dados
    1. Conceitos e aplicações de estruturas de dados
    2. Estrutura de dados Pilha
    3. Estrutura de dados Fila
    4. Estrutura de dados Lista
    5. O paradigma da orientação a objetos aplicado em estruturas de dados
  6. Idiomas e padrões de programação orientada a objetos
    1. O Padrão de projeto GoF
    2. Padrões de arquitetura (MVC e Broker)
    3. Exemplos de aplicação
  7. Estudo de caso 1: Aplicação em arquivos
    1. Introdução
    2. Conceito e aplicações de arquivos
    3. Arquivos do tipo texto
    4. Arquivos do tipo binário
    5. Exemplos de aplicação
  8. Estudo de caso 2: Banco de dados
    1. Introdução
    2. Modelo de banco de dados relacionais
    3. Criando uma base de dados
    4. Exemplos de aplicação

 

METODOLOGIA

Técnicas de ensino que serão utilizadas: Aulas expositivas, programação em aula.

Recursos didáticos: Quadro e giz

Recursos audiovisuais: Projetor tipo datashow

AVALIAÇÃO

Sistema de Avaliação

As avaliações serão constituídas de duas provas e um trabalho final.

 

Distribuição da Pontuação da disciplina:

- PRIMEIRA AVALIAÇÃO: valor de 30 pontos

- SEGUNDA AVALIAÇÃO: valor de 30 pontos

- TRABALHO FINAL: valor de 40 pontos

BIBLIOGRAFIA

Básica

  1. ASCENCIO, Ana Fernanda e de CAMPOS, Edilene Aparecida; Fundamentos da programação de computadores – Algoritmos, Pascal, C/C++ e Java, 2ª. Edição, São Paulo:Pearson Prentice Hall, 2007.
  2. DEITEL, H., DEITEL, P., LISTIFIELD, J., NIETO, T., YAEGER, C. E ZLATKINA. M.; C# - Como Programar, São Paulo:Pearson Prentice Hall, 2008.

     3. MIZRAHI, Victorine Viviane; Treinamento em Linguagem C++, Módulos 1 e 2, 2ª. Edição, São Paulo:Pearson Prentice Hall, 2008.

Complementar

  1. VAREJÃO, F. M.; Linguagens de programação – Conceitos e técnicas, Elsevier, Rio de Janeiro, 2004.
  2. BARNES, D. J; KÖLLING, M. Programação orientada a objeto com JAVA, São Paulo, 2004.
  3. DEITEL, H. e DEITEL, P.; Java – Como Programar, São Paulo:Pearson Prentice Hall, 2010.
  4. SAVITCH, W.; C++ Absoluto, São Paulo:Pearson Prentice Hall, 2004.
  5. MENDES, D.; Programação JAVA com ênfase em Orientação a Objetos, Novatec, 2009.

APROVAÇÃO

Aprovado em reunião do Colegiado realizada em: ____/____/______

Coordenação do Curso de Graduação: _________________________

 


logotipo

Documento assinado eletronicamente por Edgard Afonso Lamounier Junior, Professor(a) do Magistério Superior, em 16/02/2023, às 14:16, conforme horário oficial de Brasília, com fundamento no art. 6º, § 1º, do Decreto nº 8.539, de 8 de outubro de 2015.


QRCode Assinatura

A autenticidade deste documento pode ser conferida no site https://www.sei.ufu.br/sei/controlador_externo.php?acao=documento_conferir&id_orgao_acesso_externo=0, informando o código verificador 4273022 e o código CRC 508FCD6B.




Referência: Processo nº 23117.002527/2023-61 SEI nº 4273022