Teaching

Undergraduate and graduate courses I have taught at UFF. Course materials are shared privately with enrolled students via Google Classroom.

Graduate

Computer Science · MSc/PhD 3×

Language Models

From n-grams to Transformers and LLMs — pre-training, fine-tuning, prompting, alignment and evaluation.

  • 2025/2
  • 2024/2
  • 2023/2
Computer Science · MSc/PhD 3×

Natural Language Processing

Statistical and neural methods for NLP — text representations, sequence models, Transformers and core tasks.

  • 2022/1
  • 2021/1
  • 2017/2
Computer Science · MSc/PhD 2×

Relational Machine Learning

Learning from relational and structured data — statistical relational learning, inductive logic programming and graph neural networks.

  • 2022/2
  • 2018/2
Computer Science · MSc/PhD 1×

Machine Learning

Core machine learning — supervised and unsupervised learning, model selection and generalization.

  • 2021/2
Computer Science · MSc/PhD 2×

Artificial Intelligence

Search, logic and knowledge representation, probabilistic reasoning and learning at graduate level.

  • 2020/1
  • 2018/1
Computer Science · MSc/PhD 1×

Representation Learning

Learning meaningful data representations through neural networks, embeddings, self-supervised learning, and deep learning techniques.

  • 2019/1

Undergraduate

Computer Science 8×

Programming with C

Introductory programming in C — control flow, functions, arrays, pointers, memory and basic data structures.

  • 2026/2
  • 2025/2
  • 2025/1
  • 2024/2
  • 2024/1
  • 2019/2
  • 2020/1
  • 2017/2
Computer Science 8×

Artificial Intelligence

Foundations of AI — search, knowledge representation and reasoning, uncertainty and an introduction to machine learning.

  • 2025/1
  • 2022/2
  • 2022/1
  • 2021/2
  • 2021/1
  • 2019/1
  • 2018/2
  • 2018/1
Computer Science & Engineering 7×

Programming with Python

Introductory programming in Python, focused on problem solving.

  • 2026/2
  • 2024/1
  • 2023/2
  • 2020/2
  • 2019/2
  • 2016/2
  • 2016/1
Computer Science 2×

Natural Language Processing

Introduction to NLP — text processing, language modeling, word representations and classic NLP tasks.

  • 2017/2
  • 2020/2
Computer Science 1×

Object-Oriented Programming

Object-oriented programming, focused on classes, objects, encapsulation, inheritance, polymorphism, and software design principles.

  • 2016/2

Before 2020

Dashed semesters were taught online during the COVID-19 pandemic.