Segunda-feira (20/07)

 
JAI: Minicurso 1: "Análise de Algoritmos" (Parte 1/3)
Paulo Feofiloff (IME-USP)
Horário: 08:30 - 10:30
Local: Auditório 3
Resumo:
"A Análise de Algoritmos é uma disciplina bem-estabelecida, coberta por um bom número de excelentes livros (a maioria em inglês). O presente mini-curso é uma introdução sucinta ao assunto. Depois de tratar brevemente de alguns pré-requisitos (como notação assintótica e resolução de recorrências), o texto analisa alguns algoritmos clássicos, discute sua eficiência, e chama a atenção para as estratégias (divisão e conquista, programação dinâmica, método primal-dual) que levaram à sua concepção."
 
JAI: Minicurso 1: "Análise de Algoritmos" (Parte 2/3)
Paulo Feofiloff (IME-USP)
Horário: 10:45 - 12:45
Local: Auditório 3
Resumo:
"A Análise de Algoritmos é uma disciplina bem-estabelecida, coberta por um bom número de excelentes livros (a maioria em inglês). O presente mini-curso é uma introdução sucinta ao assunto. Depois de tratar brevemente de alguns pré-requisitos (como notação assintótica e resolução de recorrências), o texto analisa alguns algoritmos clássicos, discute sua eficiência, e chama a atenção para as estratégias (divisão e conquista, programação dinâmica, método primal-dual) que levaram à sua concepção."
 

JAI: Minicurso 3: "Uma Introdução à Programação em Lua" (Parte 1/3)
Roberto Ierusalimschy (PUC-Rio)
Horário: 16:15 - 18:15
Local: Auditório 3

Resumo:
"Lua é uma linguagem de script amplamente usada nas mais diversas áreas, desde grandes aplicativos para desktops, como o Adobe Photoshop Lightroom, até software para sistemas embarcados. Lua é a linguagem mais usada atualmente para scripting em jogos, e é parte do padrão Ginga para o Sistema Brasileiro de TV Digital. Lua também é muito usada na área de segurança, sendo a linguagem de script embutida em ferramentas como Wireshark, snort e nmap. Este mini-curso apresenta a linguagem Lua com ênfase nos seus mecanismos menos convencionais. O objetivo é introduzir a linguagem e ao mesmo tempo apresentar algumas técnicas de programação não convencionais, como o uso de funções de mais alta ordem, co-rotinas e APIs entre linguagens. Espera-se do leitor alguma maturidade na área de programação e conhecimento da linguagem C, para a discussão da API entre Lua e C."
 
JAI: Minicurso 5: "Desmistificando XML: da Pesquisa à Prática Industrial" (Parte 1/3)
Vanessa Braganholo (UFRJ), Mirella M. Moro (UFMG)
Horário: 08:30 - 10:30
Local: Auditório 5
Resumo:
"XML é uma linguagem para especificação de dados semi- ou complemente estruturados. Ela tem sido explorada tanto pela indústria quanto pela comunidade acadêmica. Onze anos depois de ter surgido, XML resolveu vários problemas importantes, de forma muito elegante. Além disso, XML foi adotada como recomendação para troca de dados por indústrias e comunidades científicas de muitas áreas, variando desde a indústria de vendas até a de saúde, incluindo aplicações extremamente atuais como Web Science e M-Government.
Este mini-curso é direcionado a pessoas que querem trabalhar com pesquisa em XML, ou que simplesmente querem estudar XML com foco industrial ou acadêmico. Ele resume os principais usos de XML nos dias atuais, os problemas de pesquisa que XML ajudou a resolver e os que ainda estão abertos. É importante ressaltar que este capítulo não pretende cobrir toda a vasta literatura sobre XML. Ao invés disso, ele pretende ser um ponto de partida para qualquer pessoa que decida conhecer esta linguagem versátil, extremamente útil e poderosa chamada XML."
 
