CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DO PIAUÍ UNIDADE DE ENSINO DESCENTRALIZADA DE PARNAÍBA GERÊNCIA DE ENSINO COORDENAÇÃO PEDAGÓGICA
PLANO DE CURSO
Curso: Técnico em InformáticaDisciplina: Programação Orientada a ObjetosÁrea Profis.: Informática Carga-horária: 90 horasAno: 2007 Semestre: 2º Módulo: 2
Objetivo GeralImplementar soluções utilizando o paradigma de orientação a objetos.
EmentaProgramação Orientada a Objetos: Histórico, Linguagens, POO x Programação Estruturada, Conceitos básicos. Java – Visão Geral. Variáveis. Declaração e uso. Tipos primitivos e valores. Strings. Conversão de tipos. Operadores. Controle de Fluxo. Escopo das variáveis. Aninhamento de blocos. Orientação a objetos básica: Classe, Objetos, Instanciação de objetos, Construtores, Atributos e Métodos de classe e de instância. Arrays. Pacotes. Encapsulamento: Modificadores de acesso. Herança: Sobrecarga e Sobrescrita de métodos. Polimorfismo. Classes Abstratas. Interfaces. Exceções. Documentação usando javadoc. Preparação de Arquivos para Distribuição. Principais pacotes da API Java. Interfaces gráficas usando Swing. Acesso a bancos de dados. Mapeamento Objeto-Relacional.
Competências Explicar e determinar para que serve a orientação a objetos; Comparar o paradigma estruturado com o paradigma OO; Citar linguagens estruturadas e OO usadas no passado e no presente; Explicar vantagens e desvantagens da POO; Implementar aplicações em linguagem orientada a objetos. Explicar e usar os principais conceitos da POO: Classe, Objetos, Instanciação de Objetos, Construtores,
Atributos (propriedades / características) e Métodos (comportamentos) de Classe e de Instância, Encapsulamento, Herança e Polimorfismo;
Dizer o que é herança e quando utilizá-la ; Explicar o que são interfaces e qual a sua aplicação; Usar classes para manipulação de coleções de objetos; Implementar interfaces gráficas com componentes; Implementar aplicações gráficas com acesso a bancos de dados relacionais.
Habilidades Compilar e executar um programas em linguagem OO; Declarar e atribuir valores a variáveis locais, de classe e de instância. Converter tipos de variáveis; Controlar o fluxo através de if e else; Usar instruções de laço for e while, juntamente com controle de fluxo usando break e continue; Declarar, instanciar, popular e percorrer arrays; Controlar o acesso a métodos, atributos e construtores através dos modificadores de visibilidade; Escrever métodos de acesso a atributos do tipo getters e setters; Escrever construtores para classes; Utilizar variáveis e métodos de classe (estáticos) e de instância; Reaproveitar código já escrito através do uso de herança; Escrever uma interface em linguagem OO para diminuir acoplamento entre as classes; Separar classes em pacotes; Preparar arquivos para distribuição; Criar a documentação javadoc da aplicação; Tratar exceções ocorridas nas aplicações; Criar exceções para melhorar o tratamento de erros das aplicações;
Utilizar Arrays, Lists, Sets ou Maps dependendo da necessidade da aplicação; Iterar e ordenar listas e coleções; Usar mapas para inserção e busca de objetos; Usar a API do Swing para fazer interfaces gráficas; Acessar bancos de dados relacionais através de JDBC e mapeamento objeto-relacional.
Bases Tecnológicas (Conteúdos)Programação Orientada a Objetos
Histórico O que significa POO Linguagens OO POO x Programação Estruturada Vantagens e Desvantagens Conceitos básicos
Classe, Objeto, Encapsulamento, Herança, Polimorfismo.Java – Visão Geral
Histórico Mitos Principais características Plataforma Java e Linguagem Java Componentes da plataforma Java Máquina virtual (JVM) JIT Bytecodes Ciclo: codificação, compilação e execução Classes, objetos, atributos e métodos Coleta de Lixo Variáveis
Declaração e uso Tipos primitivos e valores Casting e promoção Strings Conversão de tipos Operadores Operador ternário
Controle de Fluxo if-else Loops: while / for Escopo das variáveis Aninhamento de blocos
Orientação a objetos básica Classe Objetos
Instanciação de objetos Construtores
Atributos e Métodos de classe de instância
ArraysPacotes
Organização Import O pacote java.lang
Classes: System, Runtime, Object, String, Math Classes Wrappers Autoboxing
Encapsulamento Modificadores de acesso Getters e Setters
HerançaSobrecarga e Sobrescrita de métodos
PolimorfismoClasses AbstratasInterfacesExceções
Problema e possíveis soluções Tratamento de exceções Lançamento de exceções Hierarquia de exceções Criação de Exceções Exceções checadas e não checadas pelo compilador
Documentação usando javadocPreparação de Arquivos para DistribuiçãoPrincipais pacotes da API Java
java.io Classes Wrapper Coleções (Collection)
Listas (List), Conjuntos (Set) e Mapas (Map)Interfaces gráficas usando Swing
Gerenciadores de Layout Componentes básicos
Acesso a bancos de dados através de JDBCMapeamento Objeto-Relacional
Procedimentos Metodológicos Aulas expositivas dialogadas; Práticas e Projetos individuais e em grupo; Práticas em Laboratório e em Sala de Aula.
Recursos DidáticosQuadro branco, computador, projetor multimídia.
Forma de AvaliaçãoQualitativa e quantitativa no decorrer do processo de aprendizagem, através da observação e aplicação de provas escritas e/ou práticas individuais e em grupo.
Bibliografia SILVEIRA, G.; SILVEIRA, P. & LOPES, S. Apostila Java e Orientação a Objetos. Caelum, 2006.SIERRA, K. & BATES, B. Use a Cabeça! Java. Alta Books, 1ª Edição, 2005.CORNELL, G. & HORSTMANN, C. S. Core Java 2: Fundamentos - Vol. 1. Alta Books, 7ª Edição, 2005.DEITEL, H. M. & DEITEL, P.J. Java - Como Programar. Prentice-Hall, 6ª Edição, 2005.ARNOLD, K. & GOSLING J. A linguagem de programação Java. Bookman, 4ª Edição, 2007.SANTOS, R. Introdução à Programação Orientada a Objetos Usando Java. Campus, 1ª Edição, 2003.BARNES, D. J. & KÖLLING, M. Programação Orientada a Objetos com Java: Introdução Prática usando o BLUEJ. Makron Books, 1ª Edição, 2004.BORATTI, I. C. Programação Orientada a Objetos Usando Delphi. Visual Books, 3ª Edição, 2004.DALL’OGLIO, Pablo. PHP - Programando com Orientação a Objetos. Novatec, 1ª Edição, 2007.