I teach robotics, artificial intelligence and computing, across undergraduate courses, graduate programs and professional specializations. My teaching work has explored ways to give students an active role in learning: preparation before class, feedback, peer discussion and problems that require them to build and test solutions.
In robotics, this connects mathematics, programming, electronics and control in a working system. In computing, it means moving between models, code and the behavior of algorithms. The course record, recordings, examples and education publications below document these parts of my teaching.
Courses
I am based at the Centro de Ciências Computacionais (C3), Universidade Federal do Rio Grande. The record below separates institutions, degree levels and teaching roles. Original course titles and codes are retained alongside English translations.
FURG · Undergraduate teaching
Centro de Ciências Computacionais. I also coordinate the undergraduate degree in Robotics Engineering, which began in 2026. Program information.
- Intelligent Systems
-
Sistemas Inteligentes
Computer Engineering and Information Systems. Shared teaching in recorded offerings.
- Intelligent Systems for Automation
-
Sistemas Inteligentes para Automação
Automation Engineering. The course code changed from 23080 to 23140 in 2026.
- Topics in Intelligent Systems for Automation
-
Tópicos em Sistemas Inteligentes para Automação
Reading, implementation, discussion and research-paper activities.
- Introduction to Robotics Engineering
-
Introdução à Engenharia de Robôs
Co-taught with Paulo Drews.
- Compilers
-
Compiladores
An incremental practical sequence from a small CPU to lexical and syntactic analysis.
- Digital Manufacturing
-
Manufatura Digital
Shared teaching for Naval Mechanical Engineering, including advance reading and in-class problem solving.
- Manufacturing Systems
-
Sistemas de Manufatura
Shared teaching, with reading and video preparation followed by manufacturing-system problems.
FURG · Graduate teaching
- Language and Multimodal Models for Autonomous Robotics
-
Modelos Linguísticos e Multimodais para Robótica Autônoma
PPGComp master's and doctoral elective. Tokenization, embeddings, attention, Transformers, model adaptation, retrieval, agents and multimodal models for autonomous robots. Activities connect research papers with implementation and discussion.
- Algorithms and Data Structures
-
Algoritmos e Estruturas de Dados
PPGComp. Module contribution within a shared course.
- Digital Literacy
-
Alfabetização Digital
Postgraduate specialization in Permanent Archives. Co-taught with Luciano Silva da Silva.
My graduate teaching also includes dissertation supervision and supervised teaching practice.
PRIA · Robotics and Artificial Intelligence specialization
A joint postgraduate specialization of FURG (Brazil), UTEC (Uruguay) and UNRaf (Argentina). I coordinate the program at FURG. Program information.
- Artificial Intelligence II
-
Inteligência Artificial II
Recent classes include tokenization, embeddings, CLIP, attention and Transformers.
- Social Impact of Automation
-
Impacto Social da Automação
Shared teaching. Earlier course communications also used the title Social Impact of Robotics.
- Educational Robotics
-
Robótica Educativa
Shared or modular teaching contribution.
- Research in Robotics and Artificial Intelligence I and II
-
Pesquisa em Robótica e Inteligência Artificial I e II
Shared or modular participation in research-project components.
- Research Methodology
-
Metodología de la investigación / Metodologia de Trabalho Científico
Co-taught. Research design, academic writing, project development and peer discussion.
Universidade Franciscana · Invited postgraduate teaching
Postgraduate specialization in Data Science.
- Text Mining
-
Mineração de Dados em Texto
Language models, embeddings and practical information extraction from text.
- ETL: Data Cleaning and Transformation
-
ETL Limpeza e Transformação de Dados
Data extraction, cleaning, transformation, pipelines, anonymization and a documented project with public datasets.
UFSM · Earlier undergraduate teaching
I taught at Universidade Federal de Santa Maria from 2012 to 2022. The periods below summarize the historical record and selected documented offerings.
- Data Structures for Automation
-
Estrutura de Dados para Automação
C, Python, memory, data structures, algorithms and their implementation.
- Intelligent Systems
-
Sistemas Inteligentes
Neural networks, genetic algorithms, reinforcement learning and fuzzy logic.
- Deep Learning
-
Neural-network foundations, optimization, convolutional and recurrent models.
- Advanced Programming
-
Programação Avançada
Object-oriented programming and collaborative problem-solving projects.
- Numerical Control Techniques for Automation
-
Técnicas de Comando Numérico para Automação
CAD/CAM, mechanical design and manufacturing.
- Industrial Robotics
-
Robótica Industrial
Historical teaching record; related classroom projects are discussed in the education publications below.
- Control Systems
-
Sistemas de Controle
- Scientific and Technological Methodology, Communication and Expression A
-
Metodologia Científica, Tecnológica, Comunicação e Expressão A
Scientific methods, research, reports and presentations.
Early teaching experience · UFRGS and Osaka University
- Special Topics in Computer Engineering II: Epigenetic Robotics
-
Tópicos Especiais em Engenharia de Computação II
Undergraduate elective taught under the supervision of Walter Fetter Lages, with an experimental project in cognitive and developmental robotics.
- Seminar on Adaptive Machine Systems
-
Teaching assistantship.
- Basic Exercise for Pioneering Integrated Education and Research Program
-
Early graduate teaching experience in the Engineering Master's Program.
- Computer and Programming
-
Early undergraduate teaching experience in C programming for Mechanical Engineering.
Recorded classes
My YouTube channel contains short explanations, worked tutorials and full class recordings. Browse by subject below, or use the historical course collections. The lists are organized as study resources rather than as a new formal course.
Course collections
- Data Structures for Automation · DPEE1038
C programming, memory, data structures and algorithms. The historical playlist includes classroom recordings and some third-party reference material. - Intelligent Systems · DPEE1062
Longer recordings on backpropagation, classification, reinforcement learning, fuzzy logic, genetic algorithms and Transformers. - PRIA · Presentation and reference collection
The program’s opening presentation, selected lessons, a CAD demonstration and external references.
Programming, data structures and algorithms
Structures and algorithms
- Introduction to Binary Trees about 5 min
- Binary Search Tree about 14 min
- Árvore AVL about 10 min
- Algoritmo de Ordenação de Dados Bubble Sort about 35 min
- Ordenação Rápida about 9 min
- Torre de Hanoi em Linguagem C about 1 h
C, memory and implementation
- Linha de Comando e Compilador C about 29 min
- Tipos Primitivos de Dados em Linguagem C about 33 min
- Complemento de Dois e Ponto Flutuante about 37 min
- Variáveis, Endereços, Ponteiros e Endereços de Ponteiros about 9 min
- Ponteiros para Ponteiros em C about 25 min
- Alocação Dinâmica de Memória – Parte 1/2 about 37 min
- Etapas da Compilação e Arquivos de Cabeçalho about 25 min
- Lista Encadeada Passo a Passo about 39 min
- Pilha Passo a Passo about 15 min
- Pilha com Arquivo de Cabeçalho about 11 min
- Fila Passo a Passo about 14 min
- DPEE1038 Linha de Comando e Compiladores about 35 min
- Estudo de Caso: Disciplinas e Pre-requisitos em Python about 1 h 20 min
- Algoritmo de Balanceamento de Tarefas about 1 h 20 min
Python and working with data
- Importing Modules in Python about 10 min
- Álgebra Linear com NumPy about 13 min
- Orientação a Objetos em Python about 5 min
- (Nem tão)Breve revisão de Python e NumPy about 45 min
- Leitura de um dataset about 50 min
- Introdução ao Pandas about 26 min
Neural networks and deep learning
Foundations and implementation
- Introdução sobre Deep Learning about 2 min
- Modelo de um Neurônio Artificial about 7 min
- Código de um Neurônio about 7 min
- A Rede Perceptron about 6 min
- O Macete: Como programar redes neurais usando Álgebra Linear about 7 min
- Código de uma Rede Perceptron about 9 min
- Teorema da Aproximação Universal about 2 min
- Exemplos de Aplicação de Redes Neurais Artificiais about 2 min
- Treinamento Supervisionado about 3 min
- A Função de Custo about 4 min
- O Conceito da Derivada about 14 min
- Gradient Descent Method about 11 min
- Descida do Gradiente: Passo a Passo about 58 min
- Introdução às Redes Neurais Artificiais usando SimBrain about 39 min
- Neurônios das Portas Lógicas AND, OR e NOT about 17 min
- Backpropagation about 28 min
- Implementação do Alg. Backprop. (Grav. ao Vivo) about 1 h 26 min
Frameworks and architectures
- Introdução ao Keras about 17 min
- Introdução ao PyTorch about 44 min
- Redes Convolucionais – Parte 1 about 37 min
- Redes Convolucionais – Parte 2 about 52 min
- Introdução às RNNs about 13 min
- LSTM about 28 min
DPEE1085 classroom recordings
- DPEE1085 – Aula 1 – 17/3 about 1 h 2 min
- DPEE1085 Aula 2 about 1 h 44 min
- DPEE1085 Aula 3 about 1 h 10 min
Intelligent systems
Evolutionary methods, reinforcement learning, fuzzy systems and decision trees
- Introdução sobre Aprendizagem por Reforço about 17 min
- Algoritmos Genéticos – Aula 1 de 2 about 34 min
- Algoritmos Genéticos – Aula 2 de 2 about 37 min
- Fuzzy Cart Pole – Portuñol about 2 h 14 min
- PRIA Fuzzy (aula longa!) about 1 h 43 min
- Decision Tree about 19 min
Language models, Transformers and multimodal AI
Models, architectures and applications
- Word2Vec about 35 min
- Word2Vec Explained with Applied Examples (long video!) about 1 h 58 min
- Sistema de Recomendação usando Word2Vec about 37 min
- Introdução à Arquitetura Transformer (vídeo longo) about 2 h 2 min
- Introduction to Transformers from a Robotics Point of View about 1 h 56 min
- O Poder dos VLMs about 23 min
- Ferramentas de IA about 42 min
Science, technology and public discussion
Máquinas Pensantes is a separate podcast collection on artificial intelligence, robotics and social questions.
Talks and discussions
- Sobre Ciência about 10 min
- The end of labour: How to seek fulfillment without employment? about 26 min
- O Paradoxo do Papagaio about 9 min
- Entrevista sobre o futuro da Robótica (Uruguai) about 24 min
- Qual é o Futuro da Robótica Assistiva e de Reabilitação? about 1 h 28 min
Simulations and code
These examples make the behavior of algorithms and systems available for inspection and experimentation. Each repository or notebook provides its own instructions.
Artificial intelligence and machine learning
- Gradient descent simulator
Interactive web demonstration. Adjust parameters and the learning rate, estimate a gradient, and follow optimization one step at a time. - Markov chain simulation
Python example. A small stochastic-state simulation introducing transition probabilities before reinforcement learning. - Markov decision processes, Q-learning and SARSA
Python examples. Compare fixed-policy simulation with Q-learning and SARSA in the same small environment. - Reinforcement learning in Grid World
Python/Pygame demonstration. Watch Q-values evolve while switching between Q-learning and SARSA.
Language models and retrieval
- Retrieval-augmented generation with Brazilian literature
Google Colab notebook. Work through chunking, embeddings, query expansion, hybrid search, reranking and generation.
Programming and computer systems
- 4-bit stack CPU simulator
HTML simulator source. Inspect stack-based execution, memory and logs in step or run mode. - Separate compilation in C
C/Make example and exercise. Separate declarations and implementations into headers and source files, then build them with Make.
Robotics
- robot2d
Legacy Python robot simulation. Draw and adapt robot trajectories using dynamic movement primitives. This is a legacy example; its repository documents the original dependencies.
Teaching practice and research
Preparation, feedback and collaborative problem solving
In a 2016 case study, my coauthors and I described a six-phase flipped-classroom method in Data Structures for Automation. Students prepared before class, answered an ungraded diagnostic quiz, revisited difficulties and worked on open-ended problems in groups. The quiz included an option to express uncertainty, and the teacher used the responses to guide the review.
The study reported observations of autonomy, mutual help, creativity and teamwork. Conventional exam performance did not improve or deteriorate in that comparison. These observations refer to that particular classroom experience.
Related work in Advanced Programming and later manufacturing courses connected advance study with collaborative problem solving. More recent courses use combinations of reading, implementation, research papers and discussion, with activities adapted to the subject.
Making models work
Robotics provides a setting where students can connect ideas from several engineering disciplines. A mobile-robot teaching project combined mechanical design, fabrication, electronics, sensing and control. In a quadruped classroom study, groups derived and implemented kinematic models, then tested the resulting motion.
Our school outreach work connected robot demonstrations to familiar ideas in mathematics and physics. These projects brought construction, explanation and experimentation into the same activity.
Educational technology with a clear learning purpose
In a coauthored position paper on AI and big data in education, we argued for the use of learning theory and empirical evaluation to guide educational technology. The paper also examined privacy, individual differences, firsthand experience and the social relationship between teachers and students.
Jubileo, an immersive simulation framework developed with colleagues, explored social robots and language-model interactions through language-practice games. Those activities demonstrated the framework’s possibilities; they were not a controlled test of improved learning.
Education publications and related studies
- Jubileo: An Immersive Simulation Framework for Social Robot Design. Bottega et al., Journal of Intelligent & Robotic Systems, 2023.
- Challenges and Future Directions of Big Data and Artificial Intelligence in Education. Luan et al., Frontiers in Psychology, 2020.
- Utilização de um Robô Quadrúpede como Instrumento de Ensino nas Aulas de Engenharia. Zarzicki et al., COBENGE, 2018.
- Construção de um Robô Móvel para Ensino das Disciplinas dos Cursos de Engenharia. Garcia et al., COBENGE, 2017. Related book chapter, 2023.
- Introdução a Robótica nas Escolas de Ensino Médio de Santa Maria/RS. Schirmer et al., COBENGE, 2017.
- Proposta de Metodologia de Aula Invertida Dividida em Seis Fases: Um Estudo de Caso. Guerra et al., SIGATEC, 2016.
- Robô Humanoide e Metodologia de Aprendizagem Baseada em Problemas Projetados para o Ensino Médio Brasileiro. Bertrand et al., MNR, 2016, p. 812.
- Grupo de Interesse em Robótica: Uma Experiência em Programa de Enriquecimento. Teixeira et al., ConBraSD, 2014.
Last updated: October 2026.