JAI: Minicurso 5: "Desmistificando XML: da Pesquisa à Prática Industrial" (Parte 2/3)
Vanessa Braganholo (UFRJ), Mirella M. Moro (UFMG)
Horário: 10:45 - 12:45
Local: Auditório 5
Resumo:
"XML é uma linguagem para especificação de dados semi- ou complemente estruturados. Ela tem sido explorada tanto pela indústria quanto pela comunidade acadêmica. Onze anos depois de ter surgido, XML resolveu vários problemas importantes, de forma muito elegante. Além disso, XML foi adotada como recomendação para troca de dados por indústrias e comunidades científicas de muitas áreas, variando desde a indústria de vendas até a de saúde, incluindo aplicações extremamente atuais como Web Science e M-Government.
Este mini-curso é direcionado a pessoas que querem trabalhar com pesquisa em XML, ou que simplesmente querem estudar XML com foco industrial ou acadêmico. Ele resume os principais usos de XML nos dias atuais, os problemas de pesquisa que XML ajudou a resolver e os que ainda estão abertos. É importante ressaltar que este capítulo não pretende cobrir toda a vasta literatura sobre XML. Ao invés disso, ele pretende ser um ponto de partida para qualquer pessoa que decida conhecer esta linguagem versátil, extremamente útil e poderosa chamada XML."
 

JAI: Minicurso 7: "Geometria Computacional" (Parte 1/3)
Cristina G. Fernandes (IME-USP), José Coelho de Pina Jr. (IME-USP)
Horário: 16:15 - 18:15
Local: Auditório 5

Resumo:
"Este mini-curso é um convite modesto ao estudo de geometria computacional, feito através de problemas clássicos: par mais próximo, fecho convexo, interseção de segmentos e divisão de polígono. No problema do par mais próximo, são dados pontos no plano, e deseja-se determinar um par mais próximo destes pontos. Apresentamos um elegante algoritmo de divisão e conquista para este problema. Existem vários algoritmos que determinam o fecho convexo de um conjunto de pontos no plano. Apresentamos quatro deles: um algoritmo incremental, o embrulho de presente, o de Graham e o Quickhull. Estes algoritmos usam-se de técnicas bem diferentes, e mostram como um problema fundamental pode ser atacado de diversas maneiras. O bem sucedido método da linha de varredura é apresentado usando dois problemas: interseção de segmentos e divisão de polígono."
 

Terça-feira (21/07)

 
JAI: Minicurso 1: "Análise de Algoritmos" (Parte 3/3)
Paulo Feofiloff (IME-USP)
Horário: 08:30 - 10:30
Local: Auditório 3
Resumo:
"A Análise de Algoritmos é uma disciplina bem-estabelecida, coberta por um bom número de excelentes livros (a maioria em inglês). O presente mini-curso é uma introdução sucinta ao assunto. Depois de tratar brevemente de alguns pré-requisitos (como notação assintótica e resolução de recorrências), o texto analisa alguns algoritmos clássicos, discute sua eficiência, e chama a atenção para as estratégias (divisão e conquista, programação dinâmica, método primal-dual) que levaram à sua concepção."
 

JAI: Minicurso 3: "Uma Introdução à Programação em Lua" (Parte 2/3)
Roberto Ierusalimschy (PUC-Rio)
Horário: 10:45 - 12:45
Local: Auditório 3

Resumo:
"Lua é uma linguagem de script amplamente usada nas mais diversas áreas, desde grandes aplicativos para desktops, como o Adobe Photoshop Lightroom, até software para sistemas embarcados. Lua é a linguagem mais usada atualmente para scripting em jogos, e é parte do padrão Ginga para o Sistema Brasileiro de TV Digital. Lua também é muito usada na área de segurança, sendo a linguagem de script embutida em ferramentas como Wireshark, snort e nmap. Este mini-curso apresenta a linguagem Lua com ênfase nos seus mecanismos menos convencionais. O objetivo é introduzir a linguagem e ao mesmo tempo apresentar algumas técnicas de programação não convencionais, como o uso de funções de mais alta ordem, co-rotinas e APIs entre linguagens. Espera-se do leitor alguma maturidade na área de programação e conhecimento da linguagem C, para a discussão da API entre Lua e C."
 

