teaching
Courses I have taught.
2026.2
Compilers
This course covers the theory and practice of compiler construction, from lexical and syntactic analysis to semantic analysis, intermediate representations, and code generation. Students build the stages of a compiler and connect formal language theory to real implementation. Offered at UFRPE for the Computer Engineering course.
Theory of Computation
This course introduces the formal foundations of computer science, including automata, formal languages, Turing machines, computability, and complexity. Students learn to reason about what can be computed and at what cost. Offered at UFRPE for the Computer Engineering course.
Project 4 (Software Factory)
A hands-on course organized as a software factory, where students work in teams to develop real software projects end to end. The focus is on applying engineering practices — requirements, agile process, version control, code review, testing, and delivery — in a setting that mirrors industry work. Offered at UFRPE for the Computer Engineering course.
2026.1
Design Patterns
This course focuses on advanced object-oriented programming concepts, specifically design patterns and their practical applications in software development. Students learn to identify common design problems and apply proven solutions through the study of creational, structural, and behavioral patterns. Offered at UPE for Software Engineering courses.
Programming 4 (Web Development)
This course covers modern web development principles and practices, including both front-end and back-end technologies. Students learn to build dynamic web applications using contemporary frameworks and tools, focusing on responsive design, client-server architecture, and web application security. Offered at UPE for Information Systems courses.
2025.2
Programming 3 (Design Patterns)
This course focuses on advanced object-oriented programming concepts, specifically design patterns and their practical applications in software development. Students learn to identify common design problems and apply proven solutions through the study of creational, structural, and behavioral patterns. Offered at UPE for Information Systems and Software Engineering courses.