Mudanças entre as edições de "SCC-204(Moacir)"
De CoteiaWiki
(→Descrição e informações) |
(→Trabalhos Práticos) |
||
Linha 15: | Linha 15: | ||
* [[Media:poo_ListaExercicios_01.pdf|Exercício 1 (pdf)]] - livros e capítulos de livros | * [[Media:poo_ListaExercicios_01.pdf|Exercício 1 (pdf)]] - livros e capítulos de livros | ||
− | == | + | == Trabalho Prático == |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Tema: '''Simulador de campeonato de futsal''' | Tema: '''Simulador de campeonato de futsal''' | ||
- '''Em duplas''' (a dupla deverá permanecer a mesma em cada trabalho) | - '''Em duplas''' (a dupla deverá permanecer a mesma em cada trabalho) | ||
- Incremental (um trabalho é a continuação do anterior) | - Incremental (um trabalho é a continuação do anterior) | ||
− | * | + | === Parte 1 === |
+ | |||
+ | * [[Media:poo_Trabalho1.pdf|Trabalho 1 (clique para ver a descrição)]]: modelagem e implementação orientada a objetos | ||
** Implementação em '''Java''' e '''C++''' | ** Implementação em '''Java''' e '''C++''' | ||
** Entrega até '''08/04''' | ** Entrega até '''08/04''' | ||
Linha 37: | Linha 32: | ||
:: 3) Clareza, endentação e comentários úteis no código: total ''15%'' | :: 3) Clareza, endentação e comentários úteis no código: total ''15%'' | ||
− | * | + | === Parte 2 === |
+ | |||
+ | * [[Media:poo_Trabalho2.pdf|Trabalho 2 (clique para ver a descrição)]]: interface, arquivos e threads | ||
** É uma continuação do Trabalho 1 | ** É uma continuação do Trabalho 1 | ||
** Implementação em '''Java''' | ** Implementação em '''Java''' | ||
Linha 47: | Linha 44: | ||
:: 4) Uso de threads: ''20%'' | :: 4) Uso de threads: ''20%'' | ||
− | * | + | === Parte 3 === |
+ | |||
+ | * [[Media:poo_Trabalho3.pdf|Trabalho 3 (clique para ver a descrição)]]: rede e outros | ||
** É uma continuação dos Trabalhos 1 e 2 | ** É uma continuação dos Trabalhos 1 e 2 | ||
** Implementação em '''Java''' | ** Implementação em '''Java''' |
Edição das 20h40min de 22 de março de 2011
SCC-0204 Programaçao Orientada a Objetos
Terça as 14h20 e Sexta as 10h10 - Sala 5-003
- Professor: Moacir Ponti Jr (moacir at icmc usp br), Sala 4-117
- Horário de atendimento: Quintas das 16h às 19h
- Aluno PAE: Ricardo Ramos (ricardoramos [arroba] icmc usp br)
- Atendimento por demanda - procurá-lo ou enviar email para marcar
- Monitor especial: Eduardo Henrique dos Santos (eduhsbc [arroba] grad icmc usp br)
- Aulas de laboratório com exercícios: Quartas das 13h as 14h, sala 6-305 (bloco 6) (nova informação)
Índice
Exercícios
- Exercício 1 (pdf) - livros e capítulos de livros
Trabalho Prático
Tema: Simulador de campeonato de futsal - Em duplas (a dupla deverá permanecer a mesma em cada trabalho) - Incremental (um trabalho é a continuação do anterior)
Parte 1
- Trabalho 1 (clique para ver a descrição): modelagem e implementação orientada a objetos
- Implementação em Java e C++
- Entrega até 08/04
- Critérios (75+15+15%):
- 1) Estruturação das classes, e conceitos de orientação a objetos com cumprimento dos objetivos do trabalho: total 70%
- - será principalmente observada a modelagem das entidades (classes) que formam a solução para o problema (30%), o uso da coleção de objetos e iteradores (15%) , uso correto de herança e encapsulamento (25%).
- 2) Separação da interface e implementação (uso de cabeçalho/fonte em C++) (7,5%) e documentação das classes e métodos (7,5%): total 15%
- 3) Clareza, endentação e comentários úteis no código: total 15%
- 1) Estruturação das classes, e conceitos de orientação a objetos com cumprimento dos objetivos do trabalho: total 70%
Parte 2
- Trabalho 2 (clique para ver a descrição): interface, arquivos e threads
- É uma continuação do Trabalho 1
- Implementação em Java
- Entrega até 27/05
- Critérios:
- 1) Orientação a objetos, código e documentação: 40%
- 2) Interface: 20%
- 3) Uso de arquivos: 20%
- 4) Uso de threads: 20%
Parte 3
- Trabalho 3 (clique para ver a descrição): rede e outros
- É uma continuação dos Trabalhos 1 e 2
- Implementação em Java
- Entrega até 29/06
- Critérios:
- 1) Orientação a objetos, código e documentação: 40%
- 2) Implementacao de rede: 30%
- 3) Outros: total 30%
Provas
Datas: 03/05 (P1), 28/06 (P2)
Notas
Conteúdo e Material Didático
- 1. Apresentação da Disciplina: objetivos, programa, materiais, avaliação e bibliografia.
- Introdução à Programação Orientada a Objetos
- - Classe e objeto, implementações em C++ e Java
- - Comparação com paradigma imperativo
- - Compilação e execução em C++ e Java
- Bibliografia sugerida: Deitel, seções 3.1 a 3.5, Slides Prof. Fernando Paulovich: [1]
- 2. Detalhes de Implementação: C++ e Java
- - Ponteiros e endereçamento
- - Alocação dinâmica e estática de objetos em C++
- - Projeto e diagramas de classe e objeto: estado/comportamento
- - Alocação de objetos em Java e referência nula
- - Passagem de parâmetros para métodos em Java
- - BlueJ e Máquina virtual Java (JVM)
- Bibliografia sugerida: Deitel, seções 3.6 a 3.8, Slides Prof. Fernando Paulovich: [2]
- Figuras JVM: [3] e [4]
- Exemplos das aulas 1 e 2: aula02.tar.gz
- 3. Main, Construtores, Destrutores e Interação entre Objetos
- - função principal (main) em Java e C++
- - múltiplos setters -> construtores
- - objeto: declaração, instanciação e inicialização
- - implementar construtores em C++
- - destrutores em C++
- - uso de new/delete
- - implementar construtores em Java
- Exemplos da aula 3: aula03.tar.gz
- 4. Introdução ao Projeto Orientado a Objetos
- - interação entre objetos -> exemplos em Java e C++
- - diagramas de classe e objeto
- - exercício
- - exemplo de projeto de duas classes com implementação: C++ e Java
- Exemplos da aula 4: aula04.tar.gz
- 5. Detalhes de implementação: constantes, estáticos e tipos: parte1
- - constantes
- - tipos primitivos e classes Wrapper em Java [5]
- - atributos e métodos static em Java
- Exemplos da aula 5: aula05.tar.gz
- 6 Detalhes de implementação: constantes, estáticos: parte 2 e Coleções de Objetos
- - constantes e static em C++
- - pacotes Java
- - coleção de objetos
- - exemplo usando os conceitos vistos ate agora
- Exemplos da aula 6: aula06.tar.gz
- 7, 8 e 9. Conceitos de Orientação a Objetos - Herança: parte 1
- - encapsulamento, super e subclasse, herança
- - criação de novos atributos e métodos (subclasse mais específica)
- - em Java, exemplo da aula 7, desenvolvida no BlueJ: aula07.tar.gz
- - construtores e herança
- - vários níveis de herança (atributos e métodos protegidos, chamada a construtores e final)
- - sobrescrita de métodos, e sobrecarga de métodos e construtores
- - polimorfismo em C++ e Java
- Exemplos da aula 8: aula08.tar.gz
- - encapsulamento, super e subclasse, herança
- 10 e 11. Conceitos de Orientação a Objetos - Herança: parte 2
- - herança múltipla em C++
- - exemplos e exercícios
- 12 e 13. Classes abstratas, interaces e programação genérica
- 14 e 15. Herança e abstração: exercícios e exemplos
Leituras e materiais complementares
Links e recursos externos
- Documentação Java da SUN/ORACLE [6]
- -> acesse [7] vá em "Additional resources" para baixar a documentação (Java SE 6 Documentation) e o código fonte das classes (Java JDK source code)