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:

C1

Carga Horária:

Natureza:

Teórica:

30

Prática:

30

Total:

60

Obrigatória:

(X )

Optativa:

( )

Professor(A):

EDGARD AFONSO LAMOUNIER JÚNIOR

Ano/Semestre:

2020/2

Observações:

 

 

EMENTA

Introdução à programação orientada a objetos, classes e objetos, atributos e métodos de classes, herança, polimorfismo e aplicações de programação orientada a objetos.

JUSTIFICATIVA

A disciplina de Programação Orientada a Objetos é fundamental para um certificado em Engenharia de Computação. 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 egresso do curso de Engenharia de Computação esteja habilitado a trabalhar com este paradigma de programação de computadores.

OBJETIVO

Objetivo Geral:

Ao final do curso, o discente deverá entender os princípios e propriedades da Programação Orientada a Objetos e aplicar este conteúdo em sistemas computacionais de grande porte. 

Objetivos Específicos:

 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.

• Desenvolver habilidades de resolver problemas de engenharia mapeados como uma solução orientada a objetos.
• Desenvolver sistemas computacionais de médio porte, utilizando técnicas de programação orientada a objetos.

PROGRAMA

1. Fundamentos da programação orientada a objetos

               1.1. Paradigmas de linguagens de programação

               1.2. Tipos de dados abstratos e o conceito de classes

               1.3. Membros e métodos de uma classe: encapsulamento

               1.4. Classes e objetos: construtores e destrutores

               1.5. Acessando membros e métodos de um objeto

2. Herança
               2.1. Introdução
               2.2. Classes bases e classes derivadas
               2.3. Acessando membros de uma estrutura
               2.4. Membros protected
               2.5. Construtores e destrutores em classes derivadas
               2.6. Exemplos de aplicação

3. Polimorfismo
            3.1. Introdução
            3.2. Conversão de objetos de classe base para classe derivada
            3.3. Exemplos de polimorfismo
            3.4. Classes e métodos abstratos
            3.5. Sobrecarga de operadores
            3.6. Exemplos de aplicação

4. Tratamento de exceções
            4.1. Introdução
            4.2. Visão geral do tratamento de exceções
            4.3. Manipulação de arquivos textos e arquivos binários
            4.4. Comandos try, catch e finally
            4.5. Classes de exceção definidas pelo desenvolvedor
            4.6. Exemplos de aplicação

5. Estudo de caso 1: Interface de usuário gráfica
            5.1.  O framework de interface de usuário
            5.2.  Hierarquia de componentes
            5.3.  Eventos e ações
            5.4. Janelas e painéis
            5.5. Menus

6. Estudo de caso 2: Banco de dados
            6.1. Introdução
            6.2. Modelo de banco de dados relacionais
            6.3. Criando uma base de dados
            6.4. Exemplos de aplicação

METODOLOGIA

O curso será ofertado na modalidade assíncrona, com encontros síncronos mediados pela plataforma Microsoft Teams, cuja presença é obrigatória. Os encontros remotos acontecerão nas datas definidas no Programa.

Encontros mediados pela Plataforma Microsoft Teams:

Horário dos encontros: Todas segundas-feiras: 08:50h-10:40h

Durante os encontros remotos, haverá apresentação e discussão dos conteúdos do Programa. Será adotado material didático customizado, com uso de slides, tutorias, documentos, totalmente acessível pelo Teams, e organizado de acordo com o conteúdo descrito no Programa.

A plataforma Teams será utilizada como canal oficial de comunicação professor-aluno, e ainda como ambiente para recepção de trabalhos, divulgação de notas e disponibilização de materiais bibliográficos. Também será criado um grupo de do aplicativo WhatsUp para gestão do curso.

O atendimento ao estudante será realizado de forma assíncrona, na plataforma Teams e/ou por e-mail do docente (lamounier@ufu.br) e aplicativo, pelo envio de mensagens direcionadas ao professor, ou ainda durante os encontros remotos. Os estudantes que não participarem dos encontros remotos poderão acessar o conteúdo online pela Plataforma.

O cumprimento da carga-horária será verificado por meio da entrega das atividades descritas no Programa, de acordo com as datas das aulas, conforme calendário acadêmico aprovado pela Resolução 16/2021 do Congrad. A distribuição da carga-horária do conteúdo programático do curso está definida no Programa.

AVALIAÇÃO

O conteúdo programático será avaliado por meio de duas provas individuais e um Trabalho Final.

Cada prova terá o valor de 30,0 pontos e o Trabalho Final será de 40,0 pontos.

BIBLIOGRAFIA

Básica

1. PRESSMAN, R. Engenharia de Software. São Paulo: Makron Books, 1995.

 2. TONSIG, S. L. Engenharia de Software – Análise e Projeto de Sistemas. São Paulo: Ed. Futura, 2003.

3. SOMMERVILLE, I. Engenharia de Software. São Paulo: Addison Wesley, 2003

Complementar

  1. PETERS, J. F., PEDRYCZ, W. Engenharia de Software – Teoria e Prática. Rio de Janeiro: Ed. Campus, 2001.
  2. PFLEEGER, S. L. Engenharia de Software – Teoria e Prática. 2ª Edição. Prentice Hall, 2004.
  3.  YOURDON, E. Análise Estruturada Moderna. Rio de Janeiro: Ed. Campus, 1990.
  4. GANE, C., SARSON, T. Análise Estruturada de Sistemas. Rio de Janeiro: LTC Editora, 1983
  5. LARMAN, C. Utilizando UML e Padrões: Uma Introdução à Análise e ao Projeto Orientados a Objetos e ao Desenvolvimento Iterativo. Porto Alegre: Bookman, 2007.
  6. BOOCH, G., RUMBAUGH, J., JACOBSON, I. The Unified Modeling Language. AddisonWesley, Upper Saddle River, NJ, 2005.
  7. FURLAN, J. D. Modelagem de Objetos Através da UML: The Unified Modeling Language. São Paulo: Ed. Makron Books, 1998.

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 28/06/2021, às 21:30, 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 2868804 e o código CRC A5D81D6F.




Referência: Processo nº 23117.039263/2021-30 SEI nº 2868804