10 Best Practices for Agile Software Development - How to develop high-quality software?
Improving the Quality of Life in Cities with Computer Science
Brown University and Texas A&M University, 2018.
Smart Cities: Interdisciplinarity, Open Source, and Startups
) SEMISH'2016 - CSBC.
Smart Cities: Concepts, Platforms, and Challenges
) JAI'2016 - CSBC.
Design Patterns (GoF/Ruby)
, 2016 (
Entrepreneurship in Software Startups - How to fail in a startup
) Agile Trends'2014.
Semi-Automatic Evaluation of Free and Open Source Software Quality
Web Service Orquestration and Choreographies
(in Portuguese). CBSoft'2010 short course.
Computational Grids: fundamental concepts and concrete cases
(in Portuguese), SBC/JAI'2008. (
Evolution of Databases in Agile Methods
(in Portuguese), SBES/SBBD'2008
Agile Software Development and eXtreme Programming
(in Portuguese) (updated 2008; previous versions:
Difficulties Deploying Agile Methods
(in Portuguese), Encontro Ágil'2008
Developing Software with Quality and Agility
(fun, illustrated version) (in Portuguese), UOL'2007
: Improving the Design of Existing Code (in Portuguese) (2001, updated 2017)
(in Portuguese) (updated 2004)
(in Portuguese) (updated 2005)
The Art and Science of Debugging
(in Portuguese, 2002->2017)
(in Portuguese) (
Future Directions in Middleware Research and Technology
(2001, but still valid :-)
NextGeneration Distributed Systems
Ubiquitous Computing and Active Spaces
: The Gaia Approach (2001)
Distributed Component Systems
(in Portuguese) (2001)