Sobre
Doutorando em Informática na área de banco de dados pela Pontifícia Universidade Católica do Rio de Janeiro - PUC-RIO (término previsto para 2018).
Mestrado em Informática (2014) pela PUC-RIO.
Graduação em Sistemas de Informação (2011) pelo Centro Universitário de Anápolis - UniEvangélica.
Graduação em Pedagogia (2007) pela Universidade Estadual de Goiás.
Trabalho atualmente como pesquisador em informática no Laboratório BioBD (PUC-Rio), atuando principalmente nos seguintes temas: banco de dados, tuning automático de banco de dados, migração de dados, engenharia de software, programação orientada a objetos, desenvolvimento de software baseado em componentes, reuso de software e programação. Possuo experiência profissional como administrador de banco de dados, gerente em desenvolvimento de software, engenheiro de software e desenvolvimento web.
Áreas de interesse
- bancos de dados
- sintonia fina
- mineração de dados
- aprendizado de máquina
Eu amo projetar e desenvolver softwares.
Se você quiser falar sobre qualquer coisa que envolva desenvolvimento de software, ficarei satisfeito em ouvi-lo (e palpitar se possível =D).
Projetos e publicações
Pesquisa
Desenvolvimento
Disciplinas em andamento (2015)
-
INF2032 - Tópicos de Banco de Dados III - Bancos de Dados e Aplicações Científicas
Tem por objetivo discutir e avaliar sobre temas atuais de pesquisa em Bancos de Dados. Em particular, tópicos relacionado com sistemas e aplicações ditas científicas, como é o caso de bioinformática e ciências da vida em geral. Nesta disciplina serão discutidas aplicações conhecidas, soluções existentes e oportunidades criadas por problemas recentes. Apesar de potencialmente envolver vários aspectos de computação, a ênfase será dada em problemas relacionados com bancos de dados.
-
INF2056 - Algoritmos Distribuídos
O objetivo desta disciplina é apresentar alguns algoritmos fundamentais usados em sistemas distribuídos, os modelos de sistema assumidos para estes algoritmos e considerações práticas para a implementação dos mesmos. Além de conhecerem os conceitos teóricos, os alunos deverão obter experiência prática com a implementação de alguns algoritmos.
Trabalhos:
- Apresentação capítulo 12 - Memória Compartilhada Distribuída
- Implementação do algoritmo de eleição baseado em convites:
- Implementação
- Vídeo demonstrativo
-
INF2981 - Aprendizado de maquina
O objetivo deste curso é apresentar os conceitos e métodos computacionais disponíveis para problemas clássicos de Aprendizado de Máquina, tais como predição, classificação, regressão e agrupamentos. A ênfase é no uso de modelos probabilísticos.
Principais disciplinas cursadas (2013 e 2014)
-
INF2926 - Projeto e análise de algoritmos - PAA
Uma ótima disciplina para melhorar pontos fundamentais no perfil de um pesquisador. Uma oportunidade única de evoluir a capacidade de lidar com o problema algorítmico. São tratados temas como: complexidade e analise de algoritmos; princípios de projeto de algoritmos; dividir e conquistar; método guloso; programação dinâmica; busca e caminhamento em grafos; recuo; ramificação e poda; problemas NP completos; paralelismo; e outros.
-
INF2217 - Lógica e especificação
A disciplina tratou principalmente os fundamentos de logica e seu uso como linguagem de especificação. Também foi visto teoria dos conjuntos, logica proposicional (completude funcional), logica de primeira ordem, semântica, modelos, definibilidade e outros tópicos.
-
INF2319 - Construção de Sistemas Gerenciadores de Banco de Dados - CSGBD
Foram apresentados os requisitos de Sistemas Gerenciadores de Bancos de Dados (SGBD), a arquitetura básica de SGBDs centralizados, o subsistema de armazenamento, e detalhes teóricos envolvidos na arquitetura básica de um SGBD. Como avaliação, realizei alterações na implementação do algoritmo Nested-Loop do SGBD PostgreSQL e a confecção de uma relatório de avaliação das modificações.
-
INF2324 - Bancos de Dados Distribuídos
Tratou de bancos de dados distribuídos - Conceituação. Transações, recuperação e serializabilidade. Teoria da serializabilidade. Bloqueios em duas fases: algoritmos centralizados e distribuídos. Tratamento de impasses. Escalonamento de transações sem bloqueios. Recuperação de falhas: centralizada e distribuída. Replicação de dados.
-
INF2030 - Tópicos de Banco de Dados I - Mineração de Grandes Conjuntos de Dados
A disciplina abordou tecnologias para minerar grandes volumes de dados. Entre os tópicos tratados, estão: Sistemas de arquivos distribuídos. Pesquisa por similaridade. Processamento de sequencias de dados. Motores de busca. Mineração de conjuntos frequentes de itens de dados. Agrupamento de grandes volumes de dados multidimensionais. Sistemas de recomendação. Analise e mineração da estrutura de grandes grafos.
-
INF2390 - Tópicos de Banco de Dados IV - Analogia e Metáfora em Tecnologia da Informação
Disciplina ministrada pelo professor Antônio Furtado, um dos professores de informática mais renomados do país. As aulas cobriram princípios e métodos desenvolvidos em Semiótica e Inteligência Artificial, onde foram discutidas suas aplicações a várias áreas, entre as quais bancos de dados, sistemas de informação, web semântica, interação humano-computador e engenharia de software.
-
INF2102 - Projeto final de Programação
A disciplina teve o objetivo de averiguar se o aluno sabe empregar técnicas eficazes para especificar, projetar, desenvolver, controlar a qualidade e documentar programas, que tenham um nível de complexidade pelo menos mediano. Os programas devem ser confiáveis, úteis e utilizáveis e devem possuir elevada qualidade de engenharia.