Universidade Estadual de Feira de Santana Departamento de Ciências Exatas Período Letivo 2011.2 Plano de Ensino do Componente Curricular EXA 805 – ALGORITMOS E PROGRAMAÇÃO II Professor: Angelo Loula Material do Curso Carga Horária 30 horas
Pré-requisitos EXA 801 – Algoritmos e Programação I
Ementa Tipos abstratos de dados; independência entre especificação e implementação. Princípios de orientação a objetos: objetos, classes, atributos, métodos, mensagens, encapsulamento, herança, composição, polimorfismo, interfaces, acoplamento, ligação dinâmica. Interfaces gráficas e programação orientada a eventos. Estruturas de dados básicas: tabelas, listas simples e encadeadas, pilhas, filas. Métodos de ordenação. Tratamento de exceções. Princípios de testes e depuração de programas. Construção e uso de bibliotecas; compilação independente e em separado. Apresentação Algoritmos e Programação II avança nas técnicas de programação apresentando um novo paradigma: programação orientada a objetos. O conhecimento de algoritmos e programação estrutural será a base para uma nova visão de modelagem do mundo. A linguagem de programação Java será a linguagem adotada pelo curso e aspectos tecnológicos desta linguagem serão abordados. Objetivos, Habilidades e Competências Geral: • Ser capaz de resolver problemas através da interpretação de cenários do mundo real, modelando soluções através de modelos e programas orientados a objetos e implementando as soluções através de programas de computador escritos na linguagem Java. Específicos: • Compreender a modelagem e programação orientada a objetos, e conceitos básicos relacionados; • Ser capaz de escrever, compilar, depurar e testar programas na linguagem de programação Java; • Utilizar software de edição de texto, compilação e depuração para o desenvolvimento de programas em linguagem Java; • Aplicar estruturas de dados orientadas a objetos para modelar dados simples e complexos a partir de problemas reais; • Criar interfaces gráficas simples na linguagem Java; • Tratar erros e exceções em programas na linguagem Java; O aluno dessa disciplina deverá ser capaz de: • Identificar problemas de informação e, na medida do possível, solucioná-los para atingir os objetivos esperados; • Analisar e solucionar problemas, através do uso sistemático de programas orientados a objetos; • Entender os conceitos de modelagem de soluções orientadas a objetos, tendo em vista as técnicas de programação e a linguagem Java; • Dominar comandos básicos, estruturas de dados e tecnologias básicas da Linguagem Java; • Implementar sistemas de computação orientados a objetos conforme as especificações dos mesmos. Conteúdo Programático Tipos abstratos de dados; independência entre especificação e implementação. Princípios de orientação a objetos: objetos, classes, atributos, métodos, mensagens, encapsulamento, herança, composição, polimorfismo, interfaces, acoplamento, ligação dinâmica. Interfaces gráficas e programação orientada a eventos. Estruturas de dados básicas: tabelas, listas simples e encadeadas, pilhas, filas. Métodos de ordenação. Tratamento de exceções. Princípios de testes e depuração de programas. Construção e uso de bibliotecas; compilação independente e em separado. Introdução Paradigmas de Programação
Orientação a Objetos
Conceitos Básicos: Objetos
Classes Atributos e Estado Métodos, Mensagens e Comportamentos Encapsulamento Herança Polimorfismo e Ligação Dinâmica
Linguagem de Programação JavaRelacionamentos e Composição Acoplamento e Coesão Implementação de Classes e Objetos
Classes, Atributos e Métodos Final Classes Abstratas e Interface Atributos e Métodos Estáticos Tratamento de Exceções Estruturas de Dados Básicas (Collections) Generics Manipulação de Arquivos Interface Gráfica e programação orientada a eventos Threads Metodologia A metodologia deste módulo será de Aulas Expositivas, mas haverá integração com os módulos do Estudo Integrado de Programação, Estrutura de Dados, e Matemática Discreta. As Aulas Expositivas serão aulas dialogadas com o objetivo de introduzir assuntos que serão tratados mais detalhadamente nos problemas do Estudo Integrado de Programação, complementar o processo de aprendizagem após o final de um problema ou até mesmo discutir outros assuntos que não serão abordados nos Grupos Tutoriais. Material Utilizado Salas tradicionais de aula, com quadro negro ou branco, kit para escrever nos quadros, retro-projetor, computador e canhão multimídia. Avaliação O módulo terá três avaliações de conteúdo (AC) no formato de prova escritas respondidas individualmente em sala de aula. A média ponderada (MP) corresponderá à avaliação deste módulo e será composta pelas ACs e também pela avaliação dos produtos de grupos tutoriais (PGT) desenvolvido no Estudo Integrado de Programação. A média de PGT (MPGT) será calculada pela média aritmética () das avaliações de cada PGT avaliado no Estudo Integrado. A média de avaliações de conteúdo (AC) serão dadas pela média aritmética das três avaliações de conteúdo. O cálculo da MP então será o seguinte: MP = 0,7 MAC + 0,3 MPGT Os alunos que já foram aprovados em semestre anterior no Estudo Integrado de Programação terão sua MP deste módulo igual a MAC. Calendário (tentativa)
Referências SANTOS, R. Introdução à Programação Orientada a Objetos usando Java. Campus, 2003. KOLLING, M e BARNES, D. J. Programação Orientada a Objetos com Java, Pearson, 2004. MEYER, B. Object-Oriented Sofware Construction, segunda edição, Prentice Hall PTR, 2000. CORMEN, T.H., LEISERSON, R.L., RIVEST, R.L. e STEIN, C. Introduction to Algorithms, segunda edição, MIT Press, 2001. AHO, A., HOPCROFT, J. e ULLMAN, J. Data Structures and Algorithms, Addison-Wesley Pub Co, 1983. KNUTH, D. The Art of Computer Programming, vol. I e III, Addison-Wesley Pub Co, 1998. ECKEL, Bruce. Pensando em Java (tradução de Thinking in Java). On-line. HORSTMANN, C. e CORNELL, G. Core Java 2, V.1: Fundamentos, Makron, 2000. DEITEL, H.M. e DEITEL, P.J. JAVA: Como Programar, Bookman Companhia Editora, 2003. ECKEL, B. Thinking in Java, Prentice Hall, 2002. SEDGEWICK, R. e SCHIDLOWSKY, M. Algorithms in Java, terceira edição, Addison-Wesley Pub Co, 2002. LAFORE, R. Estruturas de Dados e Algoritmos em Java, Ciência Moderna, 2005. PREISS, B. R. Estruturas de Dados e Algoritmos, Campus, 2001. WEISS, M.A. Data Structures and Algorithm Analysis in Java, Addison Wesley, 1998. GOODRICH, M.T. e TAMASSIA, R. Estruturas de Dados e Algoritmos em Java, segunda edição, Bookman, 2002. The Java Tutorial: http://java.sun.com/docs/books/tutorial |
oldpages >