Os alunos foram avisados sobre a obrigatoriedade de fazerem as 2 Fichas Práticas que serão propostas ao longo do semestre
e sobre a importância de lerem toda a informação básica sobre a Disciplina,
através da Página WWW e
dos respectivos sumários.
Quanto ao principal objectivo, foi clarificado que não se tratava de um curso para ensinar apenas a usar a linguagem de programação
Java, mas que era essencialmente destinado a levar os alunos a compreender a importância da noção de paradigma de programação
na resolução de um problema por computador, dando-se especial ênfase ao paradigma orientado aos objectos imperativo.
Nesta aula os alunos já devem ter adquirido a noção do que é um programa Java formado por uma classe
com 1 ou mais métodos; como se escreve, compila e executa, quer em linha de comandos, quer em BlueJ.
Além disso devem ter tomado conhecimento com o tipo "Array" e sua manipulação.
Nesta aula os alunos já devem ter adquirido a noção do que é um programa Java formado por uma classe
com 1 ou mais métodos; como se escreve, compila e executa em BlueJ.
Além disso devem ter reforçado o conhecimento do tipo "Array" e sua manipulação mais evoluida.
Nesta aula os alunos devem ter adquirido a noção de criação de uma Classe (turmas) e da sua utilização (teste)
através de uma classe própria que cria instancias dessa classe e interage com elas
Além disso devem ter adquirido o conceito de Matriz ("Array" bi-dimensional) e sua manipulação.
(aula normal + aula de substituição (das 14h30 as 16h30)
Tópicos:
Programação Orientada aos Objectos:
Noção de Classe e instância (objecto) com seus atributos e métodos
Análise Orientada a Objectos: identificação sistemática das Classes a usar na resolução de um problema e
criação, também sistemática, dos métodos construtores de acesso individual (set e get) ou colectivo
(list) ao valor dos atributos
Nesta aula os alunos devem ter adquirido a noção fundamental da identificação das Classes (Produto/Produtos,
Modelo/Modelos, Venda), sua programação sistemática e da sua utilização (teste)
através de uma classe própria que cria instancias dessas classes e interage com elas (GereProdutos).
Noção de Classe e instância (objecto) com seus atributos e métodos
Análise Orientada a Objectos: identificação sistemática das Classes a usar na resolução de um problema e
criação, também sistemática, dos métodos construtores de acesso individual (set e get) ou colectivo
(list) ao valor dos atributos
Nesta aula os alunos devem ter adquirido a noção fundamental da identificação das Classes
(Utente/Utentes, Parque/Parques), sua programação sistemática e da sua utilização (teste)
através de uma classe própria que cria instâncias dessas classes e interage com elas (GereParques).
Noção de Classe e instância (objecto) com seus atributos e métodos
Análise Orientada a Objectos: identificação sistemática das Classes a usar na resolução de um problema e
criação, também sistemática, dos métodos construtores de acesso individual (set e get) ou colectivo
(list) ao valor dos atributos
Nesta aula os alunos devem ter adquirido a noção fundamental da identificação das Classes
(Utente/Utentes, Viatura, Parque/Parques), sua programação sistemática e da sua utilização (teste)
através de uma classe própria que cria instâncias dessas classes e interage com elas (GereParques).
Devem ainda ter aprendido as vantagens de usar a Classe Vector em vez de Array e a forma de manipular os objectos.
Nesta aula os alunos devem ter adquirido a noção fundamental da identificação das Classes
e da sua relação funcional e hierárquica.
Devem ainda ter aprendido as vantagens de usar a Classe HashMap, e a forma de a manipular,
para implementar Funções Finitas que mapeiam Chaves (de um conjunto) em Objectos de outra colecção.
Noção de Classe e Sub-Classe, Classe Abstracta e Herança; os conceitos de Especialização (Extensão de uma
Classe por atributos ou métodos) e de Agregação (as variantes de uma classe) --
exemplos ("funcionário da UM" como extensão de "Utente"; "propriedade horizontal" e "propriedade vertical" como variantes de "imóvel")
Análise Orientada a Objectos: identificação sistemática da Hierarquia de Classes
a usar na resolução de um problema
O ambiente de desenvolvimento BlueJ
Continuação do estudo do Java:
Tipo ArrayList e sua manipulação
Importação da Biblioteca Java.Util; sistematização dos métodos mais usados com ArrayList e HashMap
Tratamento de Excepções: a classe Exception e os operadores throw e o par try/catch
Apresentação do enunciado do 2º Trabalho Prático, como extensão do 1º, com a utilização de HashMaps e
de subclasses e a introdução de novas funcionalidades de gestão (ao gosto de cada grupo);
decisão da entrega do Trabalho Prático final na 1ªsemana de Junho (logo após o fim das aulas).
Programas Exemplo:
Foram discutidos os novos exemplos Carteira de Cartões de Crédito e Biblioteca Multimédia
(de música em CD e de filmes em DVD, introduzidos para ilustrar todos os conceitos destas 2 últimas aulas,
disponíveis através da página principal da disciplina
Resumo:
Nesta aula os alunos devem ter sedimentado a noção fundamental (que tem vindo a ser introduzida e trabalhada
nas aulas anteriores) de identificação das Classes e da sua relação funcional e hierárquica.
Devem ter adquirido a noção clara de situações de excepção que podem ocorrer durante a execução de um programa
e do mecanismo geral de suporte ao tratamento dessas situações, com destaque para o sistema throw
e try/catch disponível em Java para a Classe Exception
Devem ainda ter aprendido as vantagens de usar a Classe ArrayList, como alternativa (a usar de futuro) ao Vector,
e sedimentado também o uso da Classe HashMap
para implementar Funções Finitas que mapeiam Chaves (de um conjunto) em Objectos de outra colecção.
Programação Orientada aos Objectos e estudo da linguagem Java:
Revisão de todos os principais conceitos introduzidos nas 2 últimas aulas: Hierarquia de Classes (especialização
e agregação) e Herança; Tratamento de Excepções; uso de estruturas de dados complexas (arrays, arraylists e hashmaps).
Marcação da entrega do Trabalho Prático final para
5ªf (8.jun) das 9h-13h e das 15h-19h preferencial para alunos do 2ºano
6ªf (9.jun) das 9h-13h preferencial para alunos do 1ºano
A reserva de hora será feita, directamente comigo, por 1 dos elementos do grupo
na 5ªf das 08h00-09h00
Nota: serão visto 2 TP's por hora!