Todo o material relativo às cadeiras de Programação II e Programação Orientada por Objectos, acessível a partir desta página (inclusivé), não pode ser copiado ou utilizado sem autorização dos autores:

Copyright (C) 1998-1999 Manuel Menezes de Sequeira, Luis Miguel Nunes e Jorge Louçã (ISCTE)


Programação Orientada por Objectos

ETI

Engenharia de Telecomunicações e Informática

Programação II

IGE

Informática e Gestão de Empresas

ISCTE

Ano lectivo de 1998/1999

2º Semestre

Responsável: Eng. Manuel Menezes de Sequeira.


 
 

"The sooner you make your first five thousand
mistakes, the sooner you'll be able to correct them"

[Nicolaides, 1938 in "The natural way to draw"]


Avisos


Sumário


1. Objectivos

No fim do semestre o aluno deverá:

2. Programa

  1. Modularização.
  2. Memória dinâmica e ponteiros.
  3. Herança e polimorfismo.
  4. Programação genérica (modelos ou templates).
  5. Estruturas de dados: listas, pilhas e filas.
  6. Algoritmos de básicos de procura e ordenação e a sua eficiência
  7. Árvores

3. Metodologia

Aulas teóricas (13 x 1:30h) onde são ministrados os conceitos teóricos básicos do programa. Aulas teórico-práticas (13 x 2 x 1:30h) com curtas revisões da matéria necessária para a aula, resolução de problemas e esclarecimento de dúvidas (o ambiente de desenvolvimento usado é o Visual C++ 5.0, veja a lista de bugs conhecidos).

O esclarecimento de dúvidas pode (e deve) também ser feito nos horários de dúvidas da cadeira ou por correio electrónico. As sessões de dúvidas realizam-se nos gabinetes dos docentes (sala 0E4, gabinetes 9, 11 e 8), ou numa sala de computadores disponível, caso as matérias e/ou número de alunos o justifiquem.

Os sumários das aulas teóricas e práticas estão disponíveis em versão electrónica.

O livro de referência da cadeira:

Michael Main e Walter Savitch, "Data Structures and Other Objects Using C++", Addison-Wesley, 1997,

é imprescindível no desenrolar deste curso.


4. Avaliação

4.1 Avaliação periódica

A avaliação periódica consiste em dois momentos de avaliação. No primeiro momento são avaliados os problemas práticos (grupo). No segundo momento realiza-se outra frequência (individual), e discute-se o trabalho prático da cadeira (trabalho de grupo, discussão individual).
Grupos:
  1. São idênticos para os problemas e para o trabalho. Uma vez constituídos não podem ser alterados, salvo motivo de força maior (qualquer alteração na constituição dos grupos de trabalho deve ser comunicada aos docentes da cadeira).
  2. De dois ou três alunos. Não se aceitam inscrições de grupos com qualquer outro número de elementos excepto em circunstâncias extraordinárias.
Problemas:
  1. Realizados em grupo.
  2. Em número de quatro.
  3. As datas de entrega dos problemas pelos alunos serão indicadas em cada enunciado (nunca antes de duas semanas após a disponibilização do enunciado). As datas previstas para diponibilização dos enunciados e entregas dos problemas são as seguintes:
    1. Problema 1 : enunciado: 5/3 entrega: 19/3
    2. Problema 2 : enunciado: 19/3 entrega: 16/4
    3. Problema 3 : enunciado: 16/4 entrega: 30/4
    4. Problema 4 : enunciado: 30/4 entrega: 14/5
  4. O conjunto dos problemas entregues serão avaliados no primeiro momento de avaliação.
  5. A nota do conjunto dos problemas (NP) contribui com 20% para a nota final.
  6. A entrega fora do prazo acarreta a penalização de 1 valor por cada dia útil de atraso.
Trabalho prático:
  1. As datas previstas para a disponibilização do enunciado e entrega do trabalho final, são, respectivamente: 26/3 e 4/6
  2. Após a entrega do trabalho pelos alunos será feita uma discussão individual com cada um dos membros do grupo em que serão avaliados a participação do aluno no trabalho e os seus conhecimentos acerca da matéria dada.
  3. A nota do trabalho é individual e depende, não só da qualidade do trabalho de grupo, mas também da avaliação (individual) feita na discussão do trabalho.
  4. A nota do trabalho (NT) contribui com 50% para a nota final.
  5. A entrega fora do prazo acarreta a penalização de 1 valor por cada dia útil de atraso.
Frequência:
  1. Consiste numa prova escrita individual, sem recurso a consulta.
  2. A frequência terá lugar no período de frequências no final do primeiro semestre.
  3. A nota final da frequência (NF) contribui com 30% para a nota final.
  4. A data da frequência será decidida nas reuniões de coordenação, publicada com a devida antecedência nesta página e anunciada publicamente nas aulas e nos locais oficiais.
  5. A nota mínima exigida na frequência para obter aprovação à cadeira é 7.

A nota final é calculada do seguinte modo:

NF = 20% NP + 30% NF + 50%NT

