CCT0827 Plano de Aula
CCT0827 Plano de Aula
Semana Aula: 1
Unidade 1: Introdução à linguagem de programação
Tema
A Tecnologia Java
Palavras-chave
Plataforma Java, Ambiente de desenvolvimento, Ambiente de Programação
Objetivos
O aluno deverá ser capaz de:
Estrutura de Conteúdo
Histórico da Linguagem Java
Plataforma Java
Ambiente de Desenvolvimento
Java Development Kit (JDK): Coleção de programas para, dentre outras tarefas,
compilar e executar aplicações Java. Este é o kit necessário para o desenvolvedor,
pois contém todo suporte para a criação de aplicações em Java.
Java Runtime Environment (JRE): Kit com todos os programas necessários para
executar aplicações Java. Faz parte do JDK, mas pode ser instalado
separadamente para em execução em máquinas clientes, uma vez que o JDK é
voltado para os desenvolvedores.
Ambiente de Programação
Download:
Netbeans: https://netbeans.apache.org/download/index.html
Eclipse: https://www.eclipse.org/downloads/
Procedimentos de Ensino
Fluxo da aula:
Estratégias de Aprendizagem
Apresentar o ranking das Linguagens de Programação -
https://codigosimples.net/2019/03/09/confira-a-lista-das-linguagens-de-programacao-
mais-utilizadas-em-2018-2019/
Ambiente de Desenvolvimento
2. DEITEL, Paul. Java: como programar (Biblioteca Virtual). 10. ed. São Paulo: Pearson,
2017. [Páginas: 13 ? 16]
Recursos
Quadro branco e marcadores para quadro branco coloridos.
Exemplo:
import java.util.Scanner;
nota1 = Double.parseDouble(sc.nextLine());
nota2 = Double.parseDouble(sc.nextLine());
sc.close();
}
Avaliação
O aluno deverá resolver exercícios propostos sobre o tema nas referências bibliográficas
ou nas indicações dadas pelo professor da disciplina; ou Pesquisa, onde o professor pode
solicitar a pesquisa de um tema relacionado com os assuntos abordados na aula.
Considerações Adicionais
PROGRAMAÇÃO I - CCT0827
Semana Aula: 2
Unidade 1 - Introdução à linguagem de programação
Tema
Características da linguagem Java
Palavras-chave
Características da linguagem Java, Tipos de dados, Constantes e Variáveis, Operadores e
Expressões, Comandos de Controle de Fluxo, Estruturas de Repetição, Entrada e Saída de
Dados, Conversão de tipos.
Objetivos
O aluno deverá ser capaz de:
Estrutura de Conteúdo
Características da linguagem Java
A linguagem Java tem boa parte de suas características herdadas da linguagem C, muitos
dos seus operadores, formação de identificadores, comandos de controle de fluxo e várias
outras características são compartilhados entre estas duas linguagens.
Java é uma linguagem de programação sensível a caixa (alta ou baixa ou case sensitive).
Comentários
1) Comentário de linha: faz com que todo o seu conteúdo, após as duas barras,
seja desconsiderado pelo compilador
// comentário de linha
/*
comentário de linha
*/
/**
comentário de documentação
*/
Tipos de dados
Tipo Especial
Constantes e Variáveis
Variáveis e constantes em Java devem obrigatoriamente possuir um tipo, isso ocorre
porque Java é uma linguagem de programação fortemente tipada.
A definição de constantes precisam do modificador “final”, que indica que uma vez que
ocorreu uma atribuição a variável, seu conteúdo não poderá ser mudado.
Operadores e Expressões
1. Operadores Aritméticos: + , - , *, /, %
2. Operadores de atribuição compostos: += , -= , *= , /= , %=
3. Operadores de Incremento e decremento: ++ , --
4. Operadores Relacionais: > , < , <= , >= , == , !=
5. Operadores Lógicos: && , || , !
6. Operadores de Bits: & , ^ , |
} // } break;
instruções;
else if (condição2) { case 2 : // instruções;
}
//instruções; break;
else {
} case 3 : // instruções;
//
instruções; else if (condição3) { break;
}
Estrutura de Repetição
1. for
// instruções
instruções;
instruções;
for ( ; ; ) {
instruções;
2. while
while (condição) {
instruções;
}
3. do ... while
do
instruções;
} while (condição);
1. Entrada de Dados
· Classe Scanner
·Por não estar definido em uma biblioteca padrão, para usar a classe
·Scanner precisamos informar onde essa ela se encontra. Isso é feito através
do comando import: import java.util.Scanner;
String nome;
double nota1;
nota1=Double.parseDouble(entrada.nextLine());
int idade;
idade = Integer.parseInt(entrada.nextLine());
2. Saída de Dados
A saída de dados em modo texto pode ser realizada pela classe System, e o método
out.print (não pula linha), out.println (pula linha) ou outros métodos:
System.out.println(" Nome: " + nome + " Idade: " + idade + " Nota 1: " + nota1);
Conversão de Tipos
1. Por cast
Usado para converter valores de um tipo para outro, com cast basta indicar o tipo que
você quer que a variável ou valor seja convertido colocando o tipo desejado entre
parênteses:
int a = 10;
double b = 0;
b = (double) a;
a = (int) b;
2. Por uso de classes para conversão de textos em valores
A boa prática em programação Java leva em conta um conjunto de regras que facilitam o
desenvolvimento de aplicações e melhoram bastante o trabalho em conjunto realizado por
equipes.
Devem ser identificados iniciando por letras minúsculas. Quando houver mais de
uma palavra, deve-se começar cada nova palavra com uma letra maiúscula.
Exemplos:
int idade;
int maiorIdade;
String nome;
String nomeCompleto;
Regra 2: Constantes
Devem ser identificados por letras maiúsculas em todo o seu nome, mesmo
quando temos mais de uma palavra, todo o identificador deve ficar em
maiúsculas.
Exemplos:
Exemplos:
Procedimentos de Ensino
Fluxo da aula:
Estratégias de Aprendizagem
Implementar programas em Java, explorando expressões, estruturas de fluxo de controle
e estruturas de repetição.
DEITEL, Paul. Java: como programar (Biblioteca Virtual). 10. ed. São Paulo: Pearson,
2017. [Páginas: 41 – 46]
Comandos de Controle de Fluxo:
DEITEL, Paul. Java: como programar (Biblioteca Virtual). 10. ed. São Paulo: Pearson,
2017. [Páginas: 81 – 87]
Estrutura de Repetição
DEITEL, Paul. Java: como programar (Biblioteca Virtual). 10. ed. São Paulo: Pearson,
2017. [Páginas: 120 – 132]
Conversão de Tipos:
Recursos
Quadro branco e marcadores para quadro branco coloridos.
2. Faça um programa em Java que leia o nome de uma pessoa, seu respectivo salário
bruto e o valor do salário mínimo, ao final calcular a quantidade de salários mínimos
recebida e exibir a mensagem:
3. Um hotel cobra R$ 160.00 a diária e mais uma taxa de serviços. A taxa de serviços é
de:
•R$ 55,00 por diária, se o número de diárias for maior que 15;
•R$ 80,00 por diária, se o número de diárias for menor que 15.
4. Um banco concederá um crédito especial aos seus clientes, variável com o saldo médio
no último ano. Faça um programa em Java que leia o saldo médio de um cliente e calcule
o valor do crédito de acordo com a tabela abaixo. Mostre uma mensagem informando o
saldo médio e o valor do crédito.
Avaliação
O aluno deverá resolver exercícios propostos sobre o tema nas referências bibliográficas
ou nas indicações dadas pelo professor da disciplina; ou Pesquisa, onde o professor pode
solicitar a pesquisa de um tema relacionado com os assuntos abordados na aula.
Considerações Adicionais
PROGRAMAÇÃO I - CCT0827
Semana Aula: 3
Unidade 2 - Conceitos de orientação a objetos
Tema
Classes e Objetos
Palavras-chave
Classes, Atributos, Métodos, Objetos, Métodos Setters, Métodos Getters.
Objetivos
O aluno deverá ser capaz de:
Estrutura de Conteúdo
Orientação a Objetos
Classes
As classes Java são responsáveis pelo conjunto de códigos para a criação de objetos e
aplicações.
Uma classe Java deve descrever as características e ações que o objeto possuí ao ser
representado em um sistema computacional, levando em consideração as características e
ações realmente importantes para o sistema.
Atributos
Atributo é conceitualmente um descritor do objeto. Deve representar uma característica
do objeto. O conjunto de atributos do objeto devem representar todas as características
importantes do objeto para o sistema.
Exemplos:
Métodos:
Método é uma ação, um conjunto de instruções a serem executadas por um objeto para
realizar uma determinada tarefa.
Exemplos:
int soma;
soma = n1 + n2;
return soma;
double aumento;
Objetos
A classe modela o objeto de acordo com as necessidades do sistema para a sua descrição
e suas ações. A partir de uma mesma classe, vários objetos diferentes, mas com
características semelhantes podem ser criados em um mesmo sistema ou em diferentes
sistemas.
Aplicações Java
Aplicações em Java são classes especiais que possuem um método main(). O método
main é responsável por criar os objetos e realizar a combinação de diferentes classes para
atender as necessidades de um sistema. Em cada sistema tempos apenas uma aplicação,
que será a responsável pela lógica de criação e uso das classes.
A comunicação entre os objetos ocorre através de trocas de mensagens, que são expressas
através do uso de métodos.
1. Métodos Setters
São métodos especiais que recebem o valor do atributo e por serem métodos, podem
analisar se são válidos, sendo responsáveis pela atribuição. Quando o atributo é protegido
(privado) é necessário um método para realizar a atribuição.
· São sempre do tipo void, pois métodos Setters não devem retornar nada;
· Devem começar pela palavra set e o nome do atributo, como tem mais de
uma palavra, cada nova palavra no nome deve começar por letra maiúscula;
2. Métodos Setters
São métodos especiais que retornam o valor armazenado no atributo, evitando acesso
direto ao atributo pela aplicação. Assim como visto no método Setter, a proteção do
atributo (private) fará com que a aplicação não tenha acesso direto ao atributo fazendo
com que seja necessário um método público para recuperar o valor atribuído ao mesmo.
· São sempre do mesmo tipo do atributo que será retornado, nunca do tipo
void;
· Devem começar pela palavra get e o nome do atributo, como tem mais de
uma palavra, cada nova palavra no nome deve começar por letra maiúscula;
· Não possui parâmetro, esses métodos nunca receberão parâmetros uma vez
que não farão atribuições ou ações com parâmetros, realizando apenas o
retorno do valor armazenado no atributo.
Procedimentos de Ensino
Fluxo da aula:
Estratégias de Aprendizagem
Implementar programas em Java, explorando os conceitos de orientação a objetos:
classes, atributos, métodos, objetos, métodos setters e métodos getters.
Exemplo:
double cr;
aluno1.setMatricula( "1001" );
aluno1.setNome( "André" );
aluno1.setCr( 6.7 ) ;
aluno2.setMatricula( "1002" );
aluno2.setNome( "Maria" );
aluno2.setCr( 7.5 );
aluno1.imprimir();
aluno2.imprimir();
aluno3.imprimir();
}
Indicação de Leitura Específica
Orientação a Objetos:
Recursos
Quadro branco e marcadores para quadro branco coloridos.
Retângulo
Triângulo
Círculo
2) Sabendo que todo livro possui autor, editora e preço, crie uma classe pública
comconstrutor padrão e métodos modificadores e de acesso. Depois, crie dois livros com
dados obtidos via console.
Avaliação
O aluno deverá resolver exercícios propostos sobre o tema nas referências bibliográficas
ou nas indicações dadas pelo professor da disciplina; ou Pesquisa, onde o professor pode
solicitar a pesquisa de um tema relacionado com os assuntos abordados na aula.
Considerações Adicionais
PROGRAMAÇÃO I - CCT0827
Semana Aula: 4
Unidade 2 - Conceitos de orientação a objetos
Tema
Métodos Construtores e Polimorfismo de Sobrecarga
Palavras-chave
Método Construtor, Polimorfismo, Polimorfismo de Sobrecarga
Objetivos
O aluno deverá ser capaz de:
Estrutura de Conteúdo
Métodos Construtores
São métodos especiais que são executados apenas uma vez por cada objeto criado, pois
só é executado no momento da instanciação / criação do objeto e é responsável por
realizar as ações necessárias para a sua criação (controlar a criação do objeto).
Características:
• Não existe definição de tipo de retorno, pois métodos construtores não podem
retornar valores com a instrução “return”, são sem tipo;
Exemplo:
Classe Pessoa
public class Pessoa {
int idade;
setNome( nome );
setIdentidade( identidade );
setIdade( idade );
return nome;
if (!no.isEmpty()){
nome = no;
return identidade;
if (!id.isEmpty()){
identidade = id;
idade = id;
System.out.println( "Pessoa:");
Aplicação: AppPessoa
p2.imprimir();
Exemplo:
A Sobrecarga de métodos permite que possamos ter mais de um método com o mesmo
identificador em uma mesma classe. Isso só é possível em razão da avaliação do contexto
no momento da execução.
Com o uso da Sobrecarga de métodos você poderá criar quantos métodos com o mesmo
identificador (nome) você quiser em uma mesma classe, desde que eles não possuam a
mesma assinatura de método.
return 1;
}
int meuMetodo ( double b, String c, int a ){
return 2;
return 3;
return 4;
Métodos construtores são métodos e sendo assim, também podem ser sobrecarregados.
Uma classe que possui mais de um método construtor é uma classe que oferece diferentes
formas de criação para os seus objetos.
Procedimentos de Ensino
Fluxo da aula:
Estratégias de Aprendizagem
Implementar programas em Java, explorando os conceitos de polimorfismo de
sobrecarga.
Classe: Carro
import java.util.Scanner;
double valor;
public Carro() { }
this.placa = placa;
this.valor = valor;
this.modelo = modelo;
this.cor = cor;
this.placa = placa;
this.valor = valor;
this.fabricante = fabricante;
this.modelo = modelo;
this.cor = cor;
this.placa = placa;
this.valor = valor;
this.fabricante = fabricante;
this.modelo = modelo;
this.cor = cor;
this.placa = placa;
this.valor = valor;
this.numeroPortas = numeroPortas;
this.anoFabricacao = anoFabricacao;
this.anoModelo = anoModelo;
if(!fab.isEmpty()) {
fabricante = fab;
return modelo;
if(!mod.isEmpty()) {
modelo = mod;
return cor;
if(!co.isEmpty()) {
cor = co;
return placa;
}
if(!pla.isEmpty()) {
placa = pla;
return valor;
if(val > 0) {
valor = val;
return numeroPortas;
if(nump > 0) {
numeroPortas = nump;
return anoFabricacao;
}
public void setAnoFabricacao (int anof) {
if(anof > 0) {
anoFabricacao = anof;
return anoModelo;
if(anom > 0) {
anoModelo = anom;
setFabricante( entrada.nextLine() );
setModelo( entrada.nextLine() );
setCor( entrada.nextLine() );
setPlaca( entrada.nextLine() );
car1.entradaDados();
car1.imprimir();
car2.imprimir();
car3.imprimir();
car4.imprimir();
2018, 2019);
car5.imprimir();
Métodos Construtores:
Sobrecarga:
Classe: Computador
Atributos Métodos
Processador : texto
CapacidadeArmazenamento: inteiro
Avaliação
O aluno deverá resolver exercícios propostos sobre o tema nas referências bibliográficas
ou nas indicações dadas pelo professor da disciplina; ou Pesquisa, onde o professor pode
solicitar a pesquisa de um tema relacionado com os assuntos abordados na aula.
Considerações Adicionais
PROGRAMAÇÃO I - CCT0827
Semana Aula: 5
Unidade 2 - Conceitos de orientação a objetos
Tema
Herança
Palavras-chave
Herança, Superclasse, Subclasse, Tipos de Herança
Objetivos
O aluno deverá ser capaz de:
Estrutura de Conteúdo
Herança
É uma forma de dizer que uma classe "é um tipo de" outra classe.
Exemplos:
A herança é um conceito muito importante que possibilita que você ao identificar duas ou
mais classes que possuam semelhanças, estas podem ser definidas através de uma
hierarquia, onde os membros comuns as duas ou mais classes passam para uma classe
nova classe conhecida como Superclasse ou classe ?mãe?. Já as classes originais
permanecerão apenas com os membros não comuns e estas classes são denominadas
Subclasses ou classes ?filhas?.
Na herança, temos sempre uma classe definida de forma genérica que, posteriormente, é
Podemos ter várias classes específicas para uma mesma classe genérica:
Exemplo :
Cada classe específica possui atributos e comportamentos somente seus, mas também
herda atributos e comportamentos da classe genérica.
Tipos de Herança
1. Herança Simples
A herança múltipla se caracteriza quando uma mesma classe herda de duas ou mais
classes ao mesmo tempo.
Java não permite a implementação da herança múltipla, mesmo este sendo um conceito
da programação orientada a objetos.
Herança em Java
Para definir a herança entre duas classes devemos usar a palavra reservada extends na
definição da subclasse.
Exemplo:
public class Carro extends Veiculo {
Sobrescrita de métodos
Métodos de uma SuperClasse podem ser sobrescritos em suas subclasses, isso implica
que um método descrito na Superclasse poderá ser substituído na Subclasse. Para isso é
importante observar que estes métodos devem possuir as mesmas assinaturas, caso
contrário será usado o conceito de Sobrecarga e não de Sobrescrita.
Sobrecarga X Sobrescrita
Procedimentos de Ensino
Fluxo da aula:
Estratégias de Aprendizagem
Implementar programas em Java, explorando os conceitos de herança e sobrescrita.
Exemplo de Aplicação de Herança.
import java.util.Scanner;
return identidade;
if(!id.isEmpty()) {
identidade = id;
return nome;
if(!no.isEmpty()) {
nome = no;
public Pessoa() { }
setIdentidade ( id );
}
public Pessoa( String id, String no ) {
setIdentidade ( id );
setNome ( no );
setIdentidade ( id );
setNome ( no );
setIdentidade( entrada.nextLine() );
setNome( entrada.nextLine() );
entrada.close();
import java.util.Scanner;
String matricula;
double salario;
return matricula;
if(!ma.isEmpty()) {
matricula = ma;
return salario;
if ( sa >=0) {
salario = sa;
public PessoaEmpresa() { }
super ( id );
setSalario ( sa );
setSalario ( sa );
super ( id );
setSalario ( sa );
super ( id, no );
setMatricula ( ma );
setSalario ( sa );
public void cadastrar( String id, String no, String ma, double sa) {
super.cadastrar(id, no);
setMatricula ( ma );
setSalario ( sa );
super.entradaDados();
setMatricula ( entrada.nextLine() );
entrada.close();
}
super.imprimir();
DEITEL, Paul. Java: como programar (Biblioteca Virtual). 10. ed. São Paulo: Pearson,
2017. [Páginas: 284 ? 286]
Herança
Recursos
Quadro branco e marcadores para quadro branco coloridos.
Uma loja vende 3 tipos de produto: livro, CD e software. Para todos os produtosexiste
código, descrição, preço e peso. Para o CD existe o nome da banda, para o livro existe o
nome do autor e para o software existe a categoria. Para entregar um produto, o cálculo
do frete é feito multiplicando o peso do produto por R$ 6,50. Implemente as classes que
retratam esse cenário.
Avaliação
O aluno deverá resolver exercícios propostos sobre o tema nas referências bibliográficas
ou nas indicações dadas pelo professor da disciplina; ou Pesquisa, onde o professor pode
solicitar a pesquisa de um tema relacionado com os assuntos abordados na aula.
Considerações Adicionais
PROGRAMAÇÃO I - CCT0827
Semana Aula: 6
Unidade 2 - Conceitos de orientação a objetos
Tema
Agregação e Particionamento
Palavras-chave
Particionamento, Agregação
Objetivos
O aluno deverá ser capaz de:
Estrutura de Conteúdo
Particionamento
O particionamento de classes nos permite criar objetos menores e mais simples, que
poderão ser reunidos em conjunto, capazes de criar novas classes, maiores e mais
complexas.
Exemplo:
·Placa-mãe (PlacaMae)
· Disco Rígido (HD)
· Placa de vídeo (PlacaVideo)
· Memória (Memoria)
public class HD {
Agregação
A reunião de uma ou mais classes para formar novas classes é chamado de agregação.
Uma nova classe pode ser formada por um conjunto de diferentes objetos.
Estratégias de Aprendizagem
Implementar programas em Java, explorando os conceitos de herança e sobrescrita.
Recursos
Quadro branco e marcadores para quadro branco coloridos.
Avaliação
O aluno deverá resolver exercícios propostos sobre o tema nas referências bibliográficas
ou nas indicações dadas pelo professor da disciplina; ou Pesquisa, onde o professor pode
solicitar a pesquisa de um tema relacionado com os assuntos abordados em aula.
Considerações Adicionais
PROGRAMAÇÃO I - CCT0827
Semana Aula: 7
Unidade 2 - Conceitos de orientação a objetos
Tema
Encapsulamento
Palavras-chave
Encapsulamento, Modificadores de acesso, Public, Protected, Private, Package
Objetivos
O aluno deverá ser capaz de:
Estrutura de Conteúdo
Encapsulamento
Os atributos não podem ser manipulados diretamente. Os atributos podem ser alterados
ou consultados somente através dos métodos do objeto.
O objeto deve se comportar como uma caixa preta, que realiza determinadas operações
mas que o usuário da classe não sabe e não precisa saber exatamente como ocorre.
Procedimentos de Ensino
Fluxo da aula:
Estratégias de Aprendizagem
Implementar programas em Java, explorando os conceitos de modificadores de acesso.
Encapsulamento:
Recursos
Quadro branco e marcadores para quadro branco coloridos.
Avaliação
O aluno deverá resolver exercícios propostos sobre o tema nas referências bibliográficas
ou nas indicações dadas pelo professor da disciplina; ou Pesquisa, onde o professor pode
solicitar a pesquisa de um tema relacionado com os assuntos abordados em aula.
Considerações Adicionais
PROGRAMAÇÃO I - CCT0827
Semana Aula: 8
Unidade 2 - Conceitos de orientação a objetos
Tema
Classes Abstratas e Interfaces
Palavras-chave
Classes Abstratas, Interfaces, Implements
Objetivos
O aluno deverá ser capaz de:
Estrutura de Conteúdo
Classe Abstrata
São classes que representam abstrações e não objetos concretos do mundo que
estamosrepresentando.
São usadas como moldes para a criação de outras classes e podem encapsular atributos
ecomportamentos comuns.
Perguntas:
Isso ocorre porque Veículo é uma abstração para Carro e Caminhão nessaconcessionária.
Classes abstratas são definidas em Java com o uso da palavra abstract na sua definição.
Por não representarem objetos concretos, classes abstratas não podem ser criadas com o
operador new.
Exemplo :
this.modelo = modelo;
this.anoFabricação = anoFabricacao;
}
Métodos definidos nas classes abstratas, mas não implementados são chamados
métodos abstratos.
As classes concretas derivadas da classe abstrata devem, obrigatoriamente, definir
esses métodos e de preferência implementá-los, caso contrário, nada ocorrerá ao
chamá-los.
Para verificarmos a instância referenciada por uma variável, em tempo de
execução, usamos o operador instanceof.
Para evitar que sejam criadas sub-classes a partir de uma classe podemos defini-la
com o modificador final.
Podemos usar o modificador final para evitar que um método seja sobrescrito
pelas sub-classes.
Interface
Interface é um recurso muito utilizado em Java. Assim, boa parte da API do Java
éformada por Interfaces.
Uma classe indica que vai implementar uma interface através da palavra implements.
Dessa forma, a classe tem que definir todos os métodos da interface. Caso a classe não
defina os métodos da interface, ocorrerá erro de compilação, indicando que a classe deve
ser abstract.
Exemplo:
// para o cliente
Implementar uma interface é como assinar um contrato com o compilador que declara:
" Definirei todos os métodos especificados pela interface." Fonte : Deitel & Deitel
Uma classe pode implementar várias interfaces. É só separar o nomes das interfaces por
vírgula.
É permitido que uma mesma classe use o extends e o implements ao mesmo tempo. Ou
seja, a classe herda de uma classe mãe e implementa uma ou mais interfaces.
Não se pode criar objetos usando uma interface. No entanto, é possível ter variáveis do
tipo da interface referenciando objetos.
Exemplo:
Autenticavel a;
a = new Cliente();
5. Uma Interface pode estender outra interface (com extends) para criar uma
hierarquia de interfaces.
Procedimentos de Ensino
Fluxo da aula:
Estratégias de Aprendizagem
Realizar exercícios práticos que envolvam a criação e análise de programas que
implementem classe abstrata e interface.
DEITEL, Paul. Java: como programar (Biblioteca Virtual). 10. ed. São Paulo: Pearson,
2017. [Páginas: 316 – 317]
Interfaces
Recursos
Quadro branco e marcadores para quadro branco coloridos.
Recursos audiovisuais (computador com software específico e data-show).
Métodos concretos:
1) getPrimeiroNome()
2) getUltimoNome()
3) toString() è retorna o primeiro nome seguido do último nome
Método abstrato: getSalario()
Métodos:
1) setSalarioSemanal
2) toString() è retorna ?Chefe : ? seguido do primeiro nome, que
por sua vez, deverá ser seguido do último nome
3) para retornar o valor do salário semanal do chefe.
Classe concreta: Comissionado
Métodos:
1) setSalarioSemanal
2) setComissao
3) setQuantidade
Atributos privados:
horista.
Métodos:
1) setPeso
2) setHoras
Monte uma classe teste conforme abaixo. Observe o uso do método printf que permite
formatar o número de casas decimais.
Empregado e;
e = c;
e = h;
Avaliação
O aluno deverá resolver exercícios propostos sobre o tema nas referências bibliográficas
ou nas indicações dadas pelo professor da disciplina; ou Pesquisa, onde o professor pode
solicitar a pesquisa de um tema relacionado com os assuntos abordados na aula.
Considerações Adicionais
PROGRAMAÇÃO I - CCT0827
Semana Aula: 9
Unidade 3. Tratamento de Exceções
Tema
Tratamento de Exceções
Palavras-chave
Exceção, try/catch, finally, throw, throws
Objetivos
O aluno deverá ser capaz de:
Estrutura de Conteúdo
Introdução
Exemplo:
Note:
1. Blocos try...catch...finally
2. Comando throws
3. Comando throw
Bloco try...catch
try {
// Código a ser tratado
} catch(Exception e) {
// Código que será executado quando ocorrer a exceção
}
Nota:
int a, b, c;
Scanner t = new Scanner(System.in);
try {
a = t.nextInt();
b = t.nextInt();
c = a / b;
System.out.println(a + " / " + b + " = " + c);
} catch(Exception e) {
System.out.println("Erro: " + e.getMessage());
}
Que exceções podem acontecer?
Ao tratar várias exceções ... Os tratadores devem estar ordenados das subclasses para a
superclasse.
Bloco try...catch..finally
try {
// Código a ser tratado
} catch(Exception e) {
System.out.println("Erro: " + e.getMessage());
} finally {
// Esse código será sempre executado, independente
// se houve exceção ou não
}
Nota:
OU
1. Avisar que estamos cientes de que aquela exceção pode ocorrer, mas não
desejamos tratá-la.
Se escrevermos um programa para ler e imprimir arquivo texto ocorrerá exceção do tipo
FileNotFoundException ou IOException. Note que, neste caso, o Java não compila esse
código ! Para conseguirmos compilar usamos throws.
Como tratar situações de erro que são específicas dos nossos programas?
Exemplo:
Como podemos tratar a situação onde Largura ou Altura é menor ou igual a zero?
Veja como:
Se depararmos com uma situação na qual o objeto não pode ser criado, disparamos uma
exceção:
{
if (largura <= 0 || altura <= 0)
throw new Exception("Retangulo deve ter largura e altura maior que zero");
this.x = x;
this.y = y
this.largura = largura;
this.altura = altura;
}
Nota: Se largura ou altura forem menores ou iguais a zero a execução do construtor será
interrompida e a exceção será disparada.
Procedimentos de Ensino
Fluxo da aula:
Estratégias de Aprendizagem
Realizar exercícios práticos que envolvam a criação e análise de programas que
implementem tratamento de exceções.
DEITEL, Paul. Java: como programar (Biblioteca Virtual). 10. ed. São Paulo: Pearson,
2017. [Páginas: 201 – 202]
Tratamento de Exceções em Java - https://www.devmedia.com.br/tratando-excecoes-em-
java/25514
Recursos
Quadro branco e marcadores para quadro branco coloridos.
import java.util.*;
} // fim main
} // fim classe
Avaliação
O aluno deverá resolver exercícios propostos sobre o tema nas referências bibliográficas
ou nas indicações dadas pelo professor da disciplina; ou Pesquisa, onde o professor pode
solicitar a pesquisa de um tema relacionado com os assuntos abordados na aula.
Considerações Adicionais
PROGRAMAÇÃO I - CCT0827
Semana Aula: 10
Unidade 4. Tratamento de Dados Homogêneos
Tema
Tratamento de Dados Homogêneos
Palavras-chave
Vetor, Matrizes, Vetor de Objetos, ArrayList
Objetivos
O aluno deverá ser capaz de:
Estrutura de Conteúdo
Vetor
Outra diferença importante é que, ao declarar um vetor, NÃO definimos o seu tamanho.
Isso significa dizer que, ao declarar um vetor, o Java NÃO aloca espaço na memória para
o vetor.
Como vetor é um objeto, precisamos criá-lo com o operador new. Nesse momento
definimos o seu tamanho.
Assim como fazemos com variáveis comuns, também podemos inicializar vetores.
lista de valores: é uma lista cujos elementos são separados por vírgula
Exemplo :
Para criar vetores multidimensionais basta usar mais de uma dimensão na definição e na
criação do vetor:
float[][] matriz;
matriz = new float[10][20];
Usamos length para recuperar o tamanho do vetor.
Existe uma outra sintaxe do comando for para percorrer vetores. Essa forma é usada
apenas para ler os dados do vetor, mas não serve para alterar o vetor.
Vetor de objetos
Quando usamos um vetor de objetos, ao criar o vetor não estamos criando os objetos em
si, mas apenas referências para os objetos.
Além do vetor, cada objeto deve ser criado com o operador new.
public class EditorGrafico{
public static void main(String[] args) {
Retangulo[] retangulos;
retangulos = new Retangulo[3];
retangulos[0] = new Retangulo(40, 20);
retangulos[1] = new Retangulo(20, 20);
retangulos[2] = new Retangulo(10, 30);
}
}
Generics
Quando recuperamos um objeto de uma coleção temos que usar o cast. Isso ocorre
porque, na sua versão original, essas coleções trabalham com o tipo Object, e os métodos
que retornam dados das coleções também retornam o tipo Object.
1. Tem que sempre usar o cast para retornar ao tipo original que foi armazenado na
coleção;
2. Possibilita a inserção de objetos "errados" nas coleções (por exemplo, o
programador pode se enganar e inserir um objeto Turma em uma lista de Alunos).
O conceito de Generics veio para resolver esse problema. Podemos definir o tipo a ser
armazenado nas coleções colocando o nome do tipo desejado entre < e > logo após o
nome da coleção:
ArrayList<Aluno> alunos;
ArrayList<Float> notas;
ArrayList<String> palavras;
//lista
ArrayList<Conta> contas;
Para criar a coleção colocamos os símbolos <> logo após o nome da coleção:
Importante:
Podemos retirar o <> que o código compilará normalmente, mas o compilador Java
emitirá alguns avisos.
Exemplo:
// retorna Aluno!
Procedimentos de Ensino
Fluxo da aula:
Estratégias de Aprendizagem
Realizar exercícios práticos que envolvam a criação e análise de programas que
implementem vetores, vetores de objetos e ArrayList.
Matrizes
DEITEL, Paul. Java: como programar (Biblioteca Virtual). 10. ed. São Paulo: Pearson,
2017. [Páginas: 213 – 216]
ArrayList
DEITEL, Paul. Java: como programar (Biblioteca Virtual). 10. ed. São Paulo: Pearson,
2017. [Páginas: 225 – 227]
Recursos
Quadro branco e marcadores para quadro branco coloridos.
2) Faça um programa em Java que crie uma lista de alunos, sabendo que qualquer aluno
possui nome, matrícula e média. Depois de criada a lista, faça o que se pede:
Avaliação
O aluno deverá resolver exercícios propostos sobre o tema nas referências bibliográficas
ou nas indicações dadas pelo professor da disciplina; ou Pesquisa, onde o professor pode
solicitar a pesquisa de um tema relacionado com os assuntos abordados na aula.
Considerações Adicionais
PROGRAMAÇÃO I - CCT0827
Semana Aula: 11
Unidade 2 - Conceitos de orientação a objetos
Tema
Classe Abstrata e Interface
Palavras-chave
Classe abstrata, abstract, interface, implements
Objetivos
O aluno deverá ser capaz de:
Estrutura de Conteúdo
· Classe abstrata / abstract
· Operador instanceof
· Interface
Classe abstrata
São classes que representam abstrações e não objetos concretos do mundo que estamos
representando.
São usadas como moldes para a criação de outras classes e podem encapsular atributos e
comportamentos comuns.
No exemplo da concessionária temos:
Perguntas:
· Isso ocorre porque Veículo é uma abstração para Carro e Caminhão nessa
concessionária.
· Classes abstratas são definidas em Java com o uso da palavra abstract na sua
definição.
· Por não representarem objetos concretos, classes abstratas não podem ser
criadas com o operador new.
Exemplo :
this.modelo = modelo;
this.anoFabricacao = anoFabricacao;
}
}
· Para evitar que sejam criadas sub-classes a partir de uma classe podemos
defini-la com o modificador final.
· Podemos usar o modificador final para evitar que um método seja sobrescrito
pelas sub-classes.
Interface
Interface é um recurso muito utilizado em Java. Assim, boa parte da API do Java é
formada por Interfaces.
Uma classe indica que vai implementar uma interface através da palavra implements.
Dessa forma, a classe tem que definir todos os métodos da interface. Caso a classe não
defina os métodos da interface, ocorrerá erro de compilação, indicando que a classe deve
ser abstract.
Exemplo :
// para o cliente
Implementar uma interface é como assinar um contrato com o compilador que declara :
" Definirei todos os métodos especificados pela interface." Fonte : Deitel & Deitel
· Não se pode criar objetos usando uma interface. No entanto, é possível ter
variáveis do tipo da interface referenciando objetos.
Exemplo :
Autenticavel a;
a = new Cliente();
5. Uma Interface pode estender outra interface (com extends) para criar uma
hierarquia de interfaces.
Procedimentos de Ensino
1. Aula teórica (2 tempos) e prática (2 tempos)
2. Aula expositiva dialogada, interagindo o máximo com a turma, tanto na hora de expor
o conteúdo, quanto na hora de fazer e corrigir os exercícios.
3. Fluxo da aula :
Estratégias de Aprendizagem
Para que o aprendizado seja proveitoso, o aluno deve se envolver ativamente na
participação da aula, deve realizar as tarefas propostas, realizar testes por conta própria
nos programas desenvolvidos e compartilhar sua experiência/conclusão com todos.
Toda tarefa realizada pode ser conferida com o professor, para que haja certeza se está
ou não correta.
Indicação de Leitura Específica
Recursos
Quadro branco e marcadores para quadro branco coloridos.
Métodos concretos:
1) getPrimeiroNome()
2) getUltimoNome()
Métodos:
1) setSalarioSemanal
Métodos :
1) setSalarioSemanal
2) setComissao
3) setQuantidade
Atributos privados :
1) setPeso
2) setHoras
Monte uma classe teste conforme abaixo. Observe o uso do método printf que
permite formatar o número de casas decimais.
Empregado e;
e = c;
//Classe Quadrado
public Quadrado () {
this. lado = 0;
this.lado = l;
return lado;
}
public void setLado(double lado) {
return (4 * lado);
return "quadrado";
//Classe ConjuntoQuadrados
import java.util.Scanner;
{
private int n; // No. de quadrados
n = quant;
v = new Quadrado[n];
double lado;
//Item a)
System.out.println(v[i].getLado());
} // fim ordenar
// Classe TestaInterface
************************************************************************
*********/
}
// Interface
GABARITO :
2)
import java.util.Scanner;
}
}
public void listar()
{
System.out.println("\nLados dos quadrados : ");
for (int i = 0; i < v.length; i++)
System.out.println(v[i].getLado());
} // fim ordenar
///////////////
public Quadrado () {
this. lado = 0;
}
////////////////////////
////////////////////////////
/************************* TAREFAS :
1. Crie uma instância de ConjuntoQuadrados com 4 quadrados
2. Invoque o método inserir
3. Liste a coleção de quadrados
4. Ordene a coleção de quadrados
5. Liste a coleção novamente
************************************************************************
*********/
System.out.println("\nOrdenando...");
c.ordenar();
}
}
Avaliação
Testar e criar programas durante a aula.
Considerações Adicionais
PROGRAMAÇÃO I - CCT0827
Semana Aula: 12
Unidade 2 - Conceitos de orientação a objetos
Tema
Classe Abstrata e Interface
Palavras-chave
Classe abstrata, interface
Objetivos
O aluno deverá ser capaz de:
Estrutura de Conteúdo
A interface Comparable possui o método abstrato compareTo declarado na interface da
seguinte forma :
int compareTo(Object o)
Procedimentos de Ensino
1. Aula teórica (2 tempos) e prática (2 tempos)
2. Aula expositiva dialogada, interagindo o máximo com a turma, tanto na hora de expor
o conteúdo, quanto na hora de fazer e corrigir os exercícios.
3. Fluxo da aula :
· Correção de exercícios, se houver.
Estratégias de Aprendizagem
Para que o aprendizado seja proveitoso, o aluno deve se envolver ativamente na
participação da aula, deve realizar as tarefas propostas, realizar testes por conta própria
nos programas desenvolvidos e compartilhar sua experiência/conclusão com todos.
Toda tarefa realizada pode ser conferida com o professor, para que haja certeza se está
ou não correta.
Recursos
Quadro branco e marcadores para quadro branco coloridos.
Cientes de que estamos comparando quadrados, implemente este método para retornar :
3) Implemente a classe Banco que possui: código, nome e um conjunto de contas (pode
ser conta corrente, conta poupança ou conta especial). Implemente métodos para:
Veja que será necessário usar as classes para conta corrente, conta poupança e conta
especial, como solicitado em tarefa da aula 10.
Avaliação
Testar e criar programas durante a aula.
Considerações Adicionais
PROGRAMAÇÃO I - CCT0827
Semana Aula: 13
Unidade 3 - Tratamento de exceções
Tema
Tratamento de exceções
Palavras-chave
Exceção, try/catch , finally, throw e throws
Objetivos
O aluno deverá ser capaz de:
Estrutura de Conteúdo
· Exceção
Introdução
Exemplo :
3 System.out.println(3/0);
4 System.out.println("imprime");
5 }
6}
at DividePorZero.main(DividePorZero.java:3)
Note :
2) A JVM procura na pilha de chamadas dos métodos quem trata aquela exceção e
não encontra.
1. Blocos try...catch...finally
2. Comando throws
3. Comando throw
Bloco try...catch
try {
} catch(Exception e) {
Comentários :
3. O e, mostrado na linha do catch, referencia a exceção que ocorreu. Com ela é possível
acessar informações sobre essa exceção.
int a, b, c;
try {
a = t.nextInt();
b = t.nextInt();
c = a / b;
} catch(Exception e) {
Ao tratar várias exceções ... Os tratadores devem estar ordenados das subclasses para a
superclasse.
Bloco try...catch..finally
try {
// Código a ser tratado
} catch(Exception e) {
} finally {
Comentários :
1. A variável e referencia a exceção que ocorreu. Com ela é possível acessar informações
sobre essa exceção, como por exemplo, com o uso do método getMessage.
OU
2) Avisar que estamos cientes de que aquela exceção pode ocorrer, mas não
desejamos tratá-la.
String linha;
linha = f.readLine();
System.out.println(linha);
linha = f.readLine();
f.close();
Como tratar situações de erro que são específicas dos nossos programas ?
Como podemos tratar a situação onde Largura ou Altura é menor ou igual a zero?
Veja como :
· Criamos uma instância da classe Exception com o operador new;
· Disparamos a exceção com o comando throw;
· Declaramos que o método irá disparar uma exceção com o comando throws.
A classe Exception é a classe mãe de todas as exceções que nos interessa. Ela possui
alguns métodos úteis e comuns a todas as exceções:
Exemplo :
Se depararmos com uma situação na qual o objeto não pode ser criado, disparamos
uma exceção:
throw new Exception("Retangulo deve ter largura e altura maior que zero");
this.x = x;
this.y = y
this.largura = largura;
this.altura = altura;
Procedimentos de Ensino
1. Aula teórica (2 tempos) e prática (2 tempos)
2. Aula expositiva dialogada, interagindo o máximo com a turma, tanto na hora de expor
o conteúdo, quanto na hora de fazer e corrigir os exercícios.
3. Fluxo da aula :
Estratégias de Aprendizagem
Para que o aprendizado seja proveitoso, o aluno deve se envolver ativamente na
participação da aula, deve realizar as tarefas propostas, realizar testes por conta própria
nos programas desenvolvidos e compartilhar sua experiência/conclusão com todos.
Toda tarefa realizada pode ser conferida com o professor, para que haja certeza se está
ou não correta.
Recursos
Quadro branco e marcadores para quadro branco coloridos;
import java.util.*;
} // fim main
} // fim classe
Avaliação
Testar, analisar e criar programas durante a aula.
Considerações Adicionais
PROGRAMAÇÃO I - CCT0827
Semana Aula: 14
Unidade 4 - Coleções
Tema
Coleções
Palavras-chave
Coleção, ArrayList, Wrapper
Objetivos
O aluno deverá ser capaz de:
Estrutura de Conteúdo
Introdução
· Collection
· Set
· List: define métodos para manipulação de listas.
· Mapa
Classe ArrayList
O ArrayList é uma classe concreta que implementa a interface List, ou seja, uma lista
de objetos. Cada objeto armazenado no ArrayList possui um índice e através desse
índice, é possível recuperar determinado objeto da lista.
Além dos métodos definidos na interface Collection, a interface List acrescenta mais
alguns métodos importantes:
Método / Descrição :
import java.util.ArrayList;
lista.add("Dinardo");
lista.add("Rosa");
lista.add("Dinardo");
lista.add("Rafael");
lista.add("Luís");
lista.remove("Carlos");
lista.remove("Rafael");
lista.remove("Dinardo");
import java.util.ArrayList;
lista.add("Dinardo");
lista.add("Rosa");
lista.add(10);
lista.add(2465);
lista.add(3.14159);
lista.add('A');
}
Considere lista do exemplo anterior, então podemos ter :
System.out.println(lista.get(0));
System.out.println(lista.get(3));
System.out.println(lista.get(4));
System.out.println(lista.get(5));
lista.set(1, 200);
lista.set(2, "Andre");
lista.remove(2);
lista.remove(4);
· for
· for each
· Iterator ou ListIterator
lista.add("Dinardo");
lista.add("Rosa");
lista.add(10);
lista.add(2465);
lista.add(3.14159);
lista.add('A');
System.out.println(lista.get(i));
import java.util.ArrayList;
lista.add("Dinardo");
lista.add("Rosa");
lista.add(10);
lista.add(2465);
lista.add(3.14159);
lista.add('A');
System.out.println(obj);
Como é possível perceber, o ListIterator permite varrer a lista do início para o fim ou
vice-versa.
lista.add("Dinardo");
lista.add("Rosa");
lista.add(10);
lista.add(2465);
lista.add(3.14159);
lista.add('A');
ListIterator it = lista.listIterator();
while (it.hasNext()) {
System.out.println(obj);
Exemplo :
public class Aluno {
this.matricula = matricula;
this.nome = nome;
import java.util.ArrayList;
System.out.println(alunos.get(i));
Importante:
Para usar os métodos:
o boolean remove(Object)
o boolean contains(Object)
o int indexOf(Object)
o int lastIndexOf(Object)
boolean equals(Object)
Caso esse método não seja implementado, os métodos acima não funcionarão
corretamente. Isso acontece porque os métodos acima usam o método equals para
procurar o objeto desejado.
Classe Wrapper
· Em Java os tipos básicos int, long, byte, short, float, double, char e boolean
não são objetos.
· Para resolver esse problema foram definidas classes wrapper, ou seja, classes
que encapsulam os tipos básicos para que estes possam ser tratados como objetos.
Integer int
Long long
Byte byte
Short short
Float float
Double double
Character char
Boolean boolean
Na maior parte das vezes, o Java converte o tipo básico em uma classe wrapper
(boxing) ou uma classe wrapper em um tipo básico (unboxing).
Exemplo :
int x = 10;
Integer a = 10;
Integer b = x + 1;
int y = a;
a = a + 1;
b++;
Nas classes wrapper estão definidos métodos para converter tipos básicos em classes
(boxing) e classes em tipos básicos (unboxing).
Exemplo : Seja o trecho abaixo. Note que para armazenar esses valores são usadas as
classes Integer, Double e Character.
lista.add(10);
lista.add(2465);
lista.add(3.14159);
lista.add('A');
lista.add('C');
Quando temos na lista objetos do tipo Integer, Double, Character, etc., temos que usar o
casting para obter o valor de dentro do objeto.
lista.add(2465);
lista.add(3.14159);
lista.add('A');
lista.add('C');
As classes wrapper possuem, ainda, métodos estáticos úteis para converter strings em
tipos específicos. Caso a conversão não seja possível, será disparada uma exceção.
Procedimentos de Ensino
1. Aula teórica (2 tempos) e prática (2 tempos)
2. Aula expositiva dialogada, interagindo o máximo com a turma, tanto na hora de expor
o conteúdo, quanto na hora de fazer e corrigir os exercícios.
3. Fluxo da aula :
Estratégias de Aprendizagem
Para que o aprendizado seja proveitoso, o aluno deve se envolver ativamente na
participação da aula, deve realizar as tarefas propostas, realizar testes por conta própria
nos programas desenvolvidos e compartilhar sua experiência/conclusão com todos.
Toda tarefa realizada pode ser conferida com o professor, para que haja certeza se está
ou não correta.
Recursos
Quadro branco e marcadores para quadro branco coloridos.
1) Faça um programa em Java que leia strings e armazene-as em uma lista até que o
usuário digite uma string vazia. Não permita que sejam armazenadas strings
duplicadas na lista. Ao final, imprima a lista na ordem inversa.
2) Faça um programa em Java que leia uma string e imprima quantas vezes as letras
de A a Z aparecem na string. Dica: Use uma lista para armazenar as letras lidas e
outra lista para contar quantas vezes as letras aparecem.
GABARITO :
2)
package ex46;
import java.util.ArrayList;
import java.util.Scanner;
// Le a string
System.out.println("Digite uma string:");
str = t.nextLine();
// Inserir o 1 no contador
contador.add(1);
}
}
}
System.out.println("Estatistica:");
for (int i = 0; i < letras.size(); i++)
System.out.printf("%c %d\n", letras.get(i), contador.get(i));
}
}
Avaliação
Testar, analisar e criar programas durante a aula.
Considerações Adicionais
PROGRAMAÇÃO I - CCT0827
Semana Aula: 15
Unidade 4 - Coleções
Tema
Coleções
Palavras-chave
Coleção, ArrayList, Wrapper, Generics
Objetivos
O aluno deverá ser capaz de:
Estrutura de Conteúdo
Generics
Como vimos nos exemplos anteriores, quando recuperamos um objeto de uma coleção
temos que usar o cast. Isso ocorre porque, na sua versão original, essas coleções
trabalham com o tipo Object, e os métodos que retornam dados das coleções também
retornam o tipo Object.
1. Tem que sempre usar o cast para retornar ao tipo original que
foi armazenado na coleção;
O conceito de Generics veio para resolver esse problema. Podemos definir o tipo a ser
armazenado nas coleções colocando o nome do tipo desejado entre < e > logo após o
nome da coleção:
ArrayList<Aluno> alunos;
ArrayList<Float> notas;
ArrayList<String> palavras;
ArrayList<Conta> contas;
Para criar a coleção colocamos os símbolos <> logo após o nome da coleção:
Exemplo:
2. Aula expositiva dialogada, interagindo o máximo com a turma, tanto na hora de expor
o conteúdo, quanto na hora de fazer e corrigir os exercícios.
3. Fluxo da aula :
Estratégias de Aprendizagem
Para que o aprendizado seja proveitoso, o aluno deve se envolver ativamente na
participação da aula, deve realizar as tarefas propostas, realizar testes por conta própria
nos programas desenvolvidos e compartilhar sua experiência/conclusão com todos.
Toda tarefa realizada pode ser conferida com o professor, para que haja certeza se está
ou não correta.
Recursos
Quadro branco e marcadores para quadro branco coloridos.
Avaliação
Testar, analisar e criar programas durante a aula.
Considerações Adicionais
PROGRAMAÇÃO I - CCT0827
Semana Aula: 16
Unidades 1 a 4 - Exercícios variados
Tema
Exercícios
Palavras-chave
Orientação a Objetos, herança, polimorfismo, ArrayList
Objetivos
O aluno deverá ser capaz de:
Estrutura de Conteúdo
Todo o conteúdo ensinado na disciplina
Procedimentos de Ensino
1. Aula teórica (2 tempos) e prática (2 tempos)
2. Aula expositiva dialogada, interagindo o máximo com a turma, tanto na hora de expor
o conteúdo, quanto na hora de fazer e corrigir os exercícios.
3. Fluxo da aula :
Sugestão :
Estratégias de Aprendizagem
Para que o aprendizado seja proveitoso, o aluno deve se envolver ativamente na
participação da aula, deve realizar as tarefas propostas, realizar testes por conta própria
nos programas desenvolvidos e compartilhar sua experiência/conclusão com todos.
Toda tarefa realizada pode ser conferida com o professor, para que haja certeza se está
ou não correta.
Recursos
Quadro branco e marcadores para quadro branco coloridos.
Avaliação
Testar, analisar e criar programas durante a aula.
Considerações Adicionais