|
|
(97 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) |
Linha 1: |
Linha 1: |
| ''' SCC-0204 Programaçao Orientada a Objetos ''' | | ''' SCC-0204 Programaçao Orientada a Objetos ''' |
| | | |
− | Terça as 14h20 e Sexta as 10h10 - Sala 5-003
| + | Terças as 16h20 (sala 4-003) |
| | | |
− | :'''Professor''': Moacir Ponti Jr (moacir ''at'' icmc usp br), Sala 4-117
| + | Sextas as 08h10 (sala 5-004) |
− | : ''Horário de atendimento'': Quintas das 16h às 19h
| |
| | | |
− | :'''Aluno PAE''': Ricardo Ramos (ricardoramos ''[arroba]'' icmc usp br) | + | :'''Professor''': Moacir Ponti Jr (moacir ''at'' icmc usp br), Sala 3-245 |
− | : Atendimento por demanda - procurá-lo ou enviar email para marcar | + | : ''Horário de atendimento'': Quartas das 17h às 18h - Quintas das 16h as 18h |
| | | |
− | :'''Monitor especial''': Eduardo Henrique dos Santos (eduhsbc ''[arroba]'' grad icmc usp br) | + | :'''Monitor''': Samuel G. Fadel ( fadel ''[arroba]'' grad icmc usp br) |
− | : Aulas de laboratório com exercícios: Quartas das 13h as 14h, sala 6-305 (bloco 6) | + | : ''Horário de monitoria'': Quintas das 18h às 19h (Lab 7 bloco 6) |
| + | |
| + | '''Material, gerencimento da disciplina no TIDIA-AE''' [http://agora.tidia-ae.usp.br/portal] |
| | | |
| == Exercícios == | | == Exercícios == |
− | * [[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: coleções de objetos |
− | | + | * [[Media:poo_ListaExercicios_02.pdf|Exercício 2 (pdf)]] - produtos: polimorfismo |
− | == Trabalho Prático ==
| + | * [[Media:poo_ListaExercicios_04.pdf|Exercício 4 (pdf)]] - pegadas de carbono: interfaces e classes abstratas |
− | | + | * [[Media:poo_ListaExercicios_05.pdf|Exercício 5 (pdf)]] - instanciando objetos via interface gráfica |
− | Tema: '''Simulador de campeonato de futebol'''
| + | * [[Media:poo_ListaExercicios_06.pdf|Exercício 6 (pdf)]] - tratamento de exceção |
− | | + | * [[Media:poo_ListaExercicios_07.pdf|Exercício 7 (pdf)]] - threads |
− | - '''Em duplas''' (a dupla deverá permanecer a mesma em cada trabalho).
| + | * [[Media:poo_ListaExercicios_08.pdf|Exercício 8 (pdf)]] - projeto orientado a objetos |
− | | + | * [[Media:poo_ListaExercicios_09.pdf|Exercício 9 (pdf)]] - redes |
− | - 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++'''
| |
− | ** 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%''
| |
− | | |
− | === Parte 2 ===
| |
− | | |
− | * [[Media:poo_Trabalho2.pdf|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 ===
| |
− | | |
− | * [[Media:poo_Trabalho3.pdf|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. [[Media:poo_00.Apresentacao.pdf|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: [http://www.lcad.icmc.usp.br/~paulovic/aulas/POO/SCC0604-aula-01-Introducao_OO.pdf]
| |
− | :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: [http://www.lcad.icmc.usp.br/~paulovic/aulas/POO/SCC0604-aula-02-Classes_Objetos.pdf]
| |
− | :: ''Figuras JVM:'' [http://www.codeproject.com/KB/java/How_JVM_Works/JVM2.png] e [http://img.viralpatel.net/2008/12/java-program-execution.png]
| |
− | :: ''Exemplos das aulas 1 e 2'': [[Media:aula02.tar.gz|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'': [[Media:aula03.tar.gz|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'': [[Media:aula04.tar.gz|aula04.tar.gz]]
| |
− | :5. '''Detalhes de implementação: constantes, estáticos e tipos''': parte1
| |
− | :: - constantes
| |
− | :: - tipos primitivos e classes Wrapper em Java [http://www.certpal.com/blogs/2011/02/java-immutable/]
| |
− | :: - atributos e métodos ''static'' em Java
| |
− | :: ''Exemplos da aula 5'': [[Media:aula05.tar.gz|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'': [[Media:aula06.tar.gz|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: [[Media:aula07.tar.gz|aula07.tar.gz]]
| |
− | :: - construtores e herança
| |
− | :: - vários níveis de herança (atributos e métodos protegidos, chamada a construtores)
| |
− | :: - sobrescrita de métodos, e sobrecarga de métodos e construtores
| |
− | :: ''Bibliografia sugerida:'' Deitel C++ capítulo 13. Deitel Java capítulo 9.
| |
− | :: ''Exemplos da aula 8: [[Media:aula08.tar.gz|aula08.tar.gz]]
| |
− | :: - construtor de cópia em C++
| |
− | :: - polimorfismo
| |
− | :: - herança de Object, impedir herança, sobrecarga e sobrescrita em Java (final)
| |
− | :: ''Exemplos da aula 9: [[Media:aula08.tar.gz|aula09.tar.gz]]
| |
− | :10 e 11. '''Conceitos de Orientação a Objetos - Herança''': parte 2
| |
− | :: - herança múltipla em C++ (uso de virtual)
| |
− | :: - 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 ===
| + | == Links e recursos externos == |
| | | |
| * Documentação Java da SUN/ORACLE [http://java.sun.com/javase/6/docs/api] | | * Documentação Java da SUN/ORACLE [http://java.sun.com/javase/6/docs/api] |