• Nenhum resultado encontrado

PROJETO PEDAGÓGICO DE CURSOS

N/A
N/A
Protected

Academic year: 2021

Share "PROJETO PEDAGÓGICO DE CURSOS"

Copied!
9
0
0

Texto

(1)

PROJETO PEDAGÓGICO DE

CURSOS

BURI

TREINAMENTOS

MANAUS-AM

(2)

PACOTES DE TREINAMENTOS

BURI

TECH

A

Buri

tech desenvolveu um grupo de pacotes de treinamentos, aqui

chamados de

Buri

Packs, que permitem que nossos alunos tenham acesso

formal a grupos de tecnologias e métodos modernos, utilizados no projeto e

desenvolvimento de soluções de software.

A seguir, apresentamos nossos

Buri

Packs e suas ementas.

Buri

Pack Programador Java – 50

Objetivo:

Neste

buri

pack, preparamos três cursos de Java, formando 60h de aula.

Vamos desde o início do Java e da Orientação a Objetos e aprofundamos em

conceitos como Generics, Collections, Sockets, Threads, JUnit e Padrões de projeto.

Cursos:

BC 51 – Java para Iniciantes (20h)

BC 52 – Java Avançado (20h)

BC 53 – Testes de Unidade e Padrões de Projeto em Java (20h)

(3)

BURI

PACK – PROGRAMADOR JAVA

BC 51

– JAVA PARA INICIANTES (20H)

OBJETIVOS: Nesse buricurso, você inicia a viagem pelo mundo da

programação JAVA, aprendendo entendendo como converter aplicar os

conceitos de orientação a objetos, transformando teoria em código-fonte

robusto e de qualidade.

PRÉ-REQUISITOS:

Conhecimento de lógica de programação e

Alguma linguagem de programação como C ou C++

EMENTA:

1. Apresentando o JAVA

 Uma breve história do Java  Máquina Virtual

 Java lento? Hotspot e JIT

 Versões do Java e a confusão do Java2

 JVM, JRE ou JDK? O que devo baixar?

 Onde usar e os objetivos do Java  Especificação versus

implementação

 Como o FJ-11 está organizado  Compilando o primeiro programa  Executando seu primeiro programa 2. Variáveis primitivas e Controle de fluxo

 Declarando e usando variáveis  Tipos primitivos e valores  Exercícios: Variáveis e tipos

primitivos

 Discussão em aula: convenções de código e código legível

 Casting e promoção  O if e o else

 O While  O For

 Controlando loops  Escopo das variáveis  Um bloco dentro do outro  Para saber mais

 Exercícios: Fixação de sintaxe  Desafios: Fibonacci

3. Orientação a objetos básica  Criando um tipo

 Uma classe em Java  Criando e usando um objeto  Métodos

 Métodos com retorno  Objetos são acessados por

referências

4. Trabalhando com vetores  Definções

 Arrays de referências  Percorrendo uma array

 Percorrendo uma array no Java 5.0 5. Modificadores de acesso e atributos de

classe  Controlando o acesso  Encapsulamento  Getters e Setters  Construtores  A necessidade de um construtor  Atributos de classe

6. Herança, reescrita e polimorfismo  Repetindo código?

 Reescrita de método

 Invocando o método reescrito  Polimorfismo

(4)

7. Classes Abstratas  Fundamentos de abstração

Métodos abstratos

Testando

8. Interfaces

Problema

Dificuldade no aprendizado de interfaces

Implementação

Herança

Relações abstratas

BC 52

– JAVA AVANÇADO (20H)

OBJETIVOS: Neste

buri

curso, você aprofunda seus conhecimentos na API

Java SE, aprendendo a implementar componentes avançados, como:

Collections, Maps, Generics, Exceptions, Sockets e Threads

PRÉ-REQUISITOS:

BC 51 – Java para iniciantes; ou

Conhecimentos em POO em Java, Herança, Encapsulamento,

Polimorfismo, Classes Abstratas e Interfaces.

EMENTA:

1. Exceções e controle de erros  Exceções de Runtime mais

comuns

 Outro tipo de exceção: Checked Exceptions

 Um pouco da grande família Throwable

 Mais de um erro  Lançando exceções

 O que colocar dentro do try?  Criando seu próprio tipo de

exceção  Usando finally

2. Pacotes - Organizando suas classes e bibliotecas

 Organização  Diretórios  Import

 Acesso aos atributos, construtores e métodos

 Usando o Eclipse com pacotes

3. Ferramentas: jar e javadoc

 Arquivos, bibliotecas e versões  Gerando o JAR pelo Eclipse  Javadoc

 Gerando o Javadoc 4. O pacote java.lang

 Pacote java.lang

 Um pouco sobre a classe System  java.lang.Object

 Casting de referências  Métodos do java.lang.Object:

equals e toString

 Integer e classes wrappers (box)  Autoboxing no Java 5.0

 java.lang.String  java.lang.Math 5. Pacote java.io

 Conhecendo uma API

