Linguagem de Programação - LCC (2012.2)
UFPB - Campus IV - Curso de Sistemas de Informação
Carga Horária: 60h
Período: 2012.2
Horário:
Terça 8h-10h (Sala do P2 de SI)
Quinta 10h-12h (Laboratório 2)
Horários de Atendimento: Terça 10-12h e Quinta 8-10h (sempre combinar antes com a professora)
Horários dos Monitores: (sempre tentar combinar antes com os monitores)
Horários dos Monitores: (sempre tentar combinar antes com os monitores)
- Franco Neto (franco.neto@dce.ufpb.br):
Segunda - 08:00 às 10:00 (laboratório)
Terça - 08:00 às 10:00 (laboratório)
Quinta - 08:00 ás 10:00 e 15:00 às 17:00 (laboratório)
Sexta - 10:00 ás 12:00 (laboratório)
- Gilson (gilson.costa@dce.ufpb.br)
Segunda: 19-21 (biblioteca)
Terça 13-17 (laboratório)
Quarta: 15-17 (laboratório)
Quinta: 10-12 (laboratório)
- Marcelo (marcelo.fernandes@dce.ufpb.br)
Terça: 08-10 e 13-16
Quarta: 15-16
Quinta: 10-12
Sexta: 10-12
Grupo de Discussões (e-mail): https://groups.google.com/a/dce.ufpb.br/forum/?hl=pt-BR&fromgroups#!forum/lp-lcc
Grupo de Discussões (facebook): http://www.facebook.com/groups/536906756331748/
Exercícios de Classe:
Exercício 1: http://goo.gl/zF2MU
Exercício 2: goo.gl/KnVcP
Exercício 3: goo.gl/CUooo
Exercício 4: http://goo.gl/lJHRV
Exercício 9 - Data limite de entrega: 12/09
Exercício 10 - Data limite de entrega: 17/09
Exercício 11 - Data limite de entrega: 19/09
Exercício 12 - Data limite de entrega: 24/09
Exercício 13 - Data limite de entrega: 26/09
Exercícios de Casa:
Exercício Arrays
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
2. Orientação a objetos
2.1. Usando objetos
2.2. Coleções
2.3. Criação de classes
Unidade II (20 horas):
2.4. Interfaces e polimorfismo
2.5. Reuso com herança
2.6. Tratamento de erros usando exceções
2.7. Visibilidade
Unidade III (20 horas):
2.8. Regras básicas de design
2.9. Composição de objetos
2.10. 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://java.sun.com/docs/books/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)
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 Windows Linux(32bits) Linux (64 bits)
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)
16/04: Apresentação geral da disciplina e introdução à linguagem Java.
18/04: Exercício sobre compilação e execução de um primeiro programa e Java (Roteiro 1).
23/04: Declaração de variáveis e dos seus tipos, conversão de Strings para outros tipos, comandos condicionais em Java (if-then-else e switch)
25/04: Declaração de métodos em Java. Exercício sobre variáveis, comandos condicionais e criação de métodos (Roteiro 2).
30/04: Operadores, Laços de Repetição e arrays em Java.
02/05: Exercício sobre criação de métodos, uso de laços de repetição e arrays em Java (Roteiro 3).
07/05: Manipulação de Strings em Java.
09/05: Exercício sobre manipulação de Strings em Java (Roteiro 4).
14/05: Primeira Avaliação
16/05: Aula de revisão sobre a unidade 1.
21/05: Não houve aula - SBSI
23/05: Não houve aula - SBSI
28/05: Introdução à Orientação a Objetos e à criação de classes.
30/05: Exercício sobre criação de classes (Roteiro 5).
04/06: Mais sobre a criação de classes (construtores, métodos, atributos).
06/06: Exercício sobre criação de classes e introdução a Coleções (Roteiro 6).
11/06: Coleções em Java, com foco especial em ArrayList. Introdução ao tópico Interfaces.
13/06 : Mais sobre interfaces em Java e coleções.
13/05 (Aula Extra): Exercício sobre coleções em Java, criação de constantes e variáveis de classe (Roteiro 7)
18/06: Revisão do conteúdo visto. Tipos e sub-tipos em Java (Herança e uso de interfaces)
20/06: Exercício sobre interfaces e herança e introdução a exceções (Roteiro 8).
25/06: Classes abstratas. Mais sobre herança e exceções.
27/06: Exercícios sobre OO.
02/07: Revisão sobre classes abstratas, herança e exceções.
04/07: Segundo Estágio
09/07: Explicação sobre o projeto.
10/09: Revisão do conteúdo visto.
12/09: Roteiro 9.
17/09: Persistência de dados com arquivo. Roteiro 10.
19/09: Roteiro 11.
24/09: Roteiro 12.
26/09: Roteiro 13.
01/10: Apresentação dos projetos (para quem não tiver apresentado ainda).
03/10: Terceiro Estágio.
08/10: Reposições.
10/10: Aula sobre JUnit.
17/10: Prova Final