DC-UFRPE/Licenciatura Plena em Computação/Laboratório de Programação II

Fonte: Wikiversidade

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.