Universidade Federal Fluminense Instituto de Computação Prof.: Anselmo Montenegro Programação de Computadores II Ementa Parte I Introdução a Linguagem Java: o o o o o o o o o o o o o Histórico da linguagem Características O ambiente Java Pacotes Estrutura de um programa Java Tipos primitivos Identificadores Operadores: aritméticos, lógicos e relacionais Estruturas de controle de fluxo – condicionais Estruturas de controle de fluxo – repetições Tratamento de Exceções Arrays unidimensionais e multidimensionais de tipos primitivos Revisão de algoritmos básicos Conceitos de orientação a objetos: o o o o o o o o Classes. Objetos. Instanciação. Atributos e métodos. Escopo. Construtores. Sobrecarga. Encapsulamento e ocultação de dados. o o o o o Modificadores de acesso. Herança e polimorfismo. Classes abstratas e interfaces. Princípios básicos de projeto orientado a objetos. Exemplos de aplicações. Entrada e saída padrão: o Entrada e saída via console. o Diálogos padrão. o Exemplos de aplicações. Representação de dados através de agregados: o o o Arrays unidimensionais e multidimensionais de objetos. Manipulação de cadeias de caracteres. Algoritmos envolvendo arrays de objetos. Entrada e saída através de arquivos: o o o o o o o Conceito de arquivo. Conceito de stream (fluxo). Arquivos texto. Arquivos binários. Arquivos de acesso direto. Serialização. Exemplos de aplicação. Parte II Interfaces gráficas: o o o o Programação baseada em eventos. Componentes de interface. Tratadores de eventos. Exemplos. Recursividade: o o o o o O conceito de recursão. Recursão x iteração. Recursão de cauda. Recursão mútua. Exemplos de algoritmos recursivos. Parte III Conceito de estruturas de dados e seus algoritmos. Listas lineares. Listas lineares seqüenciais (implementação através de arrays): listas, pilhas e filas. Tipos recursivos. Listas Encadeadas (implementação através de referências para objetos): listas, pilhas e filas. Coleções de objetos em Java: o o o Conjuntos. Listas. Mapas associativos. Avaliação: Primeira prova (P1): parte I Segunda prova (P2): Parte II Terceira prova (P3): toda a matéria com ênfase na parte 3 2 Trabalhos (T) : a definir Média: Media das provas (MP) = (3*P1+3*P2+4*P3)/10.0 Media dos trabalhos (MT) = (T1+T2)/2.0 MediaFinal Entrada: MP,MT Saída: MF ( Média final) Se MP >= 6.0 então MF= (MT + MP)/2.0 Senão MF = MP Se MF >= 6.0 então Resultado = APROVADO Senão se MF >= 4.0 então Resultado = VS Senão Resultado = REPROVADO Bibliografia: Programação e algoritmos com Java: Ênfase em programação de algoritmos e solução de problemas computacionais Introduction to Programming in Java – Interdiciplinary Approach (em lingual inglesa) Autor: Robert Sedwick & Kevin Wayne Editora: Addison-Wesley Ano: 2007 Página do livro com material do livro: http://www.cs.princeton.edu/introcs/home/ Programação orientada a objetos com Java Autor: Barnes & Kolling Editora: Pearson Edição: 4 Ano: 2009 Introdução à Ciência da Computação com Jogos: aprendendo a programar com entretenimento Autor: Bruno Feijó , Esteban Clua e Flávio Corrêa Editora: Campus Ano: 2009 Programação orientada a objetos usando Java Autor: Rafael Santos Editora: Campus Ano: 2003 Linguagem de programação Java: Livro de referência sobre a linguagem Java Java: Como Programar Autor: HARVEY M. DEITEL & PAUL J. DEITEL Editora: Prentice-Hall Ano: 2005 Edição: 6 Livros texto sobre a linguagem Java (podem ser lidos do começo ao fim) Use a cabeça! Java Autor: KATHY SIERRA & BERT BATES Editora: Alta Books Ano: 2007 Aprenda em 21 dias Java 2 Autor: Rogers Cadenhead & Laura Lemay Editora: Campus Edição: 4