UNIVERSIDADE ESTADUAL DE PONTA GROSSA Pró-Reitoria de Graduação Divisão de Ensino PROGRAMA DE DISCIPLINA Setor de Ciências Agrárias e de Tecnologia Departamento de Informática Curso de Engenharia de Computação Disciplina de Linguagens de Programação Código: 203064 Carga Horária Total: 136 horas EMENTA: Introdução aos conceitos de linguagens de programação modernas. Linguagens e seus diferentes paradigmas de programação (comparativo de linguagens). Estruturas de programação e ambiente de execução. Seleção de linguagens para aplicações específicas. OBJETIVO Estudar o paradigma de orientação a objetos, comparando-o com o paradigma de programação estruturada, utilizando como linguagem de aprendizado Java. OBJETIVOS ESPECÍFICOS Conhecer os principais conceitos da programação orientada a objetos Estudar o desenvolvimento de aplicações orientadas a objetos Conhecer as principais estruturas de programação oferecidas por Java Introduzir conceitos de padrões de projeto orientados a objetos ESTRUTURAÇÃO DO CONTEÚDO PROGRAMÁTICO 1. Conceitos básicos de orientação a objetos 1.1. Classes, objetos, mensagens, métodos e atributos 2. Desenvolvimento de aplicações em Java 2.1. Métodos, atributos e modificadores de acesso 2.2. Tipos primitivos e de referência 2.3. Vetores em Java 3. Métodos construtores e sobrecarga 4. Strings e classes wrappers 5. Atributos e métodos estáticos 6. Reutilização de classes 6.1. Composição e Herança 6.2. Polimorfismo, Classes abstratas e Interfaces 7. Tratamento de exceções 8. Pacotes em Java 9. Classes aninhadas e anônimas 10. Desenvolvimento de interface gráfica com Java 11. Coleções em Java 12. Classes genéricas 13. E/S em Java 14. Programação Concorrente e threads 15. Padrões de projeto 15.1. Padrões criacionais 15.2. Padrões estruturais 15.3. Padrões comportamentais MÉTODOS E TÉCNICAS DE ENSINO EMPREGADOS NA DISCIPLINA Aulas expositivas com a participação discente Exposição oral com exemplos Interrogatório Trabalhos (em grupo ou individual) Pesquisas a livros da biblioteca Seminários SISTEMA DE AVALIAÇÃO A nota de cada bimestre será obtida da seguinte maneira: NB = (AE*7,5 + AT*2,5) / 10 AE = Avaliações teóricas ou práticas AT = Trabalhos, seminários e/ou relatórios NB = Nota Bimestral As avaliações do tópico AE podem ser teóricas (feitas em sala de aula) ou práticas (feitas em laboratório ou em casa) BIBLIOGRAFIA BÁSICA E COMPLEMENTAR Santos, R. Introdução à programação orientada a objetos usando JAVA, Elsevier, 2003. Mendes, D. R. Programação Java com Ênfase em Orientação a Objetos, Editora Novatec, 2009. Cormen, T.H; Leiserson, C.E.; Rivest, R.L.; Stein C. Algoritmos: Teoria e Prática. 2ª. ed. Editora Campus. 2002. Deitel, H. M. & Deitel, P. J. (colab.). JAVA: como programar, 4ª ed., Bookman, 2003. Goodrich, M. T & Tamassia, R. Estruturas de Dados e Algoritmos em Java, 4ª ed., Bookman, 2007. Horstmann, C. S. &. Cornell, G. (colab.). Core Java 2, Makron Books, 2001. Preiss, B. R. Estrutura de Dados e Algoritmos: Padrões de Projetos Orientado a Objetos com JAVA, Editora Campus, 2001. Sebesta, R.. Conceitos de Linguagens de Programação, 5ª ed., Bookman, 2003. Sedgwick, R. Algorithms in Java: Parts 1-4, 3rd ed., Addison Wesley, 2002. Sierra, K. & Bates, B. Use a cabeça! Java, 2ª ed., O´Rilley, 2005.