JAI: Minicurso 3: "Uma Introdução à Programação em Lua" (Parte 3/3)
Roberto Ierusalimschy (PUC-Rio)
Horário: 16:15 - 18:15
Local: Auditório 3

Resumo:
"Lua é uma linguagem de script amplamente usada nas mais diversas áreas, desde grandes aplicativos para desktops, como o Adobe Photoshop Lightroom, até software para sistemas embarcados. Lua é a linguagem mais usada atualmente para scripting em jogos, e é parte do padrão Ginga para o Sistema Brasileiro de TV Digital. Lua também é muito usada na área de segurança, sendo a linguagem de script embutida em ferramentas como Wireshark, snort e nmap. Este mini-curso apresenta a linguagem Lua com ênfase nos seus mecanismos menos convencionais. O objetivo é introduzir a linguagem e ao mesmo tempo apresentar algumas técnicas de programação não convencionais, como o uso de funções de mais alta ordem, co-rotinas e APIs entre linguagens. Espera-se do leitor alguma maturidade na área de programação e conhecimento da linguagem C, para a discussão da API entre Lua e C."
 
JAI: Minicurso 5: "Desmistificando XML: da Pesquisa à Prática Industrial" (Parte 3/3)
Vanessa Braganholo (UFRJ), Mirella M. Moro (UFMG)
Horário: 08:30 - 10:30
Local: Auditório 5
Resumo:
"XML é uma linguagem para especificação de dados semi- ou complemente estruturados. Ela tem sido explorada tanto pela indústria quanto pela comunidade acadêmica. Onze anos depois de ter surgido, XML resolveu vários problemas importantes, de forma muito elegante. Além disso, XML foi adotada como recomendação para troca de dados por indústrias e comunidades científicas de muitas áreas, variando desde a indústria de vendas até a de saúde, incluindo aplicações extremamente atuais como Web Science e M-Government.
Este mini-curso é direcionado a pessoas que querem trabalhar com pesquisa em XML, ou que simplesmente querem estudar XML com foco industrial ou acadêmico. Ele resume os principais usos de XML nos dias atuais, os problemas de pesquisa que XML ajudou a resolver e os que ainda estão abertos. É importante ressaltar que este capítulo não pretende cobrir toda a vasta literatura sobre XML. Ao invés disso, ele pretende ser um ponto de partida para qualquer pessoa que decida conhecer esta linguagem versátil, extremamente útil e poderosa chamada XML."
 

JAI: Minicurso 7: "Geometria Computacional" (Parte 2/3)
Cristina G. Fernandes (IME-USP), José Coelho de Pina Jr. (IME-USP)
Horário: 10:45 - 12:45
Local: Auditório 5

Resumo:
"Este mini-curso é um convite modesto ao estudo de geometria computacional, feito através de problemas clássicos: par mais próximo, fecho convexo, interseção de segmentos e divisão de polígono. No problema do par mais próximo, são dados pontos no plano, e deseja-se determinar um par mais próximo destes pontos. Apresentamos um elegante algoritmo de divisão e conquista para este problema. Existem vários algoritmos que determinam o fecho convexo de um conjunto de pontos no plano. Apresentamos quatro deles: um algoritmo incremental, o embrulho de presente, o de Graham e o Quickhull. Estes algoritmos usam-se de técnicas bem diferentes, e mostram como um problema fundamental pode ser atacado de diversas maneiras. O bem sucedido método da linha de varredura é apresentado usando dois problemas: interseção de segmentos e divisão de polígono."
 

JAI: Minicurso 7: "Geometria Computacional" (Parte 3/3)
Cristina G. Fernandes (IME-USP), José Coelho de Pina Jr. (IME-USP)
Horário: 16:15 - 18:15
Local: Auditório 5