arredondada para o inteiro mais próximo (0,5 arredonda para cima).

4.2 Exame final

Épocas:
  1. A primeira época destina-se aos alunos que não tenham obtido aprovação na avaliação contínua ou que, tendo sido aprovados, pretendam melhorar a nota, e aos alunos inscritos para melhoria da nota obtida no ano lectivo anterior.
  2. A segunda época destina-se aos alunos que não tenham obtido aprovação (quer na avaliação contínua quer na primeira época) e a alunos inscritos para melhoria de nota.
  3. Cada época consiste num exame escrito individual sem recurso a consulta, e uma prova oral, caso seja necessária.
  4. As notas obtidas em avaliação periódica não têm qualquer relevância para a nota dos exames.
Prova oral:
  1. Serão admitidos a prova oral os alunos com classificação igual ou superior a oito (8) valores na prova escrita correspondente.
  2. Caso se realize prova oral, a nota final é a sua média com a prova escrita correspondente.
  3. As provas orais relativas a cada exame final realizar-se-ão na data, hora e local indicados no momento da publicação das notas da respectiva prova escrita (nunca antes de 48h depois da publicação das notas), ou em data acordada entre o aluno e os docentes da cadeira.

4.3 Observações

  1. As revisões de provas serão indicadas nos enunciados das provas escritas ou, alternativamente, no momento da publicação das respectivas classificações.
  2. Em todos os pontos omissos a realização de provas rege-se pelo Regulamento Geral de Avaliação de Conhecimentos do ISCTE em vigor.

5. Docentes


6. Horários

IGE

 
 
 
Segunda
Terça
Quarta
Quinta
Sexta
Manhã Dúvidas 
Eng. Manuel Sequeira
(gab. 9) 
9:00-13:00h
IA2 teórica (sala 226)
Eng. Manuel Sequeira
8-9:20h

IA2-A prática (sala 0S8)
Dr. Luis Nunes
9:40h-12:30h

IA2-B prática (sala 0S5)
Dr. Jorge Louçã
9:40h-12:30h

  IA1 teórica (sala 223)
Eng. Manuel Sequeira
8-9:20h

IA1-A prática (sala 0S8)
Dr. Luis Nunes
9:40h-12:30h

IA1-B prática (sala 0S5)
Dr. Jorge Louçã 
9:40h-12:30h

 
Tarde   Dúvidas 
Dr. Jorge Louçã
(gab. 8) 
14:30-17:30h
    Dúvidas 
Dr. Luis Nunes
(gab. 11) 
14:00-18:30h

ETI


 
 
 
Segunda
Terça
Quarta
Quinta
Sexta
Manhã Dúvidas 
Eng. Manuel Sequeira
(gab. 9) 
9:00-13:00h
       
Tarde   Dúvidas 
Dr. Jorge Louçã
(gab. 8) 
14:30-17:30h
  ETIA1 teórica (sala 226)
Eng. Manuel Sequeira
13:00h-14:20h

ETIA1-B prática (sala 0S6)
Eng. Manuel Sequeira 
14:30h-17:30h

ETIA1-A prática (sala 0S8)
Dr. Luis Nunes
14:30h-17:30h

 

Dúvidas 
Dr. Luis Nunes
(gab. 11) 
14:00-18:30h

 


7. Aulas, enunciados e resoluções e sumários

7.1 Exercícios das aulas práticas

7.2 Aulas teóricas

7.3 Enunciados de problemas

7.4 Enunciados de frequências e exames

 

 


8.Bibliografia

8.1 Bibliografia obrigatória

Este é o livro de texto da cadeira:

Michael Main e Walter Savitch, "Data Structures and Other Objects Using C++", Addison-Wesley, 1997. (encomendados 10 exemplares pela biblioteca do ISCTE, à venda nas boas livrarias técnicas)

Recomenda-se fortemente a sua aquisição.

No endereço http://www.cs.colorado.edu/~main/dsoc.sup.html pode encontrar mais informação sobre este titulo (incluindo errata e exemplos)

8.2 Bibliografia aconselhada

Jo Ellen Perry, Harald D. Levin, An Introduction to Object-Oriented Design in C++, Addison-Wesley, 1996. (disponíveis 10 exemplares na biblioteca do ISCTE).

Stanley B. Lippman, Josée Lajoie, C++ Primer, Third Edition, Addison-Wesley, 1998. (disponível um exemplar na biblioteca do ISCTE).

8.3 Bibliografia auxiliar

Bjarne Stroustrup, C++ Programming Language, Third Edition, Addison-Wesley, 1997. (encomendado um exemplar à biblioteca do ISCTE).

Thomas H. Cormen, Charles E. Leiserson, Ronald Rivest, Introduction to Algorithms, MIT Press, 1990. (disponível um exemplar na biblioteca do ISCTE).


9. Outras informações

Informação actualizada sobre a cadeira pode ser encontrada na Rede (http://www.iscte.pt/programacao/p2).

As páginas de anos anteriores podem ser consultadas em: http://torga.iscte.pt/~mms/programacao-2/index.html

Última actualização: 1999/3/1.