Here you can find information regarding past, current, and sometimes near-future teaching of mine at Universidade Federal do Rio Grande do Norte. Information about previous teaching experiences can be found in my CV;

I post reviews, grades & feedback from my students as soon as they become available to me.

## Next semester (2024.1)

## List of courses taught (since 2016.1)

**Mathematical Foundations for Computation I**(FMC1) (13 times)

2016.1; 2016.2 (2); 2019.2 [lecture videos]; 2020.1→.6; 2020.2 (2); 2021.1; 2021.2 (2); 2022.1; 2022.2 [lecture videos]; 2023.2;**Mathematical Foundations for Computation II**(FMC2) (17 times)

2016.1; 2017.1 (2); 2017.2 (1+⅔); 2018.1; 2018.2 (1+⅓) [lecture videos]; 2019.1 (1+⅔) [lecture videos]; 2020.1→.6 (2); 2021.1; 2022.1; 2022.2 (⅓); 2023.1 [lecture videos]; 2024.1;**Algebraic Structures**

2024.1;**Functional Programming**(3 times)

2018.1; 2019.2 [lecture videos]; 2022.2;**Category theory & order theory**(3 times)

2018.1; 2021.2; 2023.1;**Proof theory & type theory**

2017.1;**Denotational Semantics of Programming Languages**

2023.2;**General Topology**

2019.1;**Sets, Functions, Relations**

2020.5.

## FMC reformulation

In collaboration with João Marcos and a few colleagues and students, we have created and defended this proposal which was voted against by the the commitee of my department (NB: in such commitee there were 0 profs working in related areas). Nevertheless, the modules we have designed for this proposal became part of the Computer Science programme of DIMAp (Department of Informatics and Applied Mathematics); and we have applied our work to our methodology for teaching the courses FMC1, FMC2, and FMC3 to computer science and IT students.

My teaching of FMC1 & FMC2, since 2022.1, consists of the following sub-modules:

**Introduction to Mathematical Proof (using the theory of integers)**[IDMa]

U1 of FMC1, taught 4h/week during the first half of the semester;**Introduction to Mathematical Proof (using the theory of real numbers)**[IDMb]

U2 of FMC1, taught 4h/week during the second half of the semester;**Introduction to Recursion and Induction (using functional programming)**[IRI]

U3 of FMC1, taught 2h/week during the whole semester;**Sets, Functions, Relations I**[CFR1]

U1 of FMC2, taught 4h/week during the first half of the semester;**Sets, Functions, Relations II**[CFR2]

U2 of FMC2, taught 4h/week during the second half of the semester;**Introduction to Algebraic Structures**[IEA]

U3 of FMC2, taught 2h/week during the whole semester.

My FMC1 class of 2022.2 was the first for which I entirely adopted this work, and had *by far* the most successful results our course has seen so far.
Same thing goes for my FMC2 class of 2023.1.

## Courses prepared for self-study

To help students who wish to self-study the material mencioned above—for any reason whatsoever—I have created sites (including playlists), better suited for this use: **courses prepared for self-study**.

## Mini-courses

- Typesetting correctly with TeX and friends: 2016.1; 2017.1; 2018.2 [lecture videos]
- Introduction to Haskell: 2017.1
- Unix tools and philosophy 2016.2; 2018.1; 2019.2

## Teaching assistance projects

**Projeto de Monitoria FMCn** [**fmc**.imd.ufrn.br]

Teaching assistance project for the theoretical computer science and pure math-oriented courses (notably Mathematical Foundations for Computation I, II, III).

I created this project in 2017, and it has been successfully renewed with funding (scholarships) each year ever since (2017, 2018, 2019, 2020, 2021, 2022, 2023).

(Info on my teaching assistants on a separate page.)

## Other related projects

**haskell**.imd.ufrn.br: functional programming with Haskell**TeX**.imd.ufrn.br: T_{E}X programming and typesetting**unix**.imd.ufrn.br: unix programming

## For students

- Students interested in these courses and/or projects should contact me by email!
- Studying tips