Resumo:
"Este mini-curso é um convite modesto ao estudo de geometria computacional, feito através de problemas clássicos: par mais próximo, fecho convexo, interseção de segmentos e divisão de polígono. No problema do par mais próximo, são dados pontos no plano, e deseja-se determinar um par mais próximo destes pontos. Apresentamos um elegante algoritmo de divisão e conquista para este problema. Existem vários algoritmos que determinam o fecho convexo de um conjunto de pontos no plano. Apresentamos quatro deles: um algoritmo incremental, o embrulho de presente, o de Graham e o Quickhull. Estes algoritmos usam-se de técnicas bem diferentes, e mostram como um problema fundamental pode ser atacado de diversas maneiras. O bem sucedido método da linha de varredura é apresentado usando dois problemas: interseção de segmentos e divisão de polígono."
 

Quarta-feira (22/07)

 
JAI: Minicurso 2: "Introdução ao Processamento de Imagens Usando R" (Parte 1/3)
Alejandro Frery (UFAL), Talita Perciano (IME-USP)
Horário: 08:30 - 10:30
Local: Auditório 5
Resumo:
"Este mini-curso apresenta algumas noções básicas de processamento digital de imagens empregando R. R é uma plataforma FLOSS (Free-Libre Open Source Software) e uma linguagem de programação de alto nível orientada a processamento matricial e, com isso, apta a lidar de forma natural com muitas operações básicas e transformações de imagens."
 
JAI: Minicurso 2: "Introdução ao Processamento de Imagens Usando R" (Parte 2/3)
Alejandro Frery (UFAL), Talita Perciano (IME-USP)
Horário: 10:45 - 12:45
Local: Auditório 5
Resumo:
"Este mini-curso apresenta algumas noções básicas de processamento digital de imagens empregando R. R é uma plataforma FLOSS (Free-Libre Open Source Software) e uma linguagem de programação de alto nível orientada a processamento matricial e, com isso, apta a lidar de forma natural com muitas operações básicas e transformações de imagens."
 
JAI: Minicurso 4: "Engenharia de Software para Sistemas Embarcados" (Parte 1/3)
Flávio Wagner (UFRGS), Luigi Carro (UFRGS)
Horário: 16:15 - 18:15
Local: Auditório 5
Resumo:
"Sistemas eletrônicos embarcados apresentam uma funcionalidade bastante diversificada e complexa e precisam atender requisitos geralmente conflitantes, como desempenho, restrições de tempo real, consumo de potência e energia, tempo de projeto e custo. Infelizmente, as metodologias tradicionais de Engenharia de Software, que privilegiam a eficiência do processo de desenvolvimento, mas não necessariamente as qualidades físicas do produto final (como desempenho, consumo de energia e ocupação de memória), não são inteiramente adequadas para o contexto de Sistemas Embarcados. Este mini-curso discute de que forma os paradigmas e técnicas adotados na Engenharia de Software tradicional, como orientação a objetos, UML, MDE (Model-Driven Engineering) e AOD (Aspect-Oriented Design), podem ser adaptados para o projeto de software embarcado."
 

Quinta-feira (23/07)

 
JAI: Minicurso 6: "Robótica Inteligente: Da Simulação às Aplicações no Mundo Real" (Parte 1/3)
Denis Fernando Wolf (USP São Carlos), Eduardo do Valle Simões (USP São Carlos), Fernando Santos Osório (USP São Carlos)
Horário: 08:30 - 10:30
Local: Auditório 5
Resumo:
"Este mini-curso foi elaborado com a intenção de abordar e organizar os principais conceitos envolvidos no projeto de sistemas robóticos móveis autônomos e inteligentes, bem como apresentar a aplicação das principais técnicas do estado-da-arte no projeto de soluções robóticas para os principais desafios do mundo real. Serão abordadas as principais ferramentas de modelagem e simulação de robôs e serão apresentados vários exemplos de projetos desenvolvidos com a participação dos autores para ilustrar diferentes metodologias de implementação de sistemas robóticos práticos."
 
