O IME/USP tem promovido diversos cursos voltados para técnicas de programação orientada a objetos; informações sobre cursos já oferecidos (incluindo, geralmente, as transparências usadas) bem como sobre cursos programados podem ser obtidas nesta página.
Cursos já ministrados
Visão geral sobre o Eclipse
Uma palestra foi ministrada oferecendo uma visão geral sobre a estrutura básica de funcionamento do Eclipse. Esta palestra serviu como uma introdução para os interessados em desenvolver novas ferramentas para o Eclipse, e foi baseada em um texto introdutório sobre o Eclipse (em inglês) disponível no sítio do Eclipse. Os slides usados estão disponíveis também no formato do OpenOffice e do PowerPoint.
Desenvolvimento de software utilizando o Eclipse e ferramentas de software livre
O curso sobre desenvolvimento de software utilizando o Eclipse e ferramentas de software livre foi oferecido para alunos do IME e também para a comunidade em geral, e será ministrado novamente em breve.
Curso avançado de POO com Joseph Yoder
O IME/USP apresentou, com apoio da Objective Solutions, uma excelente oportunidade de aperfeiçoamento e reciclagem para profissionais na área de desenvolvimento de software: um curso avançado de projeto e desenvolvimento de software orientado a objetos apresentado por um grande especialista internacional da área, Joseph Yoder.
Cursos futuros
Desenvolvimento de software utilizando o Eclipse e ferramentas de software livre
Este curso de curta duração visa introduzir o aluno ao ambiente de desenvolvimento gratuito Eclipse. Os participantes se familiarizarão com sua interface e aprenderão como melhor tirar proveito das ferramentas que ele disponibiliza. Além de aspectos básicos sobre o desenvolvimento de projetos Java e aplicações Web J2EE usando os mecanismos disponíveis no Eclipse, será dado enfoque a algumas ferramentas de código livre disponíveis na Internet e trataremos de plug-ins que estendem a funcionalidade do Eclipse, aumentando a produtividade do desenvolvedor. Ferramentas como CVS, Ant, JUnit, Tomcat e outras serão apresentadas, e algumas técnicas de Programação eXtrema (XP) serão abordadas. No final do curso, os alunos farão uma série de exercícios nos quais irão poder por em prática aquilo que aprenderam.
Carga horária: 6hs
Preço: R$ 150,00
Pré-requisitos: Conhecimentos de Java
Além do Eclipse: Estenda e personalize o ambiente de desenvolvimento para suas necessidades usando plug-ins
Um curso um pouco mais avançado voltado às pessoas que querem estender o Eclipse para adaptá-lo às suas necessidades específicas. Durante este curso o aluno irá aprender a usar a API de desenvolvimento de ferramentas para o Eclipse, incluindo a SWT e JFace, novas bibliotecas para o desenvolvimento de aplicações gráficas em Java. O aluno irá se familiarizar com a arquitetura do Eclipse, aprender a desenvolver, executar, depurar e instalar um plug-in no Eclipse.
Carga horária: 6hs
Preço: R$ 150,00
Pré-requisitos: Conhecimentos de Java
JBOSS: instalação, configuração e administração
Este curso visa a explorar a instalação, configuração e administração do JBOSS. Serão mostrados a arquitetura do JBOSS, seu microkernel e seus arquivos de configuração. O suporte do JBOSS para as diversas tecnologias do J2EE será abordado, bem como os mecanismos utilizados para o balanceamento de carga e clustering. Toda a teoria será acompanhada de prática, onde os alunos terão a oportunidade de configurar e administrar seu próprio servidor de aplicações.
Conteúdo:
- Introdução ao JBOSS
- Introdução ao JMX
- Arquitetura do JBOSS
- Arquivos de configuração do JBOSS
- Microkernel do JBOSS
- JNDI no JBOSS
- JTA no JBOSS
- EJB no JBOSS
- JMS no JBOSS
- Conectores no JBOSS (JCA)
- Segurança
- Servlet Containers(Tomcat,Jetty)
- Monitoramento
- Clustering
- Balanceamento de carga
- Integrando o servidor web Apache com o JBOSS
Carga horária: 30hs
Preço: R$ 400,00
Pré-requisitos: Conhecimentos da arquitetura J2EE e Java
Web Services: do C++ ao Java, passando pelo C#
Este curso visa introduzir o conceito de web services, descrevendo e explicando todos os protocolos envolvidos na tecnologia (SOAP, UDDI, WSDL etc.), além de mostrar na prática como criar web services utilizando as linguagens de programação mais utilizadas no momento.
Conteúdo:
- Introdução aos web services
- Definições de XML
- Descrição dos protocolos:
- SOAP
- UDDI
- WSDL
- Web services com C++ (Unix e Windows)
- Web services com C# (.NET)
- Web services com Java
- Construção de web services em uma linguagem e de clientes em outras. A idéia é demonstrar como se deve implementar web services seja qual for a linguagem de programação.
Carga horária: 20hs
Preço: R$ 300,00
Pré-requisitos: Conhecimentos de programação em linguagens como C++, Java ou C#
Programação distribuída em Java
Este curso visa apresentar as formas de programação distribuída que Java suporta. Serão abordadas tecnologias como RMI, CORBA, J2EE (EJB, JMS, JDBC), JXTA e JINI. Será também abordado como escolher a melhor tecnologia levando em consideração problemas como topologia de rede, banda, parque de máquinas envolvido etc.
Conteúdo:
- Introdução a redes de computadores
- Introdução à programação distribuída
- Tecnologias abordadas:
- Soquetes TCP/IP e UDP/IP
- RMI
- CORBA
- EJB
- JMS
- JDBC
- JINI
- JXTA
- Web services
- Implementação de um projeto de software utilizando as tecnologias aprendidas, abordando os prós e os contras de cada uma.
Carga horária: 30hs
Preço: R$ 400,00
Pré-requisitos: Conhecimentos de Java
Computação em grade (Grid Computing)
Este curso visa definir a computação em grade, descrever seus objetivos, onde se pode chegar, quais suas vantagens etc. Serão mostrados projetos atuais que utilizam computação em grade e as razões para essa escolha, bem como projetos open source que estão construindo ferramentas para se fazer computação em grade. Por fim, será demonstrada uma aplicação que utiliza computação em grade.
Conteúdo:
- A idéia da computação em grade
- O que a tecnologia pode oferecer
- Descrição de alguns projetos que utilizam programação em grade
- Projetos que criam softwares para computação em grade
- Demonstração de uma aplicação utilizando computação em grade
Carga horária: 8hs
Preço: R$ 100,00
Pré-requisitos: Interesse pelo assunto
Programação eXtrema (XP) - uma introdução teórica
Programação eXtrema (XP) é uma técnica revolucionária de desenvolvimento de software que se opõe a uma série de premissas adotadas pelos métodos tradicionais de engenharia de software. XP consiste numa série de práticas e regras que permitem aos programadores desenvolver software de alta qualidade de uma forma dinâmica e muito ágil. XP elimina muito do “overhead” presente na maioria dos outros processos de desenvolvimento sem sacrificar nem disciplina nem qualidade.
Este curso aprensenta uma introdução aos principios, técnicas e práticas da programação eXtrema. Voltado a gerentes, analistas, arquitetos e engenheiros de software, programadores e qualquer um com interesse em criar e implantar aplicações de alta qualidade com sucesso.
Iremos apresentar conceitos como programação pareada, testes, o “jogo do planejamento”, refatoração e integração contínua e freqüente. O aluno irá se familializar também com o time de desenvolvimento XP, o programador, o coach, o tracker, e o cliente. No final o aluno sairá do curso com a coragem necessária para mudar radicalmente o modo como desenvolve software.
Carga horária: 6hs
Preço: R$ 200,00
Pré-requisitos: nenhum
Imersão em Programação eXtrema (XP)
Neste curso de um fim-de-semana realizaremos uma verdadeira imersão em XP onde os alunos poderão escolher entre dois papéis para se familizarizarem com as práticas da metodologia. Programadores e desenvolvedores em geral são encorajados a participar do curso no papel de “programadores”, estes participarão de equipes que irão desenvolver uma pequena aplicação durante o curso, sendo guiados por instrutores, profissionais e educadores pioneiros em XP no Brasil, que irão ajudar as equipes expondo os desenvolvedores às técnicas, práticas e princípios de XP, fundamentando e experimentando a teoria na prática. Gerentes, analistas, arquitetos e engenheiros de software que não programam diariamente são encorajados a participar do curso como “clientes”, estes serão treinados nas técnicas e responsabilidades necessárias para coordenar o esforço de um time de desenvolvimento XP. No geral todos terão contato direto com o ciclo de desenvolvimento utilizado em XP, adquirindo experiência prática dos princípios da metodologia, e algumas ferramentas que auxiliam o time de desenvolvimento XP.
Carga horária: 9hs
Preço: R$ 300,00
Pré-requisitos: O curso “Programação eXtrema - uma introdução teórica” e experiência no desenvolvimento de aplicações simples usando orientação a objetos e java (para quem participar do curso como “cliente” isto não é necessário)