Programação Orientada a Objetos
Bacharelado em Ciência da Computação
- Código: 750027
- Horário: Teórica: Quartas 14h ; Prática, duas turmas as quintas: 14h ou 16h.
- Sala: Teórica: MM1 ; Prática: 111
Avisos
- 15/Dez: Notas oficiais finais: Turma M1, Turma M2. Importante: Dúvidas sobre notas e consultar o Exame é possível até quinta-feira (18/Dez), no turno da manhã. Observação: os pontos de testes e trabalhos optativos foram distribuídos entre as avaliações de forma que não ocorressem notas acima de 10.0.
- 7/Dez: Notas após Prova Optativa e Trabalho de Implementação 2
- 2/Dez: Notas após P2
- 27/Nov: Dicas sobre Mandelbrot para T2. Outra dica: o trabalho é realmente simples, pode ser visto como uma matriz de pixels. Esta matriz representa o plano onde esta o fractal a ser construído. A estratégia basica é percorrer cada ponto e aplicar o cálculo para encontrar a cor. Importante 1: a matriz será 100x100, 200x200 ou YYYxYYY (tanto faz o tamanho), mas nestes pontos discretos devem ser mapeados os pontos do plano trabalhado (observe a linha y = (iy * y2)/ ht + y1 e a respectiva para x no programa que tem no link). Importante 2: a paralelização neste trabalho não requer as elaborações descritas no link com dicas, será suficiente dividir o plano em 2, 4, ... tantas threads quanto for o caso.
- 26/Nov: O Exame será dia 10/Dez, a Optativa dia 4/Dez e a entrega do T2 ficou para o dia 3/Dez!
- 22/Out: Cronograma de assuntos alterado.
- 6/Out: Notas até a primeira prova. A entrega das notas e correção da prova será realizada no dia 15/Out.
- 17/Set: Definição do Trabalho de Implementação 1
- 17/Set: Calendário de atividades atualizado.
- 04/Ago: Início do semestre 2008/2
Cronograma 2007/2 (preliminar)
| Data |
Semana |
Assunto |
Material |
| 04/Ago |
1 |
Apresentação. O contexto do paradigma de programação orientada a objetos. Revisão da Programação Imperativa. |
Leitura 1 |
| Lab |
|
Exercício de revisão: Linguagem C em ambiente Unix. |
|
| 11/Ago |
2 |
Introdução ao paradigma de POO. Noções introdutórias. Classe e objeto. |
Leitura 2, Apoio 1 |
| Lab |
|
Java - ambiente básico de programação. |
Apoio 2 |
| 18/Ago |
3 |
Classe e objeto. Encapsulamento. |
|
| Lab |
|
Java - ambiente básico de programação. |
Exercícios Apoio 1 e Apoio 2 (Altenativa: KBItf e indicações em aula |
| 25/Ago |
4 |
Exercícios de fixação |
Apoio 4 Trazer material impresso para correção em aula. |
| Lab |
|
BlueJ |
Leitura 3, Apoio 3 |
| 01/Set |
5 |
Composição/Agregação |
|
| Lab |
|
Exercícios |
|
| 10/Set |
6 |
Teste |
|
| Lab |
|
Exercícios |
|
| 17/Set |
7 |
Herança |
Apoio 5 |
| Lab |
|
Exercícios de fixação |
Apoio 7, UsaLista.java |
| 24/Set |
8 |
Correção de exercícios |
|
| Lab |
|
Exercícios de fixação |
Apoio 7, UsaLista.java |
| 01/Out |
9 |
Avaliação |
Prova 1 |
| Lab |
|
Exercícios |
|
| 08/Out |
10 |
Exceções |
Apoio 8 |
| Lab |
|
Exercícios |
|
| 15/Out |
11 |
Padrões de Projeto |
|
| Lab |
|
Exercícios |
|
| 22/Out |
12 |
Exercícios de algorítmos |
Apoio 6 |
| Lab |
|
Threads |
Apoio 13 |
| 29/Out |
13 |
Streams |
Apoio 10 |
| Lab |
|
Exercícios |
|
| 05/Nov |
14 |
Semana Acadêmica |
- |
| Lab |
|
Semana Acadêmica |
- |
| 12/Nov |
15 |
Frameworks |
Apoio 14, Addendum |
| Lab |
|
Revisão |
Exercícios |
| 19/Nov |
16 |
Revisão para prova |
|
| Lab |
|
Exercícios |
|
| 26/Nov |
17 |
Avaliação |
Prova 2 |
| Lab |
|
Exercícios |
|
| 03/Dez |
18 |
Apresentação do T2 |
|
| Lab |
|
Avaliação |
** Prova Optativa ** |
|
| 10/Dez |
|
Exame |
|
Avaliações
- Freqüência mínima: 75% (27 horas-aula).
- Avaliação do semestre: (P1+T1+P2+T2)/4
- Recuperação: 4/Dez
-A matéria da prova de recuperação (aka optativa) é cumulativa da matéria do semestre e substitui a nota de uma das provas (indicada pelo aluno).
- Outro trabalho opcional: divuldado em sala de aula e em listas de mail.
- Aprovação sem exame: média do semestre igual ou superior à 7,0.
- Aprovação com exame: média do semestre igual ou superior à 5,0.
- Está habilitado a fazer exameo o aluno que tem freqüência mínima de 75% e nota igual ou superior a 3,0 e menor que 7,0.
- A média do exame será calculada com média aritmética simples entre a média obtida no semestre e a nota obtida no exame.
- O exame será realizado ocupando 4 horas/aulas consecutivas (sem intervalos) em data a ser especificada pelo professor no período reservado a efeito no calendário acadêmico da UFPel.
Ementa
Classes e Objetos. Herança. Polimorfismo. Troca de mensagens entre objetos. Estruturas de linguagens de programação orientada a objetos: sintaxe, operadores e estruturas de controle. reuso: biblotecas de classe. Prática de programação.
Objetivos da disciplina
Analisar as características das linguagens orientadas a objetos, identificar as construções tipicamente utilizadas na implementação desta clase de linguagens de programação, compreender as técnicas de análise e programação utilizando o paradigma de orientação a objeto e implementar aplicações utilizando esta técnica.
Conteúdo programático
- O paradigma de orientação a objetos
- Classe e objetos
- Herança e composição
- Polimorfismo
- O ambiente de programação Java
- Sintaxe geral da linguagem Java
- Bibliotecas de classe Java
- Tratamento de exceções
- Threads
- Prática de programação
- Técnicas avançadas
Bibliografia
- H. M. Deitel, P. J. Deitel. Java como Programar. Porto Alegre: Bookman. 2003.
Recursos
Java - JDK 6.0 Update 6
Baixe a versão do Java JDK 6.0 Update 6. Escolha a opção Windows ou Linux, conforme sua necessidade (em J2SE Development Kit 5.0 Update 6). Caso escolha Windows, deve ser baixado um programa de instalação automática. Ha duas opções para este
arquivo, em uma o arquivo possui cerca de 60 MB e necessita que o computador permaneça ligado a Internet para realizar a instalação completa; a
outra opção (240 MB) permite que a instalação seja realizada em uma máquina nao ligada a Internet. Em Linux exite uma versão RPM.
Pacote de entrada e saida (compilado para Java 1.5) e sua documentação. Fontes: Entrada.java, Saida.java.
<< Volta