LPB – Téc. em Informática Integrado ao Ensino Médio – 2019

Linguagem de Programação II (LPB)
Téc. em Informática Integrado ao Ensino Médio

Aprendizagem de conceitos, métodos e técnicas referentes ao desenvolvimento de software com interface gráfica para o usuário, considerando Programação Estruturada, Programação Orientada a Eventos e Programação Orientada a Objetos.

Esta disciplina possui caráter teórico/prático, abordando  os conceitos fundamentais em Programação Orientada a Objetos e de aplicativos Desktop na Linguagem Java.

2019

O conteúdo é ministrado em 4 aulas semanais, sendo 4 aulas às Terças-feiras das 13:30h às 17:05h.

2º Semestre
Sem. Data Materiais e Fatos                                  ( P = Previsto   C = Continuação)
 01  30/07 (Ter.)

– Introdução ao desenvolvimento de software em equipe. Conceitos de trabalho paralelo e com controle de versões.
– Exploração de recursos de integração com ferramentas de controle de versões e trabalho em equipe existentes no Netbeans.

 02  06/08 (Ter.) Projeto #1 – Desenvolvimento de software em camadas, em equipe e sem persistência de dados.
Equipes
G1 – Leo Maciel/ Thales/ Leticia Lucca
G2 – Rubia / Luciany / Leo Henrique
G3 – Thiago R. / Thiago L. / Matheus
G4 – Raissa / Rafael / Lays
G5 – Leticia Alves / Raquel / Paola
 03  13/08 (Ter.) Projeto #1 – Desenvolvimento de software em camadas, em equipe e sem persistência de dados.
 – Revisões dos conceitos e técnicas pertinentes.
– Revisões e dicas para realização das programações nas camadas (entidade, controle e gui).
 04  20/08 (Ter.)  – Desenvolvimento do Projeto #1 – Jogo da Velha
 05  27/08 (Ter.) – Desenvolvimento do Projeto #1 – Jogo da Velha
 06  03/09 (Ter.) – Desenvolvimento do Projeto #1 – Jogo da Velha
 07   10/09 (Ter.) – Desenvolvimento do Projeto #1 – Jogo da Velha
 08  17/09 (Ter.) – Desenvolvimento do Projeto #1 – Jogo da Velha
 09  24/09 (Ter.)  A3. Avaliação escrita no 3º Bimestre
 10  01/10 (Ter.)  A3R. Avaliação de Recuperação
  11  08/10 (Ter.)  Vistas e correção da avaliação
  12  15/10 (Ter.)  Feriado – Dia do Professor
  13   22/10 (Ter.)  Atividades da SNCT 2019
  14   29/10 (Ter.)  08. Introdução a Threads
  15   05/11 (Ter.)  – Desenvolvimernto do projeto #2 – Jogo Caça Niquel com Threads
 16   12/11 (Ter.)  – Desenvolvimernto do projeto #2 – Jogo Caça Niquel com Threads
 17   19/11 (Ter.)  – Bancas de TCC
 18   26/11 (Ter.)

ATENÇÃO! – Em função de missão de trabalho do professor da disciplina, quanto a apresentação de trabalhos no CONICT em Sorocaba esta aula será supervisionada pelo Prof. Cecílio.

 

Todos os alunos devem permanecer no laboratório, utilizando o tempo de aula dispopnível para processar ajustes nos documentos de TCC, conforme solicitações das bancas. 

 

Como se trata de horário de aula e de concessão extraordinária de tempo para atividade não necessariamente referente a programação em Java (algo que seria fácil para este professor elaborar e cobrar dentro deste tempo), os alunos devem usar essa oportunidade dentro do laboratório.

 19  03/12 (Ter.)  – A4. Avaliação escrita no 4º Bimestre
 20  10/12( Ter.)  
1º Semestre
Sem. Data Materiais e Fatos                                  ( P = Previsto   C = Continuação)
 01  05/02 (Ter.)   Revisão de conceitos fundamentais da programação de computadores e da programação em Java, incluindo atividades de codificação, produção de Bytecode e execução de aplicativo do tipo console.
 02  12/02 (Ter.)   Apresentação da turma. Acesse o link no QRCodeQR code for this padlet
