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á:
-
Conhecer as abordagens típicas de resolução de problemas,
nomeadamente através do desenvolvimento de estruturas de dados e
respectivos algoritmos e sua tradução numa linguagem de programação.
-
Ser capaz de planear a resolução dos problemas, desenhando
e estruturando correctamente os correspondentes programas.
-
Dominar eficientemente um ambiente de desenvolvimento e respectivas ferramentas.
-
Ter conhecimentos sólidos da linguagem C++ e do paradigma de programação
orientada por objectos.
2. Programa
-
Modularização.
-
Memória dinâmica e ponteiros.
-
Herança e polimorfismo.
-
Programação genérica (modelos ou templates).
-
Estruturas de dados: listas, pilhas e filas.
-
Algoritmos de básicos de procura e ordenação e a sua
eficiência
-
Á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:
-
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).
-
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:
-
Realizados em grupo.
-
Em número de quatro.
-
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:
-
Problema 1 : enunciado: 5/3 entrega: 19/3
-
Problema 2 : enunciado: 19/3 entrega: 16/4
-
Problema 3 : enunciado: 16/4 entrega: 30/4
-
Problema 4 : enunciado: 30/4 entrega: 14/5
-
O conjunto dos problemas entregues serão avaliados no primeiro momento
de avaliação.
-
A nota do conjunto dos problemas (NP) contribui com 20% para a nota final.
-
A entrega fora do prazo acarreta a penalização de 1 valor
por cada dia útil de atraso.
-
Trabalho prático:
-
As datas previstas para a disponibilização do enunciado e
entrega do trabalho final, são, respectivamente: 26/3 e 4/6
-
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.
-
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.
-
A nota do trabalho (NT) contribui com 50% para a nota final.
-
A entrega fora do prazo acarreta a penalização de 1 valor
por cada dia útil de atraso.
-
Frequência:
-
Consiste numa prova escrita individual, sem recurso a consulta.
-
A frequência terá lugar no período de frequências
no final do primeiro semestre.
-
A nota final da frequência (NF) contribui com 30% para a nota final.
-
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.
-
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).
-
NF : Nota final da avaliação periódica
-
NP : Nota dos problemas
-
NF: Nota da frequência
-
NT : Nota do trabalho
4.2 Exame final
-
Épocas:
-
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.
-
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.
-
Cada época consiste num exame escrito individual sem recurso a consulta,
e uma prova oral, caso seja necessária.
-
As notas obtidas em avaliação periódica não
têm qualquer relevância para a nota dos exames.
-
Prova oral:
-
Serão admitidos a prova oral os alunos com classificação
igual ou superior a oito (8) valores na prova escrita correspondente.
-
Caso se realize prova oral, a nota final é a sua média com
a prova escrita correspondente.
-
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
-
As revisões de provas serão indicadas nos enunciados das
provas escritas ou, alternativamente, no momento da publicação
das respectivas classificações.
-
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
-
Aulas teóricas :
-
Aulas práticas:
-
Dr. Luis Nunes, email: Luis.Nunes@iscte.pt
: (Sala 0E4, Gabinete 11) .
-
Dr. Jorge Louçã, email: Não está disponível:
(Sala 0E4, Gabinete 8) .
-
Contactos formais com os docentes (para entrega de trabalhos, marcação
de provas ou sua revisão, etc.) serão realizados:
-
oralmente durante as aulas ou os horários de dúvidas (Sala
0E4, Gabinetes 9, 11 e 8) ;
-
por escrito, caso a informação a dar não necessite
de ser confirmada pelo docente, utilizando os cacifos (na recepção
da entrada principal do ISCTE) ou o correio electrónico (não
serão permitidas entregas de problemas ou trabalhos por estes meios).
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
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.