JAI: Minicurso 6: "Robótica Inteligente: Da Simulação às Aplicações no Mundo Real" (Parte 2/3)
Denis Fernando Wolf (USP São Carlos), Eduardo do Valle Simões (USP São Carlos), Fernando Santos Osório (USP São Carlos)
Horário: 10:45 - 12:45
Local: Auditório 5
Resumo:
"Este mini-curso foi elaborado com a intenção de abordar e organizar os principais conceitos envolvidos no projeto de sistemas robóticos móveis autônomos e inteligentes, bem como apresentar a aplicação das principais técnicas do estado-da-arte no projeto de soluções robóticas para os principais desafios do mundo real. Serão abordadas as principais ferramentas de modelagem e simulação de robôs e serão apresentados vários exemplos de projetos desenvolvidos com a participação dos autores para ilustrar diferentes metodologias de implementação de sistemas robóticos práticos."
 
JAI: Minicurso 8: "Modelos e Processo para o Desenvolvimento de Sistemas Sensíveis ao Contexto" (Parte 1/3)
Vaninha Vieira (UFBA), Ana Carolina Salgado (UFPE), Patrícia Cabral de Azevedo Restelli Tedesco (UFPE)
Horário: 16:15 - 18:15
Local: Auditório 5
Resumo:
"A necessidade dos usuários de realizar tarefas complexas e de processar crescente volume de informação em pouco tempo apresenta um novo desafio aos sistemas computacionais: como diminuir a necessidade da interação explícita do usuário com o sistema para obter o que deseja? Contexto é o conhecimento que permite definir o que é ou não relevante em uma dada situação. Sistemas sensíveis ao contexto (CSS) são aqueles que usam o contexto para filtrar e disseminar informações mais úteis e adaptar seus serviços às necessidades dos usuários. Ao desenvolver CSS deve-se considerar tarefas não triviais relacionadas à especificação, gerenciamento e uso do contexto. Este mini-curso apresenta uma visão geral do conceito de contexto, discute modelos para representação e gerenciamento de contexto e processos de apoio a desenvolvedores de CSS. Um exemplo de projeto de um CSS é detalhado para mostrar a aplicabilidade dos conceitos apresentados. Desafios e direções de pesquisa são, também, indicados."
 

Sexta-feira (24/07)

 
JAI: Minicurso 2: "Introdução ao Processamento de Imagens Usando R" (Parte 3/3)
Alejandro Frery (UFAL), Talita Perciano (IME-USP)
Horário: 08:30 - 10:30
Local: Auditório 3
Resumo:
"Este mini-curso apresenta algumas noções básicas de processamento digital de imagens empregando R. R é uma plataforma FLOSS (Free-Libre Open Source Software) e uma linguagem de programação de alto nível orientada a processamento matricial e, com isso, apta a lidar de forma natural com muitas operações básicas e transformações de imagens."
 
JAI: Minicurso 4: "Engenharia de Software para Sistemas Embarcados" (Parte 2/3)
Flávio Wagner (UFRGS), Luigi Carro (UFRGS)
Horário: 10:45 - 12:45
Local: Auditório 3
Resumo:
"Sistemas eletrônicos embarcados apresentam uma funcionalidade bastante diversificada e complexa e precisam atender requisitos geralmente conflitantes, como desempenho, restrições de tempo real, consumo de potência e energia, tempo de projeto e custo. Infelizmente, as metodologias tradicionais de Engenharia de Software, que privilegiam a eficiência do processo de desenvolvimento, mas não necessariamente as qualidades físicas do produto final (como desempenho, consumo de energia e ocupação de memória), não são inteiramente adequadas para o contexto de Sistemas Embarcados. Este mini-curso discute de que forma os paradigmas e técnicas adotados na Engenharia de Software tradicional, como orientação a objetos, UML, MDE (Model-Driven Engineering) e AOD (Aspect-Oriented Design), podem ser adaptados para o projeto de software embarcado."
 
JAI: Minicurso 4: "Engenharia de Software para Sistemas Embarcados" (Parte 3/3)
Flávio Wagner (UFRGS), Luigi Carro (UFRGS)
Horário: 16:15 - 18:15
Local: Auditório 3
Resumo:
"Sistemas eletrônicos embarcados apresentam uma funcionalidade bastante diversificada e complexa e precisam atender requisitos geralmente conflitantes, como desempenho, restrições de tempo real, consumo de potência e energia, tempo de projeto e custo. Infelizmente, as metodologias tradicionais de Engenharia de Software, que privilegiam a eficiência do processo de desenvolvimento, mas não necessariamente as qualidades físicas do produto final (como desempenho, consumo de energia e ocupação de memória), não são inteiramente adequadas para o contexto de Sistemas Embarcados. Este mini-curso discute de que forma os paradigmas e técnicas adotados na Engenharia de Software tradicional, como orientação a objetos, UML, MDE (Model-Driven Engineering) e AOD (Aspect-Oriented Design), podem ser adaptados para o projeto de software embarcado."
 
