CURRICULUM VITAE Blumenau, Setembro de 2016 Prezados Senhores; Como aluno formado pelo Programa Entra21-Blusoft, gostaria de colocar o meu currículo à disposição de vossa empresa para análise. Como é de vosso conhecimento, este programa visa a formação de profissionais para a área da Tecnologia da Informação, com cursos de 200 a 400 horas de duração que englobam desde as ferramentas de produtividade (planilha e editor, projetos, área gráfica), passando pela área de desenvolvimento de sistemas. No meu caso específico, formei-me em JAVA, conforme plano de aula detalhado no final deste documento. Maiores informações sobre o programa e meus dados particulares podem ser obtidos no através da coordenação do Blusoft. Caso sua empresa não tenha acesso restrito ao site, solicite sua senha ao Blusoft. Quero fazer parte de vossa companhia e de crescer profissionalmente dentro da área. Coloco-me à disposição para uma entrevista pessoal. Agradeço antecipadamente pela oportunidade. Atenciosamente; DIGITE AQUI SEU NOME COMPLETO CURRICULUM VITAE Identificação Nome Completo: Data de Nascimento: CTPS número / série: Endereço Completo: Telefone residencial: Nacionalidade: RG: Estado Civil: CPF: Celular: Telefone recado: Objetivo Profissional Trabalhar na área de informática, preferencialmente na área em que concentrei meus estudos durante o Entra21-Blusoft. Formação Acadêmica Informe aqui se você está cursando ou é formado no Ensino Médio (informar escola e demais dados) Se possuir Curso Superior incompleto, informar o semestre, o curso e a instituição de ensino. Experiência Profissional Em ordem cronológica decrescente, apresentar a nome das empresas que trabalhou, período trabalhado (mês e ano de admissão e mês e ano de demissão) e as principais atividades que desempenhava. Se você não possui experiência profissional, remova este item. Cursos Citar somente os cursos realizados (os mais representativos, idiomas e informática). Se não tiver nenhum, remova este item. Programa Entra21-Blusoft (matérias estudadas) Desenvolvimento Humano Empreendedorismo - Você possui perfil empreendedor? - O que é empreendedorismo? - Características do espírito empreendedor - Globalização, terceirização X empreendedorismo - O empreendedorismo no Brasil - Obstáculos culturais ao empreendedorismo no Brasil - Comportamento empreendedor - Campos do empreendedorismo Ética - Conceito de ética - Ética profissional - Virtudes profissionais - Ética empresarial - Responsabilidade social das empresas e organizações - Perfil do profissional do século XXI Relacionamento Interpessoal - Habilidade de relacionamento como diferencial competitivo - Autoconhecimento e percepção do outro - Valores, estereótipos e preconceitos - Estratégias para lidar com conflitos - Dar e receber feedback eficazmente Trabalho Em Equipe - A evolução do trabalho - O trabalho em equipe - Percepção e valorização das -diferenças individuais - Etapas do desenvolvimento da equipe - Comportamentos que facilitam ou dificultam o trabalho em equipe Gestão Financeira - A importância de poupar - Metas pessoais - Valor do dinheiro ao longo do tempo - Orçamento financeiro - Tipos de investimentos - Educação é investimento Como fazer uma busca de trabalho - Planejamento - definia seus objetivos e prepare seu currículo - Diferenças entre empreendedor e empregado? - Características do trabalho ideal - Ação - divulgação do seu currículo - Motivação - não passou na entrevista. - Dicas fundamentais para o sucesso em processos de seleção - Aprenda como superar o não na busca por um emprego - Informações importantes - Documentos para a busca do emprego - Sine - sistema nacional de emprego santa catarina Entrevista - Como comportar-se em uma entrevista - Dicas para uma boa entrevista - Perguntas a serem evitadas em entrevistas de emprego - As 12 perguntas mais freqüentes numa entrevista de emprego - Dinâmicas de grupo - Dicas para dinâmicas de grupo Apresentação pessoal - Tipos de comunicação - Pontos favoráveis para a boa comunicação - Cuidados com o estado emocional - Dicas para um estado emocional equilibrado - Boas maneiras no dia a dia no trabalho -Regras à mesa - Dicas de uma boa conversa - Comportamentos que devem ser evitados - Comportamento profissional Como desenvolver o currículo - Dicas de como elaborar um currículo - Montando o seu currículo - Exemplo de currículo Lógica de Programação e Algoritmos Sistemas computacionais - O que é um computador - O hardware e seus componentes - Classificação das linguagens de programação Introdução à lógica - Introdução à lógica de relacionamentos - Procedimento de decisão - Lógica matemática - Algumas leis fundamentais - Tabela-verdade Noções de algoritmos de programação - O que são algoritmos - Formas de representação de um algoritmo Constantes, variáveis e tipos de dados - Constantes e variáveis - Tipos de variáveis - Atribuindo valores às variáveis - Expressões Processamento seqüencial e condicional - Processamento seqüencial: comandos de entrada e saída - Processamento condicional Métodos de repetição - Estruturas de controle de repetição Manipulação de vetores - Conceito e declaração de vetores - Operação de vetores - Algoritmos com manipulação de Vetores Manipulação de matrizes - Conceito e declaração de matrizes - Operação de matrizes - Algoritmos com manipulação de matrizes Manipulação de registros - Conceito e declaração de registros - Algoritmos com manipulação de registros Programação estruturada - Modularização: conceitos iniciais - O que é uma função - Por que usar funções Banco de Dados Introdução - Ciclo de Vida do Desenvolvimento de Sistemas - Armazenamento de Dados em Diferentes Mídias - Conceito de Banco de Dados Relacional - Definição de Banco de Dados Relacional - Modelos de Dados - Modelo Entidade-Relacionamento - Convenções do Modelo Entidade - Relacionamento - Relacionando Múltiplas Tabelas - Propriedades de um Banco de Dados Relacional - Comunicando com um SGDB utilizando SQL - Sistema de Gerenciamento de Banco de Dados - SGBD Objeto Relacional - Comandos SQL - Tabelas Utilizadas no Curso Comando “SELECT” com SPL*PLUS e SQLDeveloper - O que é o SQL SELECT - Trabalhando com Colunas - Oracle SQL Developer - Expressões e Operadores Aritméticos - Strings de Caracteres Literais - Eliminando Linhas Duplicadas - Interação entre SQL e SQL*Plus Visão Geral do SQL*Plus - Conectando com o SQL*Plus e SQLDeveloper - Usando o SQLDeveloper - Exibindo Estrutura de Tabelas - Tipos de Dados - Principais Comandos de Arquivo do SQL*Plus Restrição e Ordenação de Dados - Limitando as Linhas Selecionadas - Utilizando a Cláusula WHERE - Strings de Caracter e Datas - Operadores de Comparação - Regras de Precedência - Cláusula ORDER BY (Ordenação) Funções Single Row, Conversão e Expressões Condicionais - SQL Single Row - Tipos de Funções SQL - Trabalhando com Datas - Funções de Conversão - Conversão Explícita de Tipos de Dados - Função TO_CHAR com Datas - Funções TO_NUMBER e TO_DATE - Função CAST - Função NVL e NVL2 - Função NULLIF - Função COALESCE - Função DECODE - Aninhando Funções Exibição de Dados a Partir de Várias Tabelas - Obtendo Dados a Partir de Múltiplas Tabelas - O que é um Join - Produto Cartesiano - Trabalhando com Equijoins - Qualificando Nomes de Colunas Ambíguos - Relacionando várias Tabelas - Non-Equijoins - Outer Joins e Self Joins Funções de Grupo - Conceitos Básicos e Utilização - Funções de Grupo e Valores Nulos - Utilizando a Função NVL com Funções de Grupo - Criando Grupos de Dados - Utilizando a Cláusula GROUP BY - Consultas Ilegais Utilizando Funções de Grupo - Cláusula Having - Aninhando Funções de Grupo Variáveis de Substituição e de ambiente em SQL*Plus - Variáveis de Substituição - Utilizando Variáveis de Substituição com (&) - Utilizando o Comando SET VERIFY - Valores Caractere e Data com Variáveis de Substituição - Especificando Nomes de Colunas, Expressões e Textos em Tempo de Execução - Utilizando Variáveis de Substituição com (&&) - Definindo Variáveis - Utilizando ACCEPT - Comandos DEFINE e UNDEFINE - Variáveis de Ambiente do SQL*Plus Conceitos de Sub-consultas - Resolução de Problemas - Tipos de Sub-consultas - Funções de Grupo em Sub-consulta - Cláusula Sub-consultas na cláusula HAVING - Sub-consultas Tipo Multiple-Row e MultipleColumn Operadores SET - UNION (União) - Utilizando vários operadores SET - Interseção - MINUS (Diferença) Manipulação de Dados - Comando INSERT - Inserindo Novas Linhas - Inserindo Valores - Criando um Scripts SQL com Prompts Personalizados - INSERT utilizando uma sub-consulta - Utilizando UPDATE - Modificando Linhas em uma Tabela - UPDATE usando sub-consulta - Comando DELETE - Transações de Banco de Dados - Efetivando os Dados - Conceito de Savepoints - Imoplementando Leitura Consistente - Conceito de Lock Criando e Gerenciando Tabelas - O que são Objetos - Criando Tabelas - Dicionário de Dados - Tipos de Dados - Trabalhando com Colunas - Renomeando uma Tabela - Renomeando um Objeto - Truncando uma Tabela - Inserindo Comentários para Tabelas e Colunas Implementando Constraints - Conceitos de Constraints - Palavras Chave de Constraints FOREIGN KEY - Adicionando e Removendo uma Constraint - Habilitando e Desabilitando Constraints - Visualizando Constraints Criando Visões - Conceito de Visão - Onde se Aplicar Visões - Visões Simples e Visões Complexas - Criando uma Visão - Consultas Com uma Visão - Consultando as Visões existentes - Modificando uma Visão - Criando uma Visão Complexa - Regras para Executar Operações DML em uma Visão - Impedindo Operações DML em Visões Outros Objetos do Banco de Dados - Conceito de Sequence - Criando, utilizando e modificando uma Sequence - Conceito de Índice - Criando, Consultando e Removendo um Índice Sinônimos - Criando e Removendo Sinônimos Comandos do SQL*Plus - Comandos de Edição e Formatação do SQL*Plus - Comando COLUMN - Conceitos de Máscaras do Comando COLUMN - Comando BREAK - Comandos TTITLE e BTITLE - Criando um Script para Executar um Relatório JAVA JAVA BÁSICO - Introdução - Sobre os Exercícios - O Que é Java - Breve História Do Java - Máquina Virtual - Java Lento? HotSpot e JIT - As Versões do Java e a Confusão do Java2 - JVM, JRE e JDK - Onde Usar os Objetos Java - Especificação X Implementação - A Organização do FJ-11 - Compilando o Primeiro Programa - Executando Seu Primeiro Programa - Variáveis Primitivas e Controle de Fluxo - Declarando e Usando Variáveis - Comentários em Java - Onde Testar Estes Códigos? - Tipos Primitivos e Valores - Discussão em Aula: Convenções de Código e Código Legível - Casting e promoção - Casos não tão comuns de casting e atribuição - Castings possíveis - O If-Else - && ou &? - O While - O For - Pós Incremento ++ - Controlando Loops - Escopo das Variáveis - Um Bloco Dentro do Outro - Orientação a Objetos Básica - Motivação: Problemas do Paradigma Procedural - Criando um Tipo - Uma classe em Java - Criando e usando um objeto - Métodos - Métodos Com Retorno - O Método Transfere() - Um Pouco de Arrays - Arrays de Referências - Percorrendo uma array - Modificadores de Acesso e Atributos de Classe - Controlando o Acesso - Encapsulamento - Getters e Setters - A necessidade de um construtor - Atributos de Classe - Orientação a Objetos - Herança, Reescrita e Polimorfismo - Reescrita de Método - Invocando o Método Reescrito - Polimorfismo - Dicussões em Aula: Alternativas ao Atributo Protected - Eclipse IDE - Apresentando o Eclipse - Views e Perspective - Criando um Projeto Novo - Criando o Main - Rodando o Main - Orientação a Objetos - Classes Abstratas - Classe Abstrata - Métodos Abstratos - Orientação a Objetos - Interfaces - Aumentando Nosso Exemplo - Interfaces - Dificuldade no Aprendizado de Interfaces - Conexões com o Banco de Dados - Discussão em Aula: Favorecer Composição em Relação à Herança - Controlando os Erros com Exceções - Motivação - Exceções de Runtime Mais Comuns - Outro Tipo de Exceção: Checked Exceptions - Um pouco da Grande Famíla Throwable - Lançando Exceções - O Que Colocar Dentro do Try? - Criando Seu Próprio Tipo de Exceção - Para Saber Mais: Finally - Pacotes - Organizando Suas Classes e Bibliotecas - Organização - Diretórios - Import - Acesso aos Atributos, Construtores e Métodos - Usando o Eclipse com Pacotes - Ferramentas: JAR e Javadoc - Javadoc - Gerando o Javadoc - O Pacote Java.Lang - 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 - Pacote Java.IO - Conhecendo Uma API - Orientação a Objeto - InputStream, InputStreamReader e BufferedReader - Lendo Strings do Teclado - OutputStream, OutputStreamWriter e BufferedWriter - Collections framework - Arrays São Trabalhosos, Utilizar Estrutura de Dados - Listas: java.util.List - Listas no Java 5.0 com Generics - Ordenação: Collections.sort - Conjunto: java.util.Set - Principais interfaces: java.util.Collection - Percorrendo Coleções no Java 5 - Iterando sobre coleções com java.util.Iterator - Mapas - java.util.Map - Mapas no Java 5.0 - Desafios - Programação Concorrente e Threads - Threads - Escalonador e Trocas de Contexto - Certificação - Web - Revistas - Grupos de Usuários - Utilizando bibliotecas e frameworks: O JFreeChart - Bibliotecas e o Java - Como usar uma biblioteca? - Classpath - JFreeChart - Preparando um projeto no Eclipse para utilizar o JFreeChart - Utilizando o JFreeChart - Aplicando as boas práticas de OO - Sockets - Protocolo - Porta - Socket - Servidor - Cliente - Imagem Geral - Solução do Sistema de Chat - Swing básico - Interfaces gráficas em Java - Portabilidade - Começando com Swing - Nosso primeiro formulário - Adicionando Eventos - Gerenciadores de Layout - Look And Feel - Import Estático - Calendar - Date - DateFormat - Anotações - Escolhendo a VM - Instalando no Ubuntu e outros Linux - No Mac OS X e Solaris - Instalação do JDK em ambiente Windows JAVA AVANÇADO Hibernate básico - Hibernate - Baixando na internet - Anotações, EJB3 e Persistence API - Criando a classe Funcionario - Exercícios: Iniciando o projeto - Configurando o hibernate - Exercícios: Configurações - Gerando as tabelas - Exercícios: Gerando tabelas - SchemaUpdate - Session e Connection Pool - Inserindo novos objetos - Exercícios: save - O que faz o método save - Habilitando o Connection Pool C3P0 - Exercícios: Pool de conexões - Buscando um objeto pela chave primária - Exercícios: load - Exercícios adicionais: Lazy Data Access Object - DAO - HibernateUtil - Exercícios: HibernateUtil - Data Access Object - Exercícios: Dao genérico - DAO específico - Exercícios - Para saber mais: Outras opções de DAO - Para saber mais: Herança nos DAOs específicos - Para saber mais: Métodos genéricos Hibernate Query Language - Outra maneira de realizar queries - Um query equivale a um Criteria - Joins e produtos cartesianos - Funções no HQL: lower() - Exercícios: HQL - Paginação - Exercícios opcionais: funções e paginação - Compondo Critérios de Busca: AND e OR - Projeções - Consultas complexas Mais sobre consultas - HQL instanciando objetos? - Exercícios opcionais: new em HQL - Queries Nativas - ResultTransformers - Query by Example - Exercícios opcionais: Example - Criteria x HQL - Para Saber Mais: Consultas Polimórficas - Para Saber Mais: DetachedCriteria Relacionamentos - Relacionamentos Bidirecionais - Lado inverso - Exercícios: Relacionamento Bidirecional - Ordenando - Lazy ou Eager? - Foreign Key - Relacionamento muitos para muitos - Exercícios: @ManyToMany - Relacionamento um para um - Para saber mais: Extra Lazy - Para saber mais: Tabela associativa Design Patterns - Factory Method - Exercícios - Singleton - Exercícios - Iterator - Observer JAVA WEB Introdução Preparando ambiente de desenvolvimento WEB - Eclipse + Plugins - Instalação do servidor de aplicação web tomcat - Weblogic HTML5 - Introdução ao HTML5; - Visão geral; - Características; - Utilização; - Semântica; - WHATWG; - Estruturando página no formato HTML5; - Header; - Nav; - Article; - Section; - Footer; - Details; - Summary; - Figure; - Figcaption; - Hgroup; - Mark; - Meter; - Progress; - Time; - Datalist; - Atributos para formulários; - Tags de mídia; - Tags gráficas. CSS3 - Introdução ao CSS3; - Usabilidade entre os browsers; - Arredondando bordas; - Sombras; - Transições; - Animações; - Posicionamentos textuais e estruturais; - Fontes estilizadas; - Gradientes. Javascript - Básico - Introdução à javascript - Variáveis, objetos de formulário, operadores - Comandos: alert, write, open, close, getElement - Funções Servlets - Criando páginas em servlets - Interação entre servlets - Objetos implícitos - Objetos explícitos - Sessões - Requisições Facelets - Montando templates para JSF Banco de Dados - Utilizando banco de dados em uma aplicação Java Web - Hibernate Angular JS - Conceitos práticos - Diferenças para o Javascript - Implementando o AngularJS - Solução de Problemas