(5)

 InputStream, InputStreamReader e BufferedReader  Lendo Strings do teclado

 A analogia para a escrita: OutputStream  Uma maneira mais fácil: Scanner e PrintStream 6. Collections framework

 Arrays são trabalhosos, utilizar estrutura de dados  Listas: java.util.List

 Listas no Java 5 e Java 7 com Generics  A importância das interfaces nas coleções  Ordenação: Collections.sort

 Exercícios: Ordenação  Conjunto: java.util.Set

 Principais interfaces: java.util.Collection  Percorrendo coleções no Java 5

 Para saber mais: Iterando sobre coleções com java.util.Iterator  Mapas - java.util.Map

 Properties

 Equals e HashCode

7. Programação Concorrente e Threads  Threads

 Escalonador e trocas de contexto  Garbage Collector  Classes Anônimas 8. Sockets  Protocolo  Porta  Socket  Servidor  Cliente

(6)

BC 53

– TESTES DE UNIDADE e PADRÕES DE PROJETO EM JAVA (20H)

OBJETIVOS: Neste

buri

curso, desenvolvemos uma aplicação que consome

um Web Serevice, exibe gráficos na Web e utiliza testes automatizados, para

discutirmos boas práticas de programação, padrões de projeto e TDD,

utilizando recursos avançados do JSE, como reflection.

PRÉ-REQUISITOS:

BC 51 – Java para iniciantes; e

BC 52 – Java Avançado; ou

Conhecimentos em Programação Orientada a Objetos e Java SE

Básico.

EMENTA:

1. Datas e objetos imutáveis  A bolsa de valores  Candlesticks: O Japão e o arroz  O projeto Tail  O projeto Argentum: modelando o sistema  Trabalhando com dinheiro  Palavra chave final  Imutabilidade de objetos  Trabalhando com datas: Date e

Calendar

2. Testes Automatizados

 Nosso código está funcionando corretamente?

 Definindo melhor o sistema e descobrindo mais bugs  Testes de Unidade  JUnit

 Anotações

 JUnit4, convenções e anotação 3. Trabalhando com XML

 Os dados de modelos  O formato XML

 Lendo XML com Java de maneira difícil, o SAX  XStream

 Test Driven Design - TDD 4. Acessando um Web Service

 Integração entre sistemas

 Consumindo dados de um Web Service

 Criando o cliente Java

 Exercícios: Nosso cliente Web Service

 Discussão em aula: Como testar o cliente do web service? 5. Introdução ao JSF e Primefaces

 Desenvolvimento desktop ou web?

 Características do JSF  A primeira página com JSF  Interagindo com o modelo:

Managed Beans

 Recebendo informações do usuário

 A lista de negociações  Formatação de Data com JSF  Exercícios: p:dataTable para

listar as Negociações do Web Service

 Para saber mais: paginação e ordenação

 Exercício opcional: adicione paginação e ordenação à tabela

6. Gráficos interativos com Primefaces

 Por que usar gráficos?  Gráficos com o Primefaces  Propriedades para personalizar

(7)

 Definição do modelo do gráfico

 Isolando a API do Primefaces: baixo acoplamento

 Para saber mais: Design Patterns Factory Method e Builder  Exercícios: Gráficos com Primefaces

7. Aplicando Padrões de projeto  O Design Pattern Strategy  O Design Pattern Decorator 8. A API de Reflection

 Escolhendo qual gráfico plotar

 Exercícios: permitindo que o usuário escolha o gráfico  Montando os indicadores dinamicamente

 Introdução a Reflection  Por que reflection?

 Constructor, Field e Method  Melhorando nosso ArgentumBean

 Exercícios: indicadores em tempo de execução  Melhorando a orientação a objetos

(8)

BC 54

– PROGRAMAÇÃO JAVA WEB (40h)

OBJETIVOS:

Apresentar aos nossos alunos os conceitos iniciais a cerca do desenvolvimento

de aplicações web, explicando sua arquitetura, componentes e aplicação dos

principais padrões de projeto.

PRÉ-REQUISITOS:

BC 51 – JAVA PARA INICIANTES; e

BC 52 – JAVA AVANÇADO; ou

Bons conhecimentos da linguagem Java, orientação a objetos, APIs

java.util e java.io.

EMENTA:

1. Enfrentando o Java na Web

 O grande mercado do Java na Web  Livros e sites interessantes

2. O que é Java EE?

 Como o Java EE pode te ajudar a enfrentar problemas

 Algumas especificações do Java EE

 Servidor de Aplicação  Servlet Container

 Exercícios: Preparando o Tomcat  Preparando o Tomcat em casa  Outra opção: Jetty

 Integrando o Tomcat no Eclipse  O plugin WTP

 Exercícios: Configurando o Tomcat no Eclipse

