DC-UFRPE/Bacharelado em Ciência da Computação/Introdução a Programação II
Programa da Disciplina
editarNome: | Introdução à Programação II |
Código: | 14118 |
Departamento: | Departamento de Computação (DC) |
Área: | Computação |
Carga-horária total: | 60 horas |
Créditos: | 4 |
Pré-requisitos: | Introdução à Programação I |
Ementa
editar- Paradigma orientado a objetos.
- Conceitos de programação orientada a objeto: abstração, generalização, modularização e encapsulamento. Sintaxe básica JAVA.
- Orientação a objetos com JAVA: classes e objetos, tipos abstratos de dados, objetos e mensagens, herança, polimorfismo.
- Arquitetura em N-camadas instanciação de padrão estilo MVC na prática.
- Boas práticas de programação orientada a objetos e padrão de codificação.
- Projeto de desenvolvimento.
Objetivos
editarAprender a, usando conceitos e recursos do mundo computacional, abstrair problemas do mundo real e conseguir "traduzir eles" para que possamos resolver pensando de forma computacional, através do paradigma orientado a objeto.
Conteúdo
editar1. Conceitos básicos de programação
1.1. O que fazer antes de começar a programar
2. Conceitos básicos de orientação a objetos
2.1. Abstração
2.2. Generalização
2.3. Modularização
2.4. Encapsulamento (information hiding)
3. Programação Orientada a Objetos
3.1. Conceito
3.2. Fundamentos de programação orientada a objetos
3.3. Classes (tipos abstratos de dados) e Instâncias (objetos)
3.4. Escopo de classes, construtores e métodos.
3.5. Métodos e mensagens (construtores e destrutores)
3.6. Passagem de parâmetros
3.7. Composição e herança
3.8. Superclasse e subclasse
3.9. Interfaces
3.10. Classes abstratas
3.11. Sobrescrita (Overriding) e sobrecarga (Overloading)
3.12. Polimorfismo (casts e conversão de tipos)
4. Linguagem de Programação Java
4.1. Tipos primitivos de dados
4.2. Operadores
4.3. Estruturas de controle de fluxo e desvio condicional
4.4. Expressões
4.5. Coletor de lixo (Garbage Collection)
4.6. Recursão
4.7. Exceções
4.8. Genéricos
5. Estruturação de sistemas em camadas
5.1. Arquitetura em N-camadas
5.2. Exemplo com arquitetura de 3 camadas (GUI, negócio e dados)
5.3. Introdução ao padrão MVC
6. Coleções
6.1. Arrays / Collections
6.2. Set
6.3. Map
6.4. List
6.5. Enum
7. Interface Gráfica com o usuário (GUI)
7.1. Java Swing / JavaFX
7.2. Componentes gráficos e tratamento de eventos
8. Depuração e documentação de programas
8.1. Depuração modular
8.2. Testes unitários
8.3. Introdução à documentação de requisitos, de classes e de código
9. Projeto de desenvolvimento
9.1. Todos os conceitos abordados na disciplina serão avaliados através da execução prática de
projeto de desenvolvimento, com entregas parciais durante o semestre e definidas em plano de
ensino.
10. Playlist sugerida para estudo.
Bibliografia Básica
editar1. Deitel, Harvey M. et. al. Java como Programar, 8ª. edição. Prentice Hall - Br, 2010.
2. Cornell, Gary; Horstmann, Cay S. Core Java, Volume I - Fundamentos. 8ª Edição. Pearson Education
Br, 2010.
3. Schildt, Herbert. Java - A Referência Completa. Alta Books, Tradução da 8ª edição, 2014.
Bibliografia Complementar
editar4. Schildt, Herbert. Java Para Iniciantes - Crie, Compile e Execute Programas Java Rapidamente, 6ª.
edição. Bookman, 2015.
5. Andrea Stein, Lynn. Interactive Programming in Java. Disponível gratuitamente em:
6. Eckel, Bruce. Thinking in Java. 4ª. edição, 2006. (3ª. edição disponível gratuitamente em
http://www.mindview.net/Books/TIJ/)
7. Sierra, Kathy. Use a Cabeça Java. Alta Books, 2005.
8. Meyer, Bertrand. Object-Oriented Software Construction. Segunda Edição. Prentice Hall, 2000.
(Capítulos 1, 2, 3 e 4).