JAI: Minicurso 6: "Robótica Inteligente: Da Simulação às Aplicações no Mundo Real" (Parte 3/3)
Denis Fernando Wolf (USP São Carlos), Eduardo do Valle Simões (USP São Carlos), Fernando Santos Osório (USP São Carlos)
Horário: 08:30 - 10:30
Local: Auditório 5
Resumo:
"Este mini-curso foi elaborado com a intenção de abordar e organizar os principais conceitos envolvidos no projeto de sistemas robóticos móveis autônomos e inteligentes, bem como apresentar a aplicação das principais técnicas do estado-da-arte no projeto de soluções robóticas para os principais desafios do mundo real. Serão abordadas as principais ferramentas de modelagem e simulação de robôs e serão apresentados vários exemplos de projetos desenvolvidos com a participação dos autores para ilustrar diferentes metodologias de implementação de sistemas robóticos práticos."
 
JAI: Minicurso 8: "Modelos e Processo para o Desenvolvimento de Sistemas Sensíveis ao Contexto" (Parte 2/3)
Vaninha Vieira (UFBA), Ana Carolina Salgado (UFPE), Patrícia Cabral de Azevedo Restelli Tedesco (UFPE)
Horário: 10:45 - 12:45
Local: Auditório 5
Resumo:
"A necessidade dos usuários de realizar tarefas complexas e de processar crescente volume de informação em pouco tempo apresenta um novo desafio aos sistemas computacionais: como diminuir a necessidade da interação explícita do usuário com o sistema para obter o que deseja? Contexto é o conhecimento que permite definir o que é ou não relevante em uma dada situação. Sistemas sensíveis ao contexto (CSS) são aqueles que usam o contexto para filtrar e disseminar informações mais úteis e adaptar seus serviços às necessidades dos usuários. Ao desenvolver CSS deve-se considerar tarefas não triviais relacionadas à especificação, gerenciamento e uso do contexto. Este mini-curso apresenta uma visão geral do conceito de contexto, discute modelos para representação e gerenciamento de contexto e processos de apoio a desenvolvedores de CSS. Um exemplo de projeto de um CSS é detalhado para mostrar a aplicabilidade dos conceitos apresentados. Desafios e direções de pesquisa são, também, indicados."
 
JAI: Minicurso 8: "Modelos e Processo para o Desenvolvimento de Sistemas Sensíveis ao Contexto" (Parte 3/3)
Vaninha Vieira (UFBA), Ana Carolina Salgado (UFPE), Patrícia Cabral de Azevedo Restelli Tedesco (UFPE)
Horário: 16:15 - 18:15
Local: Auditório 5
Resumo:
"A necessidade dos usuários de realizar tarefas complexas e de processar crescente volume de informação em pouco tempo apresenta um novo desafio aos sistemas computacionais: como diminuir a necessidade da interação explícita do usuário com o sistema para obter o que deseja? Contexto é o conhecimento que permite definir o que é ou não relevante em uma dada situação. Sistemas sensíveis ao contexto (CSS) são aqueles que usam o contexto para filtrar e disseminar informações mais úteis e adaptar seus serviços às necessidades dos usuários. Ao desenvolver CSS deve-se considerar tarefas não triviais relacionadas à especificação, gerenciamento e uso do contexto. Este mini-curso apresenta uma visão geral do conceito de contexto, discute modelos para representação e gerenciamento de contexto e processos de apoio a desenvolvedores de CSS. Um exemplo de projeto de um CSS é detalhado para mostrar a aplicabilidade dos conceitos apresentados. Desafios e direções de pesquisa são, também, indicados."