|
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
CARDOSO, Caíque. Orientação a objetos na prática: aprendendo orientação a objetos com Java. Rio de Janeiro: Ciência Moderna, 2006.
FREEMAN, E.; SIERRA K. Use a cabeça! padrões e projetos. 2. ed. rev. Rio de Janeiro: Alta Books, 2009.
PREISS, Bruno R. Estruturas de dados e algoritmos: padrões de projetos orientados a objetos com java. Rio de Janeiro: Campus, 2001.
BIBLIOGRAFIA COMPLEMENTAR
BOOCH, Grady. UML: guia do usuário. Rio de Janeiro: Campus, 2012.
FOWLER, Martin. Refactoring: improving the design of existing code. Reading: Addison-Wesley, 1999.
GAMMA, ERICH. Padrões de projeto: soluções reutilizáveis de software orientado a objetos. Porto Alegre: Bookman, 2000.
HORSTMANN, Cay S. Padrões e projeto orientados a objetos. Porto Alegre: Bookman, 2007.
LARMAN, Craig. Utilizando UML e padrões: uma introdução à análise e ao projeto orientados a objetos e ao desenvolvimento iterativo. Porto Alegre: Bookman, 2007.
SEDGEWICK, Robert. Introduction to programming in Java: an interdisciplinary approach. Boston: Addison-Wesley, 2008.
aprovação
Prof. Dr. Augusto Wohlgemuth Fleury Veloso da Silveira Coordenador do Curso de Graduação em Engenharia Elétrica |
Prof. Dr. Sérgio Ferreira de Paula Silva Diretor da Faculdade de Engenharia Elétrica |
| Documento assinado eletronicamente por Augusto Wohlgemuth Fleury Veloso da Silveira, Coordenador(a), em 03/05/2023, às 15:29, 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 04/05/2023, às 15:22, 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 4460873 e o código CRC CCF738A0. |
Referência: Processo nº 23117.080333/2022-16 | SEI nº 4460873 |