ou clieque AQUI!00 – Apresentação da Disciplina  
– Objetivos, Conteúdo Programático, Método de Avaliação, Método de Recuperação, Bibliografias básica e complementar, tecnologias e ferramentas para o curso.
01 – Revisão de Programação Estruturada em Java 
– Paradigmas de Programação,  Algumas Boas Práticas de Programação, Revisão de programação básica e estruturada em Java, Entrada e Saída com Caixas de Diálogo. 
Sugestão de material complementar: Aula sobre um primeiro programa em Java (Gustavo Guanabara).– Solicitação de criação de Learning Journals individuais da disciplina.
 03  19/02 (Ter.)  – Vista dos Learning Journals criados, incluindo post sobre a aula de 12/02.
 – Exercícios de programação de Entrada e Saída com Caixas de Diálogo.
 04  26/02 (Ter.)  02 – Introdução à Orientação a Objetos em Java
– Conceituação de Classes, Objetos, Atributos, Métodos, Encapsulamento  
– Exercícios de Orientação a Objetos básica.
 05  05/03 (Ter.)   Feriado de Carnaval
 06  12/03 (Ter.)   – Conceituação de Herança, Classes Abstratas e Métodos Abstratos.
  – Exercícios de Orientação a Objetos envolvendo Herança.
  03 – Introdução ao Polimorfismo e Interfaces ATENÇÃO: ATIVIDADE para 26/03/2019
Realizar as lições de 1 a 10 do tutorial Game Programming for Beginners – Minitennis. 
Para cada lição realizada, escreva um Post no seu Learning Journal da disciplina relatando, brevemente, o que você aprendeu. O tutorial se encontra em Inglês. No caso, se quiser, use o Google Translator!
 07  19/03 (Ter.) Revisão de conceitos e explicação da estrutura de classes de implementação do jogo Minitennis. Inclui conceitos de desenho de gráficos 2D em Java. Tempo para dedicação à implementação do Jogo Minitennis.
Relacionamento entre classes (declaração de variáveis do tipo de uma como membros de outra).
 08  26/03 (Ter.) ATENÇÃO: Vistas do software Minitennis
04 – Vetores e Matrizes básicas em Java
 –
Exercícios sobre vetores e matrizes.
 09  02/04 (Ter.)  – Exercícios sobre vetores e matrizes.
 05a – Introdução a componentes visuais Java SWING e Java FX
–  Vídeo aula com material complementar ( Introdução ao Swing e JavaFX – Gustavo Guanabara )
– Visão Geral de Java SWING
– Tutoriais de exploração de componentes Java SWING
a – Hello SWING
b – Caixas de Texto JTextField
c – Campos para senha (JPasswordField)e de seleção (JCheckBox)
d – Campos de seleção Radio (JRadioButton) 
e – Exibição de Imagens em Rótulos (JLabel com ImageIcon)
f) Caixas de Combinação (JComboBox)
ATENÇÃO!!  – Realize os tutoriais acima e para cada um deles escreva um post no seu blog da disciplina (Learning Journal), informando o que você aprendeu.
 10  09/04 (Ter.)  AEB1. Avaliação Escrita do 1º Bimestre.
  11  16/04 (Ter.)  05b – Tutoriais de exploração de componentes Java SWING (continuação) ( P )
g)  Botões de Alternar (JTroggleButton)
h) 
Tabelas de dados em tela (JTable)
i)  Menus e Aparência (Look & Feel) (JMenu)
  12  23/04 (Ter.)    ATENÇÃO! – ATIVIDADE PARA SER VISTA NESTE DIA (Visto conforme programado!!!)
