Sunteți pe pagina 1din 4

Algoritmos e Programação I

Aulas Introdutórias

O objetivo deste documento é apresentar uma proposta de conjunto de aulas introdutórias


para a disciplina de Algoritmos e Programação I de maneira que se trabalhe desde a primeira
aula dentro do paradigma de P.O.O. Para tanto nas aulas iniciais trabalha-se diretamente no
ambiente Bluej instanciado classes prontas e desafiando os alunos a identificarem as classes e
os métodos de problemas simples. Trabalha-se, então, basicamente os conceitos de objeto e
método. Na seqüencia introduzem-se os conceitos de parâmetro, classe e referência.
Apresentam-se pequenos exemplos com interação entre classes e migra-se da operação visual
do sistema para a codificação do uso das instâncias e finalmente apresenta-se um programa
completo. Por fim, apresenta-se a sintaxe completa de uma classe com atributos e métodos. A
partir daí segue-se a abordagem já utilizada.

Aula1

Objetivo geral: reforçar a noção de instância

 Passo 1
o Conteúdo
 Introduzir o conceito de programa como um conjunto de entidades
que se comunicam;
 Entidades são objetos. Objetos são compostos por um identificador
(nome da instância), atributos (dados que “pertencem” à entidade) e
comportamentos (ações que os objetos podem executar, métodos que
podem ser chamados).
 Define-se um comportamento que é dado por estados
o Metodologia
 Apresentar os conceitos
 Apresentar o enunciado de um problema simples onde se possa
trabalhar mostrar estes conceitos, e trabalhar a noção de instância
 Enunciado:
“Faça um programa que representa uma lâmpada. Uma lâmpada pode
estar ligada ou desligada. Além disto, a lâmpada possui um mecanismo
que permite apagar a lâmpada, e um mecanismo que permite acendê-
la.”
 Solução: projeto Lampada.
 Instanciar objetos e executar os métodos. Demonstrar a criação de
várias instâncias, e os métodos sendo chamados.
 Passo 2
o Conteúdo
 O mesmo do passo 1. Atividade de reforço.
 Se introduz um comportamento que é implementado por um
contador.
o Metodologia
 Relembrar os conceitos
 Enunciado:
“Agora, a lâmpada possui um dimmer, que permite aumentar ou
diminuir a intensidade da lâmpada”.
 Instanciar objetos e mostrar o comportamento. Explorar a criação de
várias instâncias, e mostrar que as mesmas têm os mesmos
comportamentos
 Discutir porque o dimmer está representado como métodos e não
como uma nova entidade.
 Passo 3
o Conteúdo
 O mesmo do passo 1, mas um pouco mais elaborado. Neste caso, se
introduz uma “máquina de estados” (sem falar no conceito)
o Metodologia
 Novamente, apresentar um problema, identificar entidades e seus
elementos
 Enunciado
“Faça um programa que demonstra como funciona uma sinaleira. Uma
sinaleira pode estar em um de três estados: vermelho, amarelo ou
verde. Quando se solicita, ela passa para o próximo estado (de
vermelho para amarelo, de amarelo para verde, e assim por diante).”
 Reforçar as discussões anteriores.
 Passo 4
o Exercícios de reforço.
 O objetivo é permitir que os alunos apliquem os conceitos anteriores
(identificar entidades, definir atributos e métodos).
o Enunciado 1
“Carro que liga, desliga, acelera, desacelera, freia, mostra velocidade”.
o Enunciado 2
“parquímetro” (com um único método que permite inserir um valor fixo por
vez ).

-----------------------------------------------------------------------------------

Aula 2

Objetivo geral: parâmetros, retorno e interação entre objetos

 Parâmetros e retorno (por enquanto usar apenas parâmetros numéricos ao invés de


strings porque podemos fazer contas com eles)
o Sem tipos de dados
o 1 único objeto
o Derivar o exemplo do parquímetro (inserção de valores)
o Derivar exemplo do carro, abastecendo e consumindo combustível
o Outros exemplos
o Exercícios
 Relações entre objetos: trabalhar com objetos que usem serviços de outros e que para
tanto precisem receber a referencia de outro objeto como parâmetro
o Agora temos parâmetros numéricos e parâmetros que são referências
o Exemplo:
 Classes Motor1.6 e Motor2.0. Possuem um método “consumo” que
retorna o consumo do motor em km/l. A classe carro possui um
método que permite definir o motor e outro que, dada a quantidade
de combustível no tanque, informa a autonomia do veículo (em função
do consumo do motor informado).
o Definir outros exemplos que impliquem em interação entre objetos
o Exercícios

-----------------------------------------------------------------------------------

Aula 3 (será que se faz necessária uma aula de laboratório antes dessa só para mostrar o
bluej e deixa-los brincar sozinhos?)
Objetivo geral: migrar do modo gráfico para a programação do instanciamento e ativação dos
métodos. Ainda não usar o main. Aula de laboratório.

 Apresentação do Bluej
 Mostrar como carregar um projeto pronto (com várias classes)
 Mostrar como criar uma classe com um método para conter o “roteiro”
 Exercícios
o Refazer os exercícios do parquímetro e do carro usando uma classe com o
programa
o Outros exercícios semelhantes (explorando interação entre objetos)
 Entrada e saída: apresentar os objetos de E/S e como usa-los para interação com
usuário (por enquanto lendo apenas valores inteiros). Entrada e saída escondida: as
classes recebem referencia para “Teclado” ou “Tela” e seus métodos as usam para
fazer a E/S.
 Exercícios:
o Exercícios que explorem E/S usando os objetos “Teclado” e “Tela”

-----------------------------------------------------------------------------------

Aula 4

Objetivo geral: mostrar o main de duas linhas e a ativação pelo console (aula de laboratório)

-----------------------------------------------------------------------------------

Aula 5

Objetivo geral: apresentar os conceitos de método e atributo. Apresentar a sintaxe completa


de uma classe. Mostrar o código das classes mais simples vistas anteriormente. Solicitar a
criação de novas classes.

A partir daqui: tipos de dados, modificadores de acesso e segue o processo normal.

S-ar putea să vă placă și