Ir para o conteúdo

21 a 25/09/15BELO HORIZONTE - MG

Tela cheia

Minicursos

Traduções



Minicurso 01: Princípios S.O.L.I.D


André Minelli

Resumo

Neste mini-curso serão descritos os Princípios S.O.L.I.D., que servem como guia para estruturação de software com alta qualidade. Serão apresentados os benefícios e críticas aos princípios e também exemplos práticos utlizando a linguagem C#.S.O.L.I.D. é o acrônimo dos 5 princípios - Single Responsability, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Invertion - descritos por Robert 'Uncle Bob' Martin.

Pré-requisitos

Conhecimento básico de linguagens orientadas a objetos (não é preciso conhecimento específico em C#).

Instrutor

André Minelli é bacharel (1999) e mestre (2002) em Ciência da Computação pela UFMG e possui 15 anos de experiência no mercado de TI. Nos últimos 7 anos está focado em arquitetura e desenvolvimento de software, incluindo plataformas e clientes Web e Mobile, em projetos ágeis".

Patrocínio: Takenet

Duração: 2 horas no período da tarde

 



MINICURSO 02: Criando o seu primeiro app Android

Neto Marin
Neto Marin

Resumo 

Minicurso no estilo codelab, em que os participantes são guiados através de pequenas tarefas e desafios de programação e assim vão conhecendo e entendendo os detalhes específicos da plataforma Android. Ao final do minicurso, terão uma aplicação completa para usarem como referência nos próximos projetos.

Pré-Requisito 

Participantes devem trazer suas máquinas com Android Studio instalado. Mais detalhes em https://developer.android.com/sdk/index.html

Instrutor 

Neto Marin é Developer Advocate do Google no Brasil e tem como principal objetivo ajudar os desenvolvedores a criarem aplicativos de alta qualidade para as plataformas Android. Um apaixonado pelas tecnologias móveis, começou a desenvolver para telefones celulares em 2005 com Java ME, tendo experiência em diversas outras plataformas e trabalhando com Android desde os primeiros SDKs em 2007.

Patrocínio: Google

Duração: 3,5 horas

 



Minicurso 03: Entrega Contínua

 

 Marco Aurélio Valtas Cunhas 

 

 

Marcio Viegas

Resumo 
 
Neste minicurso vamos explorar as técnicas e processos que envolvem a Entrega Contínua de software. Iremos abordar a importância de manter o software implantável ao longo de todo seu desenvolvimento, automação, melhores práticas para garantir a qualidade, técnicas de implantação, evolução de banco de dados, colaborção entre as diferentes áreas de desenvolvimento e mais. Junte-se a nós para entender como implementar a entrega rápida e incremental de funcionalidades novas de alta qualidade e com valor para os usuários.
 
Pré-Requisito
 
Principal audiência alvo são pessoas envolvidas nas áreas de desenvolvimento de software. Desenvolvedores, Testadores, Gerentes de Desenvolvimento e Operações, mas também Gerentes de Programas interessados em tornar a organização mais ágil. 
 
Instrutores
 
Marco Aurélio Valtas Cunhas 
 
Marco Valtas possui 16 anos de experiência em desenvolvimento de software. Nesse período foram desenvolvidos projetos para as áreas de Bioinformática e Biomedicina, soluções em computação distribuída para a contagem de pessoas no varejo, soluções de e-commerce, Entrega Contínua e educação em dispositivos móveis. Hoje trabalha na ThoughtWorks como consultor e líder das práticas de Entrega Contínua no Brasil, também foi um dos tradutores do livro "Entrega Contínua" - Jez Humble e David Farley. 
 
Marcio Viegas
 
Consultor de desenvolvimento na Thoughtworks. Acredita que pode fazer a diferença no mundo através da tecnologia.
 

Patrocínio: ThoughtWorks

Duração: 7 horas (2 dias)

 



Minicurso 04: Ferramentas JavaScript e Entrega Contínua

 Rogério Chaves

 

Bruno Trecenti

 

Resumo
 
Enquanto as práticas como Design Thinking, Lean e Agile vão se expandindo, nós desenvolvedores temos sido desafiados a atender a promessas feitas por essas práticas. Velocidade de entregas, facilidade de alteração, seleção de features... são todas necessidades com impacto direto em nossas práticas do dia a dia.
 
Ao mesmo tempo, no mundo JavaScript, temos visto uma explosão de ferramentas e técnicas oferecendo suporte para automatizar e melhorar a velocidade. Além disso, JavaScript se tornou linguagem de primeira classe nas aplicações de Continuous Integration.
 
Neste minicuros vamos usar uma aplicação de base para demonstrar o uso de várias tecnologias JavaScript no contexto de continuous delivery. Alguns tópicos cobertos neste tutorial:
 
Aproximando desenvolvimento do negócio: por que desenvolvedores têm que se preocupar com automatização, testes, qualidade, integração e entrega contínua?
 
  • Possibilidades do mundo JavaScript: quando NodeJS revolucionou o que se pode fazer com JS;
  • Apresentação da aplicação de exemplo, que ajuda você a decidir se é mesmo econômico ter um carro ou tentar uma combinação de ônibus, táxis e aluguel de veículos.
  • Automatizando o build com JavaScript: grunt, gulp, npm e mais
  • Gerenciamento de dependências com Javascript: bower, npm etc.
  • Testando com JavaScript: karma, jasmine, mocha, chai, sinon.
  • Bibliotecas para construir aplicações: Angular, Backbone, React JS.
  • Outros utilitário JS: lodash, q.js, polymer.
 
Pré-Requisito
 
Conhecimento prévio na construção de aplicações web, nenhuma linguagem específica.
 
Instrutores
 
Rogério Chaves
 
Rogério Chaves é Consultor de Desenvolvimento na ThoughtWorks, trabalha diariamente com JavaScript mas é curioso por todas as áreas do desenvolvimento de software, de UX a DevOps. Atualmente gosta de explorar linguagens funcionais, principalmente que compilam pra JS.

 

Bruno Trecenti
 
Desenvolvedor de software pragmático e praticante da arte Agile Development por mais de 6 anos no desenvolvimento de software.
 

Patrocínio: ThoughtWorks

Duração: 3,5 horas

 



Minicurso 05: Web Funcional com Clojure e Clojurescript


Eduardo 

Radanovitsck

 

Rafael Oliveira

Resumo
 
Programação funcional não é só para resolver fatoriais! Neste workshop vamos criar uma aplicação web em Clojure com um frontend reativo em Clojurescript! Abordaremos tanto os princípios da linguagem quanto as ferramentas e práticas empregadas para o desenvolvimento de aplicativos web usando programação funcional.
 
Público Alvo
 
Pessoas interessadas em aprender um pouco sobre programação funcional e desenvolvimento web. Conhecimento prévio em Clojure e ClojureScript não é necessário.
 
Instrutores
 
Eduardo Radanovitsck
 
Graduado pela UFRGS e desenvolvedor pela TW desde 2010. Nesse período já trabalhou com clientes nos EUA e no Reino Unido, onde pode trabalhar com Clojure por um ano. Além disso já trabalhou com Java, C# e JavaScript.
 
 
Rafael Oliveira
 
Rafael Oliveira trabalhou com Clojure e foi marcado pela experiência. Hoje procura novas formas de desenvolver software explorando diferentes paradigmas de programação.
 

Patrocínio: ThoughtWorks

Duração: 3,5 horas

 



MINICURSO 06: Aprenda programação funcional construindo sua própria linguagem



Resumo
 
Qual é o melhor jeito de entender como funciona uma linguagem funcional? Construindo uma! Neste workshop vamos explicar os fundamentos de programação funcional através da construção de uma pequena linguagem.
 
Requisitos
 
Pessoas interessadas em aprender um pouco sobre programação funcional de uma forma diferente. Conhecimento prévio em Clojure não é necessário.
 
Instrutores
 
Marcos Matos e Erick pintor.
 

Patrocínio: ThoughtWorks

Duração: 3,5 horas

 
 



MINICURSO 07: Introdução à Gerência de Portfólios de Projetos


Cesar de Ávila Rodrigues

Resumo 

Em um mundo globalizado e hipercompetitivo, organizações estão expostas a um amplo mercado, que pode ser a base de sucesso sem precedentes ou fonte de concorrentes de qualquer parte do mundo. Neste cenário, ser eficiente e eficaz não é mais um diferencial, mas necessário para a sobrevivência. Para isso, as organizações estabelecem sua missão e visão e se utilizam de projetos para atingir seus objetivos estratégicos.Entretanto, uma vez que seus recursos são limitados, não é possível executar todos os projetos, de forma que a organização precisa decidir quais deles são mais adequados para o sucesso de sua estratégia. E a Gerência de Portfólio de projetos é a ferramenta para essa seleção. O curso tem por objetivo apresentar os conceitos e técnicas de Gerência de Portfólio de Projetos, desde a seleção das demandas, passando pela priorização dos recursos até a organização de múltiplos projetos. Os conceitos ensinados são colocados em prática através de exercícios que simulam um mercado onde o uso das técnicas de Gerência de Portfólio é necessário. 

Instrutor

Cesar de Ávila Rodrigues é Sócio-Fundador e Diretor da Avanti Negócios e Tecnologia. É Pesquisador em Gamification e aplicação prática dos conceitos. Possui experiência em Engenharia de Software, com destaque nos tópicos de Melhoria de Processos, Qualidade de Software, Modelos de Maturidade, Requisitos, Testes, Gerência de Configuração e Gerência de Projetos.  Também possui experiência em Gestão Corporativa, Indicadores Corporativos, Gestão de Mudanças, Gerência de Portfólios, Coordenação de Fábrica de Software e Capital Humano. É Implementador e Avaliador Oficial MPS.BR, com 100% de sucesso nas implementações avaliadas, incluindo a primeira empresa de Minas Gerais (2006-2007). É Líder da implementação do CMMI-DEV ML3 de uma das primeiras empresas de Minas Gerais (2007). É Bacharel e Mestre em Ciência da Computação pela Universidade Federal de Minas Gerais. Concluiu o  Programa de Desenvolvimento de Dirigentes da Fundação Dom Cabral em 2009. É Professor de cursos de pós-graduação desde 2005. 

Patrocínio: Avanti Negócios e Tecnologia

Duração: 3.5horas

 



MINICURSO 08: Desenvolvimento Web Responsivo


Lucas Estevão

Resumo

Neste minicurso,você aprenderá sobre os conceitos e fundamentos do design responsivo da teoria até a prática, entenderá o que precisa para transformar um site fixo em responsivo, ou seja, um site flexível capaz de se adaptar à diferentes tipos de dispositivos móveis, como smartphones e tablets. Irá conhecer ferramentas e simuladores para testes. Este mini curso é indicado para: Web Designers, UX Designers, e Front-End Engineers, com conhecimentos básicos em HTML/CSS.

Pré-requisitos

Participantes devem trazer suas máquinas com um editor de textos instalado (e.g.: http://www.sublimetext.com/3)

Instrutor 

Lucas Estevão, 24 anos, de Belo Horizonte, se diverte há mais de 5 anos trabalhando com front end. Co-fundador da startup Monkey Mob, atualmente trabalha como UI Engineer na Avenue Code, prestando serviços para a Clientes nos EUA.

Patrocínio: AvenueCode

Duração: 3.5 horas

 

   

MINICURSO 09: Bluemix na Prática: Desenvolvimento e Operação de Software na Cloud

Leonardo Guerreiro Azevedo (IBM Research) 

 

Marcelo Nery dos Santos (IBM Research)

Resumo:  

Este minicurso tem o objetivo de demonstrar o uso de um PaaS (Platform as a Service) para desenvolvimento e implantação ágil de aplicações, indo além dos conceitos necessários para criação de aplicações tradicionais, para apresentar também como criar aplicações IoT (Internet of Things) e aplicações científicas na Cloud. Os conceitos e ferramentas são apresentados considerando Bluemix, a solução PaaS da IBM. Bluemix é uma plataforma de padrões abertos baseada na Cloud para construir, gerenciar e executar aplicações de vários tipos, tais como aplicações WEB, IoT, móveis, big data etc. Este minicurso vai além do desenvolvimento de aplicações tradicionais distribuídas. O minicurso apresenta questões, desafios e como desenvolver aplicações complexas, tais como IoT e aplicações científicas na Cloud. Serão apresentadas também ferramentas que apoiam a gestão do ciclo de vida de desenvolvimento de aplicações. 

Público-alvo: 

Este minicurso de 3,5 horas requer que o público tenha experiência intermediária principalmente em desenvolvimento de software e banco de dados. O curso é indicado para estudantes de graduação e pós-graduação, pesquisadores em TI e profissionais interessados em desenvolver, implantar, executar e/ou gerir suas aplicações na Cloud.  

Instrutores:

Leonardo Guerreiro Azevedo é pesquisador (RSM - Research Staff Member) da IBM Research - Brazil desde 2013. Leonardo é Doutor (2005) e Mestre (2001) em Ciências, em Engenharia de Sistemas e Computação pelo PESC/COPPE/UFRJ, e Bacharel em Informática (2000) pela UFRJ. Parte de seu doutorado foi realizado na Fernuniverstät em Hagen, Alemanha (Julho de 2004 a Maio de 2005). Leonardo é também Professor Adjunto III pela Universidade Federal do do Estado do Rio de Janeiro (UNIRIO) desde 2009 lecionando e realizando pesquisa em tópicos relacionados à Engenharia de Software e Banco de Dados pelo Departamento de Informática Aplicada (DIA/UNIRIO) e pelo Programa de Pós-Graduação em Informática (PPGI/UNIRIO). Na IBM Research, Leonardo pesquisa em assuntos relacionados ao desenvolvimento e integração de aplicações científicas de uma maneira ágil na área de recursos naturais.
Os principais temas de pesquisa do Leonardo são Sistemas Distribuídos, Arquitetura Orientada a Serviços (SOA - Service-Oriented Architecture), Cloud Computing, Sistemas Cognitivos, Workflow Científico, Métodos Ágeis, Gestão de Processos de Negócio (Business Process Management), Bancos de Dados Espaciais dentre outros.
Leonardo é autor de mais de 80 artigos publicados em journals e conferências internacionais onde ele ou alunos por ele orientados apresentaram vários destes trabalhos, tais como ECIS, ACM SAC, BRESCI, IPL, JNCA, JSEE, CBSoft, SBES, GeoInformatica, GeoInfo, SBSI, WBPM, ECGE, WTDSI, Information System Brazilian Journal (iSyS), AMCIS, CIAWI, IADIS Applied Computing, SBBD, PLEASE, BDIM. Leonardo vem participando ainda do comitê de vários destes eventos.
Mais detalhes podem ser encontrados em <http://researcher.ibm.com/researcher/view.php?person=br-lga> e <http://lattes.cnpq.br/7214791464543522>.

 

Marcelo Nery dos Santos (http://researcher.ibm.com/researcher/view.php?person=br-mnerys) é pesquisador (RSE - Research Software Engineer) da IBM Research - Brazil desde 2012. Marcelo é Mestre em Informática (2006) pela Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio) e bacharel em Ciência da Computação (2002) pela Universidade Federal de Pernambuco (UFPE). Durante o mestrado, Marcelo desenvolveu o GridFS - um servidor de arquivos para grades e ambientes distribuídos heterogêneos. Marcelo também trabalhou como engenheiro de software para a Microsoft (Canada/USA), de 2008 a 2011, onde ele foi responsável por criar infraestruturas de testes e avaliação de desempenho do produto Microsoft Lync. Em 2013, Marcelo recebeu o prêmio "IBM Eminence & Excellence Award" por suas contribuições e liderança técnica em projetos relacionados a área de recursos naturais. Recentemente, Marcelo apresentou aulas e sessões técnicas sobre desenvolvimento de software na Cloud com foco em PaaS e tecnologias de IoT, em universidades como UFFRJ, UFF e UNIRIO.

Patrocínio: IBM 

Duração: 3.5horas