Who am I?
I'm an assistant professor at COLTEC/UFMG, responsible for lecturing Basic Programming, Web Development, and Mobile Development classes. Also, I'm a member of the Applied Software Engineering Research Group (aSERG), where we conduct empirical research in software engineering.
My interests are related to software maintenance and evolution, mining software repositories, and empirical software engineering. Currently, I am working with mining software repositories and machine learning techniques to map software developers' expertise based on their activity in Social Code Platforms (aka GitHub and Stack Overflow).
Important note: The copyrights for the following papers belong to the publishers. Papers may be downloaded for personal or research purposes only.
Thesis & Dissertations
Honors & Awards
Here you can find basic info about the courses I am responsible for. Classes are in portuguese, but you can find a small description about them below.
Desenvolvimento de Aplicativos Android Mobile App Development: Android
In this course the students learn the fundamental concepts needed for developing mobile applications on the Android platform. Also, students are encouraged to look for real-world problems and how a mobile app solution can help solving them. We cover the following topics in this course:
- The mobile app lifecycle
- GUI componentes and guidelines
- Persistence techniques
- Communication among different applications
- Communicatio with external services
Desenvolvimento de Aplicações Web Web Applications Development
The objective of this course is to teach the fundamental principles in web application development. The idea is to expose the students to concepts, techniques, technologies, and platforms necessary to create such applications from scratch. This course is divided into three modules:
Técnicas de Desenvolvimento de Software Software Development Techniques
- Software Engineering
- Software Architecture
In this course, I teach software development techniques we frequently use when implemeting computer programs. We assume the students are aware of the main software design concepts, so we can focus on the techniques to effectively implement and maintain any kind of software. Basically, the following topics are covered:
- Version control techniques
- Design patterns
- Software architecture models
- Software Testing
Introdução a Programação Introduction to Programming
This course starts by introducing problem-solving concepts and how to use algorithms to solve them. Later, we start by practicing these concepts in a real programming language (C). I covered the following topics in this discipline:
- Types and variables
- Control-flow structures (if-else, for, while, etc)
- Multidimesional arrays
- Basic IO operations (read and write to text files)
- Basic structures concepts
Get in Touch
Universidade Federal de Minas Gerais
Colégio Técnico - Room 237
Av. Antonio Carlos, 6627 - Pampulha
31270-010 - Belo Horizonte - MG - Brazil
Phone: 55-31-3409-2519 - Fax: 55-31-3409-4962