3. Novo projeto Web usando Eclipse

 Novo projeto

 Exercícios: Novo projeto web  Análise do resultado final

 Criando nossas páginas e HTML Básico

 Exercícios: primeira página  Para saber mais: configurando o

Tomcat sem o plugin  Algumas tags HTML

4. Tags customizadas com Tagfiles

 Porque eu precisaria de outras tags além da JSTL?

 Calendários com jQuery

 Criando minhas próprias tags com Tagfiles

 Exercícios: criando nossa própria tag para calendário

 Para saber mais: Outras taglibs no mercado

 Desafio: Colocando displaytag no projeto

5. Recursos importantes: Filtros

 Reduzindo o acoplamento com Filtros

 Exercícios opcionais: Filtro para medir o tempo de execução  Problemas na criação das

conexões

 Tentando outras estratégias  Reduzindo o acoplamento com

Filtros

 Exercícios: Filtros

6. Spring MVC

 Porque precisamos de frameworks MVC?

 Um pouco de história  Configurando o Spring MVC  Criando as lógicas

 A lógica Olá Mundo!

 Para saber mais: Configurando o Spring MVC em casa

 Exercícios: Configurando o Spring MVC e testando a configuração

(9)

 Adicionando tarefas e passando parâmetros

 Exercícios: Criando tarefas

 Incluindo validação no cadastro de tarefas

 Validação com Bean Validation  Exercícios: Validando tarefas  Listando as tarefas e

disponibilizando objetos para a view

 Exercícios: Listando tarefas  Redirecionando a requisição para

outra ação

 Exercícios: Removendo e alterando tarefas

 Desafio - Calendário

 Melhorando a usabilidade da nossa aplicação

 Utilizando AJAX para marcar tarefas como finalizadas  Configurar o Spring MVC para

acessar arquivos comuns  Exercícios: Ajax

 Para saber mais: Alterando valor da data com AJAX

 Exercícios Opcionais: Melhorando nosso AJAX

7. Spring MVC: Autenticação e autorização

 Autenticando usuários: como funciona?

 Cookies  Sessão

 JAAS – Java Authentication and Authorization Service

 Configurando o tempo limite  Registrando o usuário logado na

sessão

 Exercício: Fazendo o login na aplicação

 Bloqueando acessos de usuários não logados com Interceptadores  Exercícios: Interceptando as

requisições

 Exercícios opcionais: Logout

8. Spring IoC e deploy da aplicação

 Menos acoplamento com inversão de controle e injeção de

dependências

 Container de Injeção de dependências

 Container Spring IoC  Outras formas de injeção  Exercícios: Inversão de controle

com o Spring Container

 Aprimorando o visual através de CSS

 Exercícios opcionais: Aplicando CSS nas páginas

 Deploy do projeto em outros ambientes

 Exercícios: Deploy com war  Discussão em aula: lidando com

diferentes nomes de contexto

9. Uma introdução prática ao JPA com Hibernate

 Mapeamento Objeto Relacional  Java Persistence API e

Frameworks ORM

 Bibliotecas do Hibernate e JPA  Mapeando uma classe Tarefa para

nosso Banco de Dados  Configurando o JPA com as

propriedades do banco  Usando o JPA

 Exercícios: Configurando o JPA e gerando o schema do banco  Trabalhando com os objetos: o

EntityManager

 Exercícios: Gravando e Carregando objetos

 Removendo e atualizando objeto  Buscando com uma cláusula where  Exercícios: Buscando com JPQL  Criteria

Referências

Documentos relacionados

07h45 CONHECENDO OS ANIMAIS VACAS 02’00” Episódio da série de animação Conhecendo os Animais, em que os próprios animais se apresentam e contam sobre suas características..

Com o objetivo de conhecer a incidência de delirium pediátrico na Unidade de Terapia Intensiva pediátrica do Hospital Materno Infantil de Brasília (HMIB)

Já os alunos das turmas da Educação Infantil e dos Anos Iniciais do Ensino Funda- mental terão seu momento de celebração após a Páscoa, quando irão trazer uma doação

O mapa 3, que ilustra a origem e difusão das dioceses na Região Nordeste a partir de São Luís, permite visualizar que, pela sua lo- calização, a criação de prelazias no lugar de

Embora possa ser visualizado na Biblioteca de mídia, dentro de um Post/Página o arquivo só é visualizado, e portanto utilizado, no idioma para o qual foi configurado. Ou seja,

A formação do mercado interno acontece de maneira desorientada e com inúmeras desigualdades regionais. A dinâmica distributiva da renda durante o processo de

Relativamente à actividade da Orey (Angola) – Comércio e Serviços, Lda., foram agenciados 51 navios no 1º semestre de 2004 (46 no 1º semestre de 2003), maioritariamente no Porto

Diferente dos outros ralos esse modelo possui uma tampa que se fecha ermeticamente para evitar que qualquer odor ou sujidade vaze para o ambiente. Por ter uma tampa lisa sua assepsia