Linguagem de Programação - LCC (2013.2)
UFPB - Campus IV - Curso de Lic. em Ciência da Computação
Carga Horária: 60h
Período: 2013.2
Horário:
Quarta 8h-10h (Sala do P2 de LCC)
Sexta 8h-10h (Laboratório 2 ou Sala do P2 de LCC)
Horários de Atendimento: Quarta 13-15h e Sexta 13-15h (sempre combinar antes com a professora)
Horários dos Monitores: clique aqui
Grupo de Discussões (facebook): https://www.facebook.com/groups/455059117973048/
Exercícios de Classe:
Exercício 11 (início projeto)
Exercício 12 (continuação projeto)
Exercício 13 (continuação projeto)
Exercício 14 (continuação projeto)
Exercício 15 (finalização projeto)
Exercícios de Casa:
Notas dos Alunos (incluindo roteiros): Clique AQUI
Ementa: Orientação a Objetos. Conceitos da Orientação: classes e objetos, abstração, encapsulamento, herança e composição, interfaces e polimorfismo. Introdução a uma linguagem de programação orientada a objetos. Tratamento de Exceções. Arquivos.
Objetivo Geral:
Introduzir aos alunos o paradigma da Programação Orientada a Objetos e uma linguagem que segue esse paradigma (Java). Ao final do curso caberá ao aluno:
Reconhecer o que caracteriza uma linguagem orientada a objetos;
Implementar sistemas simples utilizando o paradigma da programação orientada a objetos.
Conteúdo Programático:
Unidade I (20 horas):
1. Introdução à linguagem Java e suas IDEs
1.1 Declaração de variáveis e dos seus tipos
1.2 Comandos condicionais em Java (if-then-else e switch)
1.3 Declaração de métodos estáticos em Java.
1.4 Operadores, Laços de Repetição e arrays em Java.
1.5 Manipulação de Strings em Java.
Unidade II (20 horas):
2. Orientação a objetos
2.1. Criação de classes (construtores, métodos, atributos, visibilidade)
2.2. Coleções (Ex: ArrayList e LinkedList)
2.3. Interfaces e polimorfismo
2.4. Reuso com herança
2.5. Classes abstratas
2.6. Tratamento de erros usando exceções
Unidade III (20 horas):
2.7. Regras básicas de design (Encapsulamento, herança, composição)
2.8. Persistência de objetos com arquivos
Metodologia: Aulas expositivas utilizando recursos didáticos. Aulas práticas ou de exercícios envolvendo a turma. Acompanhamento de projeto prático com os alunos.
Recursos Didáticos: Quadro e pincel atômico, datashow. Livros e artigos. Trabalhos práticos realizados com os alunos.
Modos e Meio de Avaliação: A avaliação consistirá de três notas obtidas através de 3 provas (uma para cada unidade) mais a nota obtida por meio de exercícios e de um projeto prático. Os alunos que faltarem a uma das provas poderão realizar uma reposição e, caso não atinjam a média necessária, poderão realizar uma prova final de acordo com as normas da universidade.
Bibliografia recomendada e referências:
Básica:
ZAKHOUR et al. The Java Tutorial: A Short Course on the Basics. 4th Edition (Java Series). Prentice Hall, 2006.
Versão online: http://docs.oracle.com/javase/tutorial/
SANTOS, R. Introdução à Programação Orientada a Objetos Usando Java. Campus, 2003. (9 exemplares)
FURGERI, Sérgio. Java 6: Ensino Didático: Desenvolvendo e Implementando Aplicações. São Paulo: Érica: 2008. (5 exemplares)
SIERRA, Kathy e BATES, Bert. Java – Use a Cabeça. 2a Ed. Editora Alta Books, 2007. (8 exemplares)
DEITEL. Java: Como Programar. 6ª Edição. Editora Prentice Hall, 2005. (5 exemplares)
HORSTMAN, Cay S e CORNELL, Gary. Core Java 2: Volume I – Fundamentos. 7ª Edição. Editora Alta Books, 2005 (5 exemplares)
SCHILDT, Herbert. Java: A Beginner's Guide. 6a. ed., McGraw-Hill Osborne Media, 2014.
Complementar:
SIERRA, Kathy. Certificação Sun Para Programador Java 6 Guia de Estudo. AltaBooks, 2008. (8 exemplares)
GOODRICH, Michael T., TAMASSIA, Roberto. Estruturas de dados e algoritmos em Java. 2.ed Bookman, 2006. (4 exemplares)
BARNES, David J. e KÖlling, Michael. Programação orientada a objetos com Java. Pearson Prentice Hall, 2004. (9 exemplares)
ECKEL, Bruce.: Thinking in Java, Prentice Hall, 4a Edição, 2008. Disponível online: www.mindview.net/Books/TIJ/ (3 exemplares)
BOOCH, Grady, RUMBAUGH, James, JACOBSON, Ivar. UML - Guia do Usuário. 2.ed. Elsevier, 2006. (5 exemplares)
BLOCH, J. Java Efetivo. 2.ed. Alta Books, 2010. (5 exemplares)
Links Importantes
Baixe o JDK aqui
Acesse a API de java a partir daqui
Baixe o Eclipse aqui
Dúvidas comuns dos alunos em Java
Fontes para Estudar por assunto:
Aulas (para ver mais informações, acesse as discussões do grupo da disciplina)
14/05: Apresentação do plano de curso da disciplina
16/05: Construindo um primeiro programa em Java.
21/05: Não tivemos aula.
23/05: Introdução à linguagem Java. Declaração de variáveis e dos seus tipos. Comando condicional "if".
28/05: Exercício 2. Criação de métodos. Comandos condicionais "if" e "switch" e estruturas de controle de fluxo "while" e "for". Uso do JOptionPane e de passagem de argumentos para o programa (args).
30/05: Exercício 3 e Dúvidas do Exercício 2. Uso do Scanner para leitura de dados.
04/06: Introdução à Orientação a Objetos.
06/06: Exercício sobre criação de classes e uso de objetos. Roteiro 4.
11/06: Manipulação de Strings. Exercício 5.
13/06: Exercício sobre criação de classes e manipulação de Strings.
18/06: Primeiro Estágio.
20/06: Não teremos aula. Exercício 6 pra casa.
25/06: Resolução do exercício 6 em sala. Criação de laços com do-while e for-each. Modificadores de acesso em Java.
27/06: Usando coleções de Java (ArrayList). Exercício sobre modificadores de acesso e construtores em Java. Roteiro 7.
02/07: Mais sobre coleções em Java. Implementação do exemplo da Agenda com arrays e ArrayList.
04/07: Não tivemos aula. Jogo do Brasil.
09/07: Conceitos de orientação a Objetos (construtores, sobrecarga, encapsulamento, declaração de variáveis e métodos, etc). Revisão de coleções em Java. Introdução a Interfaces.
11/07: Exercício sobre implementação de interfaces. Roteiro 8.
16/07: Criação e uso de interfaces. Polimorfismo. Exercício para casa: Roteiro 9.
18/07: Resolução do Roteiro 9 em sala. Introdução ao tema herança e classes abstratas. Exercício para casa: Roteiro 10.
23/07: Exceções.
25/07: Tratamento de erros usando exceções. Exercício sobre classes abstratas e exceções.
30/07: Aula em laboratório para exercício de revisão.
01/08: Resolução em sala do exercício de revisão.
06/08: Segundo Estágio.
08/08: Introdução à análise e design de software OO. Introdução ao projeto (Roteiro 11)
13/08: Roteiro 11 (Praticando encapsulamento, herança e composição)
15/08: Roteiro 12 (Praticando encapsulamento, herança e composição)
20/08: Persistência de dados usando arquivos.
22/08: Roteiro 13 (Exercício sobre persistência de dados)
27/08:Roteiro 14 (Exercício sobre persistência de dados)
29/08: Roteiro 15. Apresentação dos projetos.
03/09: Apresentação projetos
05/09: 3o. Estágio.
10/09:Reposição
17/09: Prova Final