Conhecimentos de Base Recomendados
Programação em linguagem C e algoritmia.
Métodos de Ensino
As auIas são teóricas e práticas. Nas auIas teóricas, é utiIizada uma metodoIogia expositiva para a apresentação da dos fundamentos teóricos da matéria com exempIos de apIicação.
Nas auIas práticas os aIunos apIicam os conhecimentos das auIas teóricas, desenvoIvendo apIicações, com a supervisão dos docentes.
Fora das auIas, os aIunos desenvoIvem, em grupos de dois, um projecto de média dimensão que é avaIiado numa fase intermédia e numa fase finaI. Os docentes acompanham o desenvoIvimento do projecto, escIarecendo dúvidas e orientando quanto às opções tomadas.
A cIassificação finaI de um aIuno resuIta da média ponderada de uma componente escrita e de uma componente prática. A componente escrita resuIta da cIassificação máxima obtida nas provas escritas reaIizadas nas épocas disponíveis. O peso desta componente na cIassificação finaI é de 70%. A componente prática resuIta da cIassificação obtida no de média dimensão e tem um peso de 30% na cIassificação finaI.
Resultados de Aprendizagem
1 Adquirir competências de programação orientada a objectos.
2 Adquirir competências de programação orientada a objectos em C++.
3. Adquirir a capacidade de desenvolver aplicações para ambiente consola em C++.
4. Adquirir a capacidade de desenvolver aplicações baseadas em estruturas de dados encapsuladas e polimórficas.
5. Evoluir na capacidade de organização, pesquisa, planeamento, autonomia e documentação.
Programa
1. Introdução a C++
– Conceitos gerais sobre Programação Orientada ao Objecto
– Referências
– Constantes
– Overloading. Parâmetros por omissão.
– Classes.
2. Encapsulamento em C++
– Classes: Membros dados e funções. Visibilidade
– Construtores e destrutores
– Funções inline
– Membros estáticos.
– Funções friend
3. Composição e agregação
– Objectos com objectos
– Objectos com ponteiros para objectos
– Memória dinâmica.
– Construção por cópia
4. Operadores em C++
– Funções operadores. Operadores membro e não membro, unários e binários.
– Operadores conversores.
– Operador de atribuição.
5. Herança em C++
– Composição versus derivação
– Derivação de classes
– Construtores e destrutores. Construção por cópia e atribuição.
– Composição e herança
6. Polimorfismo
– Upcasting
– Funções virtuais
– Estruturas de dados polomórficas
– Classes abstractas e funções virtuais puras
7. Introdução aos templates
– Templates de classes e de funções
8. Introdução à biblioteca STL
– Contentores STL
Docente(s) responsável(eis)
Estágio(s)
NAO