Todo
o material relativo às cadeiras de Programação I e
Introdução à Programação acessível
a partir desta página (inclusivé) tem autores e não
pode ser copiado ou utilizado sem autorização:
Copyright (C) 1998-1999 Manuel Menezes
de Sequeira e Luis Miguel Nunes (ISCTE)
Introdução à Programação
ETI
Engenharia de Telecomunicações e Informática
|
Programação I
IGE
Informática e Gestão de Empresas
|
ISCTE
Ano lectivo de 1998/1999
1º Semestre
Responsável: Eng. Manuel
Menezes de Sequeira.
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 intermédios da linguagem C++, que serão
complementados nas cadeiras de PII (IGE) e POO (ETI).
2. Programa
-
Computadores, algoritmos e programas.
-
A linguagem C++: noção de programa, instrução
e variável.
-
Tipos básicos de dados.
-
Expressões, operadores de atribuição e comparação,
operadores aritméticos.
-
Entrada e saída de dados.
-
Funções. Uso de argumentos e valores devolvidos. Estruturação
de um programa em funções.
-
Passagem de argumentos por valor vs. referência.
-
Âmbito e duração de variáveis.
-
Instruções condicionais e de decisão multipla.
-
Funções recursivas.
-
Ciclos e condições.
-
Matrizes, indexação e acesso.
-
Classes: desenho e implementação.
-
Modularização do código.
-
Ponteiros e ponteiros para matrizes. Passagem de ponteiros como argumentos.
-
Cadeias de caracteres. Cadeias de caracteres vs. strings.
-
Entrada e saída de dados de um ficheiro: canais genéricos.
Alguns tópicos poderão ser transferidos para o programa de
PII/POO, caso não haja tempo para os abordar nas aulas desta disciplina.
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 e 11, ou sala 0E3), 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.
4. Avaliação
4.1 Avaliação periódica
A avaliação periódica consiste em dois momentos
de avaliação: um antes das férias do Natal, outro
no fim do semestre. No primeiro momento realiza-se uma frequência
(individual) e avaliam-se 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.
-
Formados pelos alunos, que deverão fazer a respectiva inscrição
(durante as aulas práticas ou de dúvidas) uma semana antes
da entrega do primeiro problema. A inscrição consiste apenas
na entrega de uma folha com os nomes e números dos constituintes
do grupo, assinada por todos os elementos.
-
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 sua disponibilização).
-
O conjunto dos problemas entregues serão avaliados no primeiro momento
de avaliação (próximo das férias do Natal).
-
A nota do conjunto dos problemas (NP) contribui com 15% para a nota final.
-
A entrega fora do prazo acarreta a penalização de 1 valor
(na nota final dos trabalhos) por cada dia de atraso.
-
Trabalho prático:
-
O enunciado será entregue antes das férias do Natal, e indicará
a data limite para entrega do trabalho..
-
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
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 35% para a nota final.
-
A entrega fora do prazo acarreta a penalização de 1 valor
por cada dia de atraso.
-
Frequências:
-
Consistem em duas provas escritas individuais, sem recurso a consulta.
-
A primeira frequência terá lugar antes das férias do
Natal.
-
A segunda frequência terá lugar no período de frequências
no final do primeiro semestre.
-
A nota final da primeira frequência (NF1) contribui com 25% para
a nota final.
-
A nota final da segunda frequência (NF2) contribui com 25% para a
nota final.
-
As datas das frequências serão publicadas com a devida antecedência
nesta página, anunciadas publicamente nas aulas e nos locais oficiais.
-
A nota mínima exigida na primeira frequência para obter aprovação
à cadeira é 6.
-
A nota mínima exigida na segunda frequência para obter aprovação
à cadeira é 8.
A nota final é calculada do seguinte modo:
NF = 15% NP + 25% NF1 + 25%NF2 + 35%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
-
NF1 : Nota da primeira frequência
-
NF2 : Nota da segunda 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 marcadas no momento da publicação
das notas da respectiva prova.
-
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:
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
04E, Gabinetes 9 e 11, ou sala 0E3) ;
-
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
Nos dias 6 e 8 de Outubro, para o curso de ETI, depois da apresentação
da cadeira nas aulas práticas, realiza-se um pequeno curso de familiarização
com o Windows NT começando às 15:15 e terminando às
17:30h, na sala 1E14. Curso dado por pessoal do CIISCTE.
IGE
|
Segunda
|
Terça
|
Quarta
|
Quinta
|
Sexta
|
Manhã |
Dúvidas (gab. 9)
Eng. Manuel Sequeira
9:00-13:00h |
IA2 teórica (sala 226)
Eng. Manuel Sequeira
8-9:20h
IA2-A prática (sala 1E14)
Dr. Luis Nunes
9:40h-12:30h
IA2-B prática (sala 1S19)
Eng. Manuel Sequeira
9:40h-12:30h |
|
IA1 teórica (sala 223)
Eng. Manuel Sequeira
8-9:20h
IA1-A prática (sala 1E14)
Dr. Luis Nunes
9:40h-12:30h
IA1-B prática (sala 1S19)
Sérgio Martins
9:40h-12:30h |
|
Tarde |
|
|
dúvidas (sala 0E3)
Sérgio Martins
14:30-17:30h |
|
dúvidas (gab. 11)
Dr. Luis Nunes
14:00-18:30h |
Na quinta-feira dia 3 de Dezembro, o horário é o de terça-feira.
Por exemplo, a aula teórica corresponde à turma IA2, não
existindo aula teórica da turma IA1 nessa semana. Desse modo os
feriados de 1 e 8 afectam de igual forma ambas as turmas.
ETI
|
Segunda
|
Terça
|
Quarta
|
Quinta
|
Sexta
|
Manhã |
Dúvidas (gab. 9)
Eng. Manuel Sequeira
9:00-13:00h |
|
|
|
|
Tarde |
|
ETIA1-A prática (sala 1E14)
Dr. Luis Nunes
14:30h-17:30h |
dúvidas (sala 0E3)
Sérgio Martins
14:30-17:30h |
ETIA1 teórica (sala 226)
Eng. Manuel Sequeira
13:00h-14:20h
ETIA1-B prática (sala 1E14)
Sérgio Martins
14:30h-17:30h |
dúvidas (gab. 11)
Dr. Luis Nunes
14:00-18:30h |
No dia 10 de Dezembro, a aula prática será correspondente
ao grupo ETIA1-A. A aula teórica do mesmo dia dedica-se ao esclarecimento
de dúvidas.
7. Aulas, enunciados e resoluções e sumários
8. Bibliografia
8.1 Bibliografia aconselhada
Jo Ellen Perry, Harald D. Levin, An Introduction to Object-Oriented Design
in C++, Addison-Wesley, 1996
Stanley B. Lippman, Josée Lajoie, C++ Primer, Third Edition,
Addison-Wesley, 1998
8.2 Bibliografia auxiliar
Bjarne Stroustrup, C++ Programming Language, Third Edition, Addison-Wesley,
1997
Thomas H. Cormen, Charles E. Leiserson, Ronald Rivest, Introduction
to Algorithms, MIT Press, 1990
9. Outras informações
Informação actualizada sobre a cadeira pode ser encontrada
na Rede (http://iscte.pt/programacao/p1).
As páginas de anos anteriores também
podem ser consultadas.
Última actualização: 1998/11/3