|
Minicurso 01: Princípios S.O.L.I.D |
|
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 |
|
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
|
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?
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 |
|
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. 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.
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
|