Considere o projeto que viemos trabalhando em sala de aula sobre a revenda de veículos (AlphaCar). Considere também o tutorial sobre “Tabelas de Dados em Tela (JTable). Faça o seguinte:
a) Crie no projeto AlphaCar um novo pacote: “alphacar.gui”  (GUI aqui representa Graphical User Interface);
b) Dentro do pacote “alphacar.gui” crie uma classe que estende JFrame, chamada VeiculosForm.java. Utilize o assistente do Netbeans para criar a classe JFrame;
c) Desenhe na classe VeiculosForm uma tela para possibilitar o registro de Veículos de forma semelhante ao que foi realizado para Product no tutorial JTable – Traduza os nomes dos campos de forma pertinente. O campo Marca deve ser um JComboBox com algumas marcas disponíveis para seleção.
d) Utilize um objeto da classe Veículo para trafegar os dados dos componentes de edição (TextField, ComboBox, etc) para a tabela JTable e vice-versa. Ou seja, ao clicar no botão Ok (Gravar), você deve instanciar um Veículo, pegar os valores dos campos e preencher os dados do objeto Veículo. Depois, você deve usar este mesmo objeto Veículo para preencher as linhas e colunas do JTable. Ao clicar numa linha preenchida do JTable você deve instanciar um objeto Veículo, copiar os dados das células da linha selecionada para os atributos desse objeto e posteriormente pegar os dados desse objeto para preencher os campos editáveis do formulário.   06 – Exceções em Java
ATENÇÃO! – Trabalho extra-classe com entrega para 07/05/19. Considere o enunciado do exercício no final do conjunto de slides sobre exceções em Java (Validação de CPF pelo Módulo 11). Considere também o tutorial JTable e o exercício anterior de criação de interface para a classe Veículo. Cria a interface para PessoaFísica em alphacar.gui (PessoaFisicaForm.Java). Implemente as ações de registro de dados na JTable a partir dos campos. Por fim, implemente a validação do CPF com Exceções.
  13  30/04 (Ter.)   – Competições esportivas
  14  07/05 (Ter.)  Exercícios envolvendo Exceções com aplicação do algoritmo de cálculo de dígito verificador Módulo 11.
Validação de CPF
  15  14/05 (Ter.)

ATENÇÃO -> Atividade para ser realizada em laboratório ao longo do horário de aula. Ela será supervisionada por professor substituto (Prof. Cecílio).

 >>>> Você irá realizar um tutorial sobre como conectar um programa Java a um Banco de Dados SQL. Neste caso, por questões de simplificação é utilizado o Apache Derby. Nada mais é do que um BD SQL como o MySQL, PostgreSQL e outros, só que é para programas mais simples, é mais leve e já vem integrado ao Netbeans. Também utilizaremos o JPA (Java Persistence API) que é uma forma mais simples de trabalhar com banco de dados do que o JDBC que acredito que vocês tenham usado no passado.

 Passos a realizar:
   1 – Cada aluno deve criar o seu projeto para execução deste tutorial, usando o seguinte modelo de nome: TutorialJPA-  (ex. TutorialJPA-OsvandreMartins).

   2 – Clique >>> AQUI <<< para acessar o tutorial da ORACLE, sobre acesso a BD Derby com JPA e realize os passos, implementando os programas dentro do projeto criado no passo anterior. Obs.: O tutorial está em Inglês, mas basta abrir com o Google Chrome e comandar a tradução.

   3 – Produza um Post no seu blog resumindo o que você aprendeu com o tutorial. Não é pra copiar o texto do tutorial, apenas escrever uma redação informando o que você aprendeu frente ao que não sabia.

     OBS: O prof. Osvandre irá verificar os Posts nos blogs no final do dia, para verificar quem realizou esta tarefa que, assim como as outras, valerá nota de trabalho no bimestre.

 

  16  21/05 (Ter.)   07 – Coleções e Iteradores 

– Alternativas mais sofisticadas que vetores e matrizes, para lidar com conjuntos de objetos.
08 – Padrões de Desenvolvimento e Conexão com Banco de Dados 
– Padrões de projeto e Padrões arquiteturais
– Desenvolvimento em camadas (3-Tier e MVC)
– Conexão com Bancos de Dados usando JPA
 17  28/05 (Ter.)  
 18  04/06 (Ter.)  
 19  11/06 (Ter.)  
 20  18/06 (Ter.)  
 21  DD/MM (ds)