DC-UFRPE/Licenciatura Plena em Computação/Laboratório de Programação II
Programa da Disciplina
[editar | editar código-fonte]Nome: Projeto de desenvolvimento de software educacional | Código: 28006 |
Departamento: DC | Área: Departamento de Computação |
Carga-horária total: 30 horas (30h Prática) | Créditos: |
Carga-horária semanal: 4 horas |
Ementa
[editar | editar código-fonte]Prática sobre conceitos básicos de Orientação a Objetos. Resolução de problemas em Ambientes Virtuais de Aprendizagem envolvendo: modelagem de conceitos do mundo real usando o paradigma orientado a objetos; composição de classes, polimorfismo, herança e sobrecarga de operadores.
Objetivos
[editar | editar código-fonte]Aprender noções básicas de Orientação a Objeto (OO): conceito de objetos, tipos de objetos, instanciação, envio de mensagens para objetos, atributos, encapsulamento, comportamento de objetos, identidade de objetos. Aprender noções de interfaces (Tipos Abstratos de Dados) e polimorfismo. Aprender noções de herança de implementação, hierarquias de classes, classes abstratas, upcast e downcast. Aprender a fazer reuso com composição de objetos, contrastando a técnica de composição com a técnica de herança. Aprender regras básicas de design e Design Patterns básicos. Aprender a utilizar arquivos para a persistência de dados.
Conteúdo Programático
[editar | editar código-fonte]1. Conceitos básicos de programação
2. Conceitos básicos de OO
- Modularização
- Abstração
- Ocultamento de informações (information hiding)
- Encapsulamento
3. Programação Orientada a Objetos
- Conceito
- Fundamentos de programação orientada a objetos.
- Classes (tipos abstratos de dados) e Instâncias (objetos)
- Duração e escopo.
- Métodos e mensagens (construtores e destrutores)
- Passagem de parâmetros
- Composição e Herança
- Super classe e subclasse.
- Interfaces
- Classes abstratas
- Overriding e Overloading
- Polimorfismo
4. Linguagem de Programação Java
- Tipos primitivos de dados
- Operadores
- Estrutura de controle
- Expressões
- Garbage Collection
- Recursão
- Exceções
- Genéricos
5. Coleções
- Arrays
- Set
- Map
- List
6. Interface Gráfica com o usuário (GUI)
- Tratamento de eventos
- Java Swing
- AWT
7. Depuração e documentação de programas
- Depuração modular
- Testes de integração
- Introdução à documentação de requisitos, de classes e de código
Métodos didáticos de ensino
[editar | editar código-fonte]- Projeto prático em Grupo e Atividades Remotas
Critérios de avaliação
[editar | editar código-fonte]1VA = Lista exercício 1 + Lista exercício 2 + Lista exercício 3 + Lista exercício 4 + Lista exercício 5.
2VA = Lista exercício 6 + Lista exercício 7 + Lista exercício 8 + Lista exercício 9 + Lista exercício 10.
3VA = Prova online
Final = Prova online
Bibliografia
[editar | editar código-fonte]Básica
[editar | editar código-fonte]SIERRA, Kathy; BATES, Bert. Use a cabeça: Java. Rio de Janeiro: Alta Books, c 2007. xvii, 484 p.
Lynn Andrea Stein. Interactive Programming in Java. Disponível gratuitamente em: http://www.cs101.org/ipij/
Barnes, David J; Kolling, Michael. Programação Orientada a Objetos com Java. Ed. Pearson- Prentice Hall.
John Lewis and William Loftus. Java Software Solutions – Foundations of Program Design, 6th edition, 2009.
Bertrand Meyer. Object-Oriented Software Construction. Segunda Edição. Prentice Hall, 2000.
Bibliografia complementar:
[editar | editar código-fonte]1. SIERRA, Kathy; BATES, Bert. Use a cabeça: Java. Rio de Janeiro: Alta Books, c 2007. xvii, 484 p.
2. Lynn Andrea Stein. Interactive Programming in Java. Disponível gratuitamente em: http://www.cs101.org/ipij/
3. Barnes, David J; Kolling, Michael. Programação Orientada a Objetos com Java. Ed. PearsonPrentice Hall.
4. John Lewis and William Loftus. Java Software Solutions – Foundations of Program Design, 6th edition, 2009.
5. Bertrand Meyer. Object-Oriented Software Construction. Segunda Edição. Prentice Hall, 2000.