Scc-504(mello)

De CoteiaWiki

VEJA no Jupiter-web: [a ementa]

1.o Semestre de 2010

Material disponível [aqui]

Site de submissão de trabalhos

Provas

P1 - 27/04/2010

Para submeter trabalhos:

- cadastre-se no site

- matricule-se na disciplina (vocês terão acesso por meio do link Matrícula)

- submetam o trabalho Zipado pelo link correspondente


Trabalhos

Trabalho 1 - em sala

Trabalho 2 - entregar um arquivo Zipado até 14/03/2010 à meia-noite (SOMENTE via Site de Submissão de Trabalhos)

ATENÇÃO: A correção do trabalho 2 (ex0 no site de submissão) já foi finalizada. Qualquer dúvida, entre em contato com o estagiário PAE.

Alunos Sorteados para apresentação:

  • 5889196 - Alexandre Koji Imai Negrao (ok)
  • 6447138 - André Ogura Dantas (ok)
  • 6516076 - Bruno Teles Lino Begotti (ok)
  • 6792371 - Daniel Luiz de Albuquerque (ok)
  • 6748523 - Daniel Nacata (ok)
  • 5634462 - Debora Midori Kataoka (ok)
  • 6552021 - Eugenia de Jesus Papa (ok)
  • 3335207 - Marcelo Kannami Gimenez (ok)
  • 5889279 - Thales C. Barbosa dos Santos (ok)
  • 6248762 - Thomaz Alberto de Matos Lázaro (NÃO APRESENTOU)

Trabalho 3 - entregar um arquivo Zipado até 04/04/2010 à meia-noite (SOMENTE via Site de Submissão de Trabalhos)

ATENÇÃO: A apresentação do trabalho 3 (ex1 no site de submissão) deve ser feita até o dia 28/05/2010.

Alunos Sorteados para apresentação:

  • 6792284 - Bruno Derisso Salvini (NÃO APRESENTOU)
  • 6792371 - Daniel Luiz de Albuquerque (ok)
  • 5744739 - Eric Fernando Risteri da Silva (ok)
  • 4885930 - Gustavo Moraes da Costa (ok)
  • 6792346 - Jader Bruno Pereira Lima (ok)
  • 4540410 - Lucas Teixeira (ok)
  • 7123917 - Matheus Hemerly Chung Nin (ok)
  • 6876008 - Paula Castro Junqueira Paranaiba (ok)
  • 6511175 - Pedro Ernesto Scotton (NÃO APRESENTOU)
  • 4197025 - Rafael Mira de Oliveira Libardi (ok)

Trabalho 4 - entregar um arquivo Zipado até 09/05/2010 (**DATA FOI ALTERADA**) à meia-noite (SOMENTE via Site de Submissão de Trabalhos)

APRESENTAÇÃO: 10/06/2010 - 16:00 às 19:00 (Local: Sala 6-206 - Biocom)

  • 6552035 - Aline Abreu
  • 6792325 - Allan Chbane Bosso
  • 6909518 - Anita Reane Caron
  • 6516076 - Bruno Teles Lino Begotti
  • 6511182 - Camila Picon
  • 6792371 - Daniel Luiz de Albuquerque
  • 6553547 - Henrique Tadeu de Pina Jayme
  • 6792093 - Luiz Antonio de Menezes Filho
  • 5789308 - Marcio do Amaral Nishiyama
  • 4197025 - Rafael Mira de Oliveira Libardi

Trabalho 5 - entregar um arquivo Zipado até 16/05/2010 à meia-noite (SOMENTE via Site de Submissão de Trabalhos)

APRESENTAÇÃO: 17/06/2010 - 16:00 às 19:00 (Local: Sala 6-206 - Biocom)

  • 6447138 - André Ogura Dantas
  • 6516076 - Bruno Teles Lino Begotti
  • 6792332 - Laís Zagatti Pedro
  • 4540410 - Lucas Teixeira
  • 6792134 - Lucas Vido
  • 6792093 - Luiz Antonio de Menezes Filho
  • 7123917 - Matheus Hemerly Chung Nin
  • 6792270 - Rafael Ribaldo
  • 6783457 - Raimundo de Araujo Pereira Santos
  • 5631581 - Vitor Pucciarelli Antloga

Trabalho 6 (trabalho final) - entregar um arquivo Zipado até 27/06/2010 à meia-noite (SOMENTE via Site de Submissão de Trabalhos) -- descrição do trabalho no site de submissões.

Horário de Atendimento

Rodrigo - sala 3-162 - terças das 16h-19h

Augusto (Estagiário PAE) - sala 6-206 (CISC/Laboratório Biocom)- quintas das 16h-19h


Plano de Aulas

Apresentar ementa

Questões sobre Ponteiros

  • Endereçamento de máquinas de 32 bits
  • Tamanho de um ponteiro
  • Exemplos de ponteiros para cadeias de caracteres, inteiros e chars
  • Casting para ponteiro char* onde foi armazenado um inteiro
    • Observação de binários na memória
    • Incremento/Decremento em ponteiros e no conteúdo desses ponteiros

Onde obter o compilador C++ e Java?

  • Compilador e Máquina Virtual Java
  • GNU C++

Diferenças entre Paradigma Imperativo e Orientado a Objetos

  • Classes são entidades em um sistema
  • Deve-se "pensar" em um sistema em função de suas entidades e não mais em funções de procedimentos
  • Visão inicial sobre classes e objetos (comparação com structs)
  • Conduzir exemplos iniciais de classes em C++ e Java tais como (escolher somente um): Celular, Pessoa, Veículo, Livro, Vector, Stack, Ponto

Conceitos I

  • Discutir sobre entidades no sistema de bibliotecas
  • Implementar algumas entidades: Livro, Revista (incluir sets e gets)
  • Conceito (ainda) sobre armazenar essas entidades em um Vector (malloc e realloc/free)

Conceitos II

  • Discutir sobre grande número de sets em entidades da biblioteca -> chegar em construtores
  • Implementar construtores
  • Discutir sobre destrutores em C++ e Java (ressaltar diferenças)
  • Implementar destrutores em C++ (malloc/free; new/delete)

Conceitos III

  • Modelagem UML do sistema de biblioteca
  • Usar Vector para armazenar Livro na biblioteca (Vector de Livro)
  • Fazer inserir, remover e listar Livro da biblioteca
  • Usar Vector para armazenar Usuários na biblioteca (Vector de Usuários)
  • Vector void * genérico

Resolução

  • Resolver Calculadora em C++ e Java
  • Usar expressões regulares para verificar entrada da biblioteca
  • Rever conceitos

Conceitos IV

  • Encapsulamento e Heranca
  • Quando uma heranca é válida?
  • Experimentos com C++:
  • Acesso via main -- criar uma classe com private e public --> testar a classe usando main
  • Acesso via outra classe -- criar uma segunda classe --> testar essa nova classe que acessa metodos e variaveis da primeira
  • Acesso via classe Filha -- Fazer heranca e testar private e public
  • Acesso via classe Filha -- Fazer heranca e testar protected
  • Detalhes de heranca em C++
  • Experimentos com Java:
  • private, protected e public
  • criar classes para testar acesso private, protected e public
  • Fazer heranca e testar com private, protected e public
  • Resumir conceitos de encapsulamento e relembrar em C++ e Java
  • Resumir conceitos de heranca e quando ela é válida

Conceitos V

  • Template para o Vector
  • Chegar em Herança para Vector / Polimorfismo de herança
  • Autocasting para inserir no vector / Cast manual para converter objetos tirados do Vector

Conceitos VI

  • this e super (super para chamar construtor da superclasse pode ser utilizado somente no construtor da subclasse)
  • métodos e variáveis static
  • herança múltipla

Adicionais I

  • argc e argv / args
  • instanceof e typeid
  • includes circulares

Revisão