Linguagem de Programação - (2010.1)

UFPB - Campus IV - Curso de Licenciatura em Ciência da Computação

Carga Horária: 60h

Período: 2010.1

Horário:

Quinta 8h-10h (Laboratório 2)

Sexta 8h-10h (Sala do P2 de Computação)

Horários de Atendimento: Terça 10-12h e Sexta 13-15h (sempre combinar antes com a professora)

Horários dos Monitores:

Leandro:

Terça: 19h às 21h

Terça: 10h-12h

Quarta: 15h-17h

Quinta:8h-10h

Sabrina:

Quarta: 10h-12h

Quarta: 13h-15h

Quinta: 19h às 21h

Sexta: 10h-12h

Para Controle dos Atendimentos de Monitoria, clique aqui.

Grupo de Discussões: https://groups.google.com/a/dce.ufpb.br/group/lp_comp/

Exercícios:

Notas dos Alunos (incluindo roteiros): Clique aqui

Frequência dos Alunos: 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. Testes de unidade

2.8. Visibilidade

Unidade III (20 horas):

2.9. Regras básicas de design

2.10. Composição de objetos

2.11. 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: Duas avaliações escritas principais. Um projeto prático ao fim da disciplina cuja defesa será também avaliada. Exercícios individuais ou em grupo, os quais valerão até 30% da pontuação máxima de cada estágio.

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.

  • ARNOLD & GOSLING : The Java Programming Language. Addison-Wesley, 2000.

  • 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)

Complementar:

  • Material do Professor Jacques Sauvè (UFCG)

  • HORSTMAN, Cay S e CORNELL, Gary. Core Java 2: Volume I – Fundamentos. 7ª Edição. Editora Alta Books, 2005 (5 exemplares)

  • SIERRA, Kathy. Certificação Sun Para Programador Java 6 Guia de Estudo. AltaBooks, 2008.

  • 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/ (1 exemplar)

  • BOOCH, Grady, RUMBAUGH, James, JACOBSON, Ivar. UML - Guia do Usuário. 2.ed. Elsevier, 2006. (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)

05/08/10: Apresentação da disciplina. Introdução à linguagem Java e aos ambientes de desenvolvimento. Primeiro programa em Java. Exercício 1.

06/08/10: Passagem de argumentos para programas (String [] args). Introdução a variáveis e argumentos em Java. Variáveis locais e parâmetros. Criação de métodos.

12/08/10: Exercício sobre criação de um programa principal Java e de métodos auxiliares.

13/08/10: Introdução à leitura de dados pelo teclado usando Scanner e à estrutura de controle de fluxo "for" e exercício sobre média ponderada. Manipulação de arrays. Exercício 2.

17/08/10 (Aula atendimento): (planejamento) Exercícios e breve revisão

19/08: Revisão de tipos Primitivos. O tipo String. Laços com "for", "while" e "do while". break e continue. O "switch" em Java. Exercício 3.

20/08: Operadores, comentários (inclusive Javadoc). Revisão sobre laços (for, while, do while). Manipulação de Strings. Uso da documentação (API) Java. Exercício sobre Uso de arrays. Introdução à orientação a objetos através das classes String e Scanner. Exercício 4. Exercício 5.

26/08: Conversão de tipos (Integer.parseInt(String), etc) e outros métodos da classe String (ex: compareTo, equals, etc). Introdução a Orientação a Objetos.

27/08: Visão geral da linguagem de modelagem UML. Visão geral sobre classes e objetos. Criação de classes com variáveis de instância e métodos. Conceitos de encapsulamento, atributos e métodos de instância. Métodos get e set. Exercício 6 (prática sobre objetos e arrays de objetos).

02/09: Criação de classes (variáveis de instância, estáticas, métodos). Exemplo da Agenda e do SistemaControleAlunos.

03/09: Exercícios sobre criação de classes e objetos e arrays de objetos.

09/09: Relacionamento entre objetos e criação de métodos que manipulam atributos que são coleções de objetos (ainda utilizando arrays).

10/09: Primeira Avaliação

16/09: Paralização

17/09: Paralização

23/09: Paralização

24/09: Paralização

30/09 : Paralização

01/10: Paralização

07/10: Paralização

08/10: Paralização

14/10: Paralização

15/10: Paralização

21/10: Semana de Tecnologia, Ciência Cultura e Arte

22/10: Semana de Tecnologia, Ciência Cultura e Arte

28/10: Revisão geral sobre objetos e arrays de objetos. Construtores de classes.

29/10: Exercício sobre criação de classes (exemplo do Banco)

04/11: Coleções de objetos e introdução a interfaces.

05/11: Exercício sobre coleções e uso de interfaces.

09/11: Reposição do primeiro estágio

11/11: Interfaces e polimorfismo

12/11: Interfaces e polimorfismo e introdução a herança. Miniteste sobre coleções

18/11: Reuso com Herança e classes abstratas.

19/11: Exercícios em sala sobre interfaces, polimorfismo e herança.

25/11: SBIE

26/11: Planejamento: Breve revisão sobre herança e classes abstratas e introdução a exceções.

02/12:

03/12:

09/12:

10/12:

16/12: