|
UNIVERSIDADE FEDERAL DE UBERLÂNDIA |
|
Ficha de Componente Curricular
CÓDIGO:
|
COMPONENTE CURRICULAR: PROGRAMAÇÃO ORIENTADA A OBJETOS |
|
UNIDADE ACADÊMICA OFERTANTE: FACULDADE DE ENGENHARIA ELÉTRICA |
SIGLA: FEELT |
|
CH TOTAL TEÓRICA: 30 horas |
CH TOTAL PRÁTICA: 30 horas |
CH TOTAL: 60 horas |
OBJETIVOS
Ao final do curso o aluno será capaz de:
Analisar problemas computacionais e propor soluções utilizando conceitos de programação orientada a objetos, como classes, objetos, herança e polimorfismo.
Desenvolver programas em uma linguagem de programação orientada a objetos.
Reconhecer problemas e aplicar padrões de projeto específicos na solução destes problemas
Refatorar sistemas orientados a objetos de acordo com a necessidade
Utilizar e desenvolver sistemas orientados a objetos em nuvem
Ementa
Introdução dos conceitos fundamentais de programação orientada a objetos, como classes, objetos, encapsulamento, herança e polimorfismo. Conhecimento dos membros que tipicamente compõem classes: construtores, destrutores, variáveis e métodos. Entendimento e aplicação dos conceitos de orientação a objetos em linguagens de programação que suportem tal paradigma. Desenvolvimento de sistemas usando programação orientada a objetos. Estrutura de dados: Pilha, Fila e Fila com prioridade. Reuso de software, frameworks de aplicação e tecnologia de componentes. Padrões de projeto e de arquitetura, bad smells e refatoração de software. Uso de linguagens orientadas a objetos em ambiente nuvem.
PROGRAMA
1. Introdução à programação orientada a objetos
1.1. Histórico da programação orientada a objetos
1.2. Programação procedimental versus programação orientada a objetos
2. Conceitos fundamentais de programação orientada a objetos
2.1. Classes concretas, classes abstratas e interfaces
2.2. Objetos, atributos, métodos, construtores e destrutores
2.3. Membros de classe e membros de objetos
2.4. Métodos concretos e métodos abstratos
2.5. Pacotes, visibilidade e encapsulamento
2.6. Generalização, especialização e herança
2.7. Polimorfismo
2.8. Ligação estática e ligação dinâmica
2.9. Estrutura de Dados Pilha, conceitos e aplicação.
2.10. Estrutura de Dados Fila, conceitos e aplicação.
2.11. Estrutura de Dados Fila com Prioridade, conceitos e aplicação.
3. Uso de bibliotecas em linguagens orientadas a objetos
3.1. Tratamento de exceções
3.2. Uso de APIs
3.3. Manipulação de arquivos
3.4. Interfaces gráficas simples
3.5. Acesso aos bancos de dados
4. Desenvolvimento de um sistema orientado a objetos
4.1. Implementação usando programação orientada a objetos
4.2. Documentação do sistema desenvolvido
5. Introdução a reuso e frameworks de aplicação
6. Idiomas e padrões de programação orientada a objetos
6.1. Padrões de projeto (GoF)
6.2. Padrões de arquitetura (MVC e Broker)
7. Desenvolvimento de um sistema orientado a objetos
7.1. Implementação do sistema usando padrões de projeto e de arquitetura
7.2. Documentação do sistema desenvolvido
7.3. Implementação de sistemas OO em nuvem
BIBLIOGRAFIA BÁSICA
1. CARDOSO, Caíque. Orientação a objetos na prática: aprendendo orientação a objetos com Java. Rio de Janeiro: Ciência Moderna, 2006.
2. FREEMAN, E.; SIERRA K. Use a cabeça! padrões e projetos. 2. ed. rev. Rio de Janeiro: Alta Books, 2009.
3. PREISS, Bruno R. Estruturas de dados e algoritmos: padrões de projetos orientados a objetos com java. Rio de Janeiro: Campus, 2001.
BIBLIOGRAFIA COMPLEMENTAR
1. ASCENCIO, Ana Fernanda Gomes. Fundamentos da programação de computadores: algoritmos, Pascal, C/C++ e Java. 2. ed. São Paulo: Prentice Hall, 2012.
2. BOOCH, Grady. UML: guia do usuário. Rio de Janeiro: Campus, 2012.
3. FOWLER, Martin. Refactoring: improving the design of existing code. Reading: Addison-Wesley, 1999.
aprovação
Prof. Dr. Carlos Eduardo Tavares Coordenador do Curso de Graduação em Eng. Elétrica |
Prof. Dr. Sérgio Ferreira de Paula Silva Diretor da Faculdade de Engenharia Elétrica |
| Documento assinado eletronicamente por Carlos Eduardo Tavares, Coordenador(a), em 04/06/2019, às 13:54, conforme horário oficial de Brasília, com fundamento no art. 6º, § 1º, do Decreto nº 8.539, de 8 de outubro de 2015. |
| Documento assinado eletronicamente por Sergio Ferreira de Paula Silva, Diretor(a), em 05/06/2019, às 16:00, conforme horário oficial de Brasília, com fundamento no art. 6º, § 1º, do Decreto nº 8.539, de 8 de outubro de 2015. |
| 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 1171882 e o código CRC 5597C1E5. |
Referência: Processo nº 23117.025407/2019-56 | SEI nº 1171882 |