Besides learning I also love teaching and sharing knowledge.
I have given dozens of workshops to students with ages ranging from middle school to college and the materials of said workshops will be collected here.
This is always a work in progress!
Learn Dyalog APL from scratch
Take future goals home with you to keep learning independently
Deal with the nuts and bolts of neural networks
Recognise digits in images with machine learning
“It was amazing what we did in just 2 hours [...] In the end I was tired but satisfied with, and fascinated by what I had learned and built.” — João Afonso
“The best thing was to have this hands-on approach to learning a new programming language” — Carlos
In this workshop you get to learn Dyalog APL, a programming language that is completely different from what you have seen already, as it
⍋
, ⌽
and ⍣
andThis will have you coding in a completely different mindset. You will exercise this mindset in implementing a neural network from scratch that, by the end of the workshop, will take a look at images like the ones on the right and will recognise the digits that are written in them.
You can read more about the workshop here.
This workshop inspired this YouTube video series on learning APL with neural networks. The series is available in English.
A workshop with hands-on programming
Learn Python, one of the most popular programming languages in the world
Created for programming beginners
Learn with examples from the theory of evolution
The aim of this workshop is to introduce people to programming. Instead of introducing the concepts point-blank, we use genetic algorithms as a motivation for the concepts taught.
We will start with robots that clean rooms in a random fashion, like the one on the left, and try to improve those into robots like the one on the right.
You can check the page about the workshop here and the code here.
Use a computer to learn typesetting
Learn what you will need to write scientific reports and documents
For beginners: assumes no LaTeX knowledge whatsoever
Leave with a "gift": a cheatsheet with all you will ever need
“An excelent introduction to LaTeX, in a friendly environment, with time to introduce not only the basics but also the important and useful details.” — António Figueiras
“Explained objectively and with very interesting tips. Simple language and concrete examples.” — Carolina Salvador
You can think of LaTeX as Microsoft Word for scientists. With LaTeX we can create complex documents in a simpler manner.
For example, for mathematicians it makes it easy to write beautiful formulas, like this one: \(ax^2 + bx + c = 0 \iff x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}\).
Nowadays we can even use (some) LaTeX over at Facebook Messenger (even though it doesn't work on mobile phones): try sending $$x^2 - 1 = 0$$
to someone, and see it become \(x^2 - 1 = 0\).
You can check the page about the workshop here.
Go old-school with some pen and paper doodling
Try to crack deceptively simple puzzles
Engage in active debate about the workings of these puzzles
Flex your gray matter like you have never
In my workshop on recreational maths I expose students to deceptively simple puzzles they are already familiar with and that they can solve.
Then I show them similar puzzles that still look really simple but that they can't solve. They don't know that yet, so I usually have them attempt the puzzles on the board and argue if the puzzles are solvable or not, and why/why not.
Then I show them how mathematics can be used to prove those puzzles are unsolvable!
And the best thing is, it is even more fun than what I made it sound like!
You can read more about the workshop and the type of puzzles I present here.
Learn basic cryptography and cryptanalysis techniques
Understand the inner workings of techniques used for centuries
Crack encrypted messages
Write programs to automate message encryption and decryption
In this hands-on workshop I have one single objective in mind: have everyone encoding and deciphering messages with the several techniques I teach.
Whether we use more basic or advanced techniques, whether we do everything with pen and paper or with the help of our programming skills, this workshop ends up being very dynamic and a lot of fun when everyone tries to crack the harder, longer messages.
You can read more about this workshop here.
I really like teaching, sharing knowledge in general and public speaking! And I am, at least, decent at doing those things, so if you want to invite me to lead a workshop/talk a little bit about science (especially mathematics and computation, as those are the sciences that I know something about), invite me!
If you want me to talk about something I have never learned, it is an excellent opportunity for me to learn! I find it particularly enjoyable when my audience is composed of middle school, high school or college-level students. Maybe it is because I never had a nice audience composed of adults...
Here are some of the things that interest me and that I like reading and talking about:
Programming is my favourite hobby
I picked up Python when I was 15
APL is a programming language that I find fascinating
The programming language of the web
My "most favouritest" subject
Maths problems everyone understands but only some solve
The algorithms for when maths meets real-world needs
Because everyone likes dots connected by lines and so do I
Writing apps in Java is fun
Awesome minigames that you can code in a couple of hours
Developing better algorithms to solve our problems
Teaching a computer to see so I can look at the really important things
Random things related to the numbers everyone knows and deals with
How agents design strategies when they have their own goals to pursue
Ok, not everything; just a lot of things
I love researching about new topics!