Programa

Home Next

Home
Programa
Docentes
Aulas Teóricas
Aulas Práticas
Turmas e Avaliação
Planeamento
Links

Programa da Disciplina de Programação 2 (MIEEC - 1ºAno/2ºAno, 2º Sem), 2006/2007

Ficha da Disciplina:

Programa: Programação estruturada em C++: capacidades adicionais em relação à linguagem C. Programação com classes em C++. Apontadores e referências. Gestão de memória em tempo de execução. Recursão. Estruturas ligadas. Características de bons algoritmos. Análise de complexidade temporal e espacial de algoritmos. Algoritmos de ordenação e pesquisa em vectores. Conceito de tipo de dados abstracto. Estruturas lineares: listas, pilhas e filas. Árvores binárias. Árvores binárias de pesquisa. Tabelas de dispersão. Estratégias de implementação para as estruturas de dados lineares, árvores e tabelas de dispersão. Aplicações de estruturas de dados e algoritmos. Estratégias para escolher a estrutura de dados adequada.
Objectivos:

Pretende-se que os alunos adquiram conhecimentos fundamentais em estruturas de dados e algoritmos, tipos de dados abstractos e programação com classes, nomeadamente que sejam capazes de: identificar as propriedades de bons algoritmos; distinguir especificação, implementação e utilização/aplicação de estruturas de dados; utilizar uma linguagem de programação orientada por objectos para implementar, testar e depurar algoritmos e estruturas de dados (listas, pilhas, filas, árvores binárias, árvores binárias de pesquisa e tabelas de dispersão); comparar implementações alternativas de estruturas de dados; escrever programas que usem essas estruturas de dados; conhecer aplicações típicas dessas estruturas de dados; criar/seleccionar algoritmos e estruturas de dados para resolver problemas simples; escolher as estruturas de dados apropriadas para modelar um dado problema.

Bibliografia
Principal:
Data Structures and Algorithm Analysis in C++, 3rd ed., Mark Allen Weiss, Addison-Wesley, 2006, ISBN: 0-321-44146-X
Bibliografia
Complementar:
C++: How to Program, H.M. Deitel & P.J. Deitel, 3rd edition, Prentice Hall, 2001, ISBN 0130895725
Data Structures, Algorithms, and Applications in C++, Sartaj K. Sahni, McGraw Hill, 1998, ISBN 0071155953
Programação em C++, Conceitos Básicos e Algoritmos, P. Rodrigues, P. Pereira, M. Sousa, FCA - Editora de Informática, 1998, ISBN=972722038X
Programação em C++, Algoritmos e Estruturas de Dados, P. Rodrigues, P. Pereira, M. Sousa, FCA - Editora de Informática, 2000, ISBN 9727221998
Programação, Algoritmos e Estruturas de Dados. João Pedro Neto. Escolar Editora. 2004. ISBN: 972-592-179-8
The C++ Programming Language, 3rd ed., Bjarne Stroustrup, Addison-Wesley, 1997, ISBN 0-201-88954-4
Programação com Classes em C++, Pedro Guerreiro, FCA - Editora de Informática, 2000, ISBN 972-722-204-8
Métodos
de ensino:
As aulas teóricas serão usadas para a exposição da matéria e apresentação e discussão de pequenos exemplos de aplicação.
As aulas práticas serão usadas para a resolução de problemas e para o desenvolvimento, teste e análise de programas que envolvem os algoritmos e estruturas de dados tratados nas aulas teóricas.
As aulas práticas servem também para avaliação, nos moldes especificados a seguir.
Designação
das aplicações
Informáticas
a utilizar:
Sistema operativo Linux.

Compilador g++.

Modo de Avaliação: Avaliação distribuída sem exame final.
Componentes de Avaliação:
Condições para obtenção de frequência:

Avaliação prática (4 avaliações, para todos os alunos, sem recurso):
Nota (AP) é a média das 3 melhores avaliações e vale 40% da nota final.
Avaliação teórica-questionários (4 avaliações, para alunos com frequência regular):
Nota (AQ) é a média das 3 melhores avaliações e vale 20% da nota final.
Nota de frequência: Nfreq = AP * (2/3) + AQ * (1/3)
Mínimo nesta componente para obtenção de frequência é 6 valores.
Faltas: o regime em vigor; as faltas aos pontos de avaliação resultam em nota 0.

Fórmula de cálculo da classificação final: Avaliação teórica-mini-testes (2 avaliações, para todos os alunos)
Nota (AM) é a média das notas dos 2 mini-testes e vale 40% da nota final.
Mínimo nesta componente para aprovação na disciplina é 6 valores.
Nota final: NFinal = NFreq * 0,6 + AM * 0,4 .
Provas e trabalhos especiais:

Os exames realizados ao abrigo dos regimes especiais de frequência consistirão de uma prova especial destinada a avaliar os conhecimentos teóricos e práticos dos alunos.

Formas de avaliação de casos especiais (por exemplo TE, M, DA):

A avaliação prática é exigida a todos os alunos, independentemente do regime de inscrição e da necessidade de obter avaliação de frequência. Os alunos inscritos ao abrigo de regimes especiais sem frequência de aulas práticas devem acordar com os docentes as turmas em que se submetem a avaliação prática. A avaliação teórica destes alunos é feita por 2 mini-testes especiais (2 horas de duração), realizados nas mesmas datas dos mini-testes regulares.

Formas de melhoria da classificação final/distríbuida:

As melhorias de classificação requerem a inscrição na edição seguinte da disciplina, de forma a cumprir os requisitos de avaliação teórica e prática.

Observações e comentários adicionais, incluindo pré-requisitos: Embora a disciplina não tenha pré-requisitos especiais, conhecimentos adquiridos na disciplina de Programação são muito úteis para a disciplina.
Back to Top

Páginas criadas e mantidas por Ana Paula Rocha e Luis Paulo Reis
Última actualização: Fevereiro 26, 2007.