2023.1 🐈 Category Theory (IMD0103)

Contact:thanos@imd.ufrn.br (though you should use Zulip instead)
Horários de aula: 24T56 [16h50–18h30]
Sala: 2T56: A102
4T56: B206
Monitoria/TA: fmc.imd.ufrn.br
Older semesters: ..

Info

Prereqs

  • required:
    • mathematical maturity: you should be able to reason and to express mathematical ideas in natural language;
    • familiarity with mathematical logic and set theory;
    • familiarity with the general ideas and tools of abstract algebra;
  • obvious:
    • {will, time} to {pratice, study, research}
  • you must have learned well the main subjects of FMC1; do contact me if you are unsure, especially given the weak (or inexistent) grading that frequently takes place in this course.
  • if you have not passed FMC2 yet, at the very least you must enroll to take it in parallel with cats.

(Obs. 1: learnpass.)

(Obs. 2: studyread.)

Syllabus

The principal objective of this «topics» course in category theory is to introduce categorial notions, tools, and vocabulary, with focus on connections and application in computer science. We should also be able to have primers in type theory and denotational semantics of programming languages; this will depend crucially on the interest and work of the students.

Categorias

Definitions and examples. Commutative diagrams. Definitions using arrows. Languages of functional programming as categories. Constructions in categories. Universal constructions. Epis and monos. Duality principle. Products and coproducts. Equalizers and coequalizers. Limits and colimits. Functors. Deduction systems as categories. Exponentials. CCC (Cartesian closed categories) and lambda calculus. Natural transformations. Yoneda lemma. Adjunction. Monads.

Bibliography

(Heard of libgen.rs?)

Main texts

Auxiliar

Tips

Tecnologias e ferramentas

Obs.: As tecnologías/ferramentas seguintes podem mudar durante a disciplina—exceto a primeira.

  1. PAPEL (um caderno para dedicar à disciplina) e LAPIS/CANETA.
  2. Zulip (leia o FAQ).

Regras

  1. Nunca escreva algo que você mesmo não sabe explicar: (i) o que significa; (ii) seu papel na tua resolução. Por exemplo: um aluno escreveu a frase seguinte na sua demonstração: «Como f é cancelável pela esquerda temos que g=h». Ele deve saber o que significa ser cancelável pela esquerda e também explicar como isso foi usado e/ou o que isso tem a ver com essa parte da sua demonstração.
  2. Qualquer trabalho poderá ser questionado em forma de prova oral, em modo privado ou aberto. Se um aluno não consegue explicar o que ele mesmo escreveu numa resolução, será considerado plágio (veja abaixo).
  3. Participando, nunca dê uma resposta que tu não pensou sozinho, exceto dando os créditos correspodentes.
  4. Não tente “forçar a barra” perguntando ou respondendo coisas aleatórias com objetivo único de ganhar pontos. Os pontos de participação não correspondem em apenas perguntas ou dúvidas que mostram interesse. O interesse é implícito pelo fato que tu escolheu matricular nesta turma—não vale pontos.
  5. Não procurem resoluções em qualquer lugar fora dos indicados em cada homework. O único recurso aceitável para procurar ajuda é no nosso Zulip (especificamente seus canáis públicos—não DM) e a monitoria.
  6. Proibido consultar o apêndice de resoluções do fmcbook durante a disciplina exceto quando for explicitamente permitido por mim. (Os apêndices de dicas são permitidos sim.)

Uns deveres dos alunos

  1. Visitar o site e o Zulip da disciplina pelo menos uma vez por dia durante o semestre. (Qualquer coisa postada no site ou no Zulip da disciplina será considerada como conhecida por todos os alunos da turma.)
  2. Estudar o conteúdo lecionado e tentar resolver todos os trabalhos atribuidos.
  3. Participar no Zulip diariamente, compartilhando tuas resoluções para receber feedback, e checando as resoluções de outros colegas para dar feedback.
  4. Checar e atender seu email cadastrado no SIGAA pelo menos uma vez por dia durante o semestre.
  5. Participar nas aulas! Obs.: tendo uma dúvida durante a aula, levante a mão para solicitar “a fala” e assim que a receber, pergunte! Não espere o fim da aula para discutir tua dúvida em “modo particular”! A maioria das vezes eu vou negar isso e pedir ao aluno iniciar a discussão no Zulip ou na próxima aula.
  6. Participar nas aulas de exercícios de monitoria e utilizar seus horários de tirar dúvidas.

(Veja também os FAQs relevantes.)

Sobre plágio

  1. Plágio detectado implica que o aluno será reprovado imediatamente por nota e por faltas.
  2. Entregar tuas resoluções para um aluno copiar é proibido do mesmo jeito, e também não ajuda mesmo ninguém.

Cadernos vs. celulares

Não faz sentido aparecer na aula sem caderno. E não faz sentido aparecer na aula com celular ligado; bote no modo avião antes de entrar na sala. As aulas são interativas e se não pretende participar e concentrar nesses 100 minutos, sugiro ficar fora e escolher uma outra maneira de passar teu tempo. Não é necessário (e obviamente nem suficiente) aparecer nas minhas aulas para passar.

Avaliação e faltas

Disclaimer. Eu suponho que os alunos desta turma escolheram se matricular por interesse em aprender seu conteúdo. O ideal seria ignorar assuntos irrelevantes de avaliação, presenças, carga horária, etc., e se jogar nos estudos.

Avaliação

nota final de cada aluno vai ser principalmente baseada em um ou mais dos: (i) provas escritas; (ii) sua participação; (iii) trabalhos atribuidos; (iv) hw resolvidos (veja o FAQ relevante).

Cada aluno será responsável para manter organizado e bem escrito o seu caderno com todos os teoremas e exercícios que estudou durante a disciplina.

Presenças e faltas

A presença pela regulação da UFRN é obrigatória. Os alunos que não gostam/querem/podem aparecer nas minhas aulas ainda tem chances de ganhar até nota máxima e aprovar na disciplina. Ou seja: alunos que escolhem não participar ou aparecer nas aulas, e mesmo assim aparecem nas provas escritas e conseguem nota final de aprovação vão ter sua porcentagem de faltas ajustada para não reprovar por faltas. Esclarecimento: alunos que não conseguem nota final de aprovação não terão sua porcentagem de presença ajustada de jeito nenhum e por nenhum motivo.

Obviamente, alunos que não aparecem nas aula não terão como ganhar pontos de participação—duh!—nem acesso nos pontos de possíveis provas-surpresas.

As presenças/faltas serão cadastradas usando o sistema Plickers (veja o FAQ relevante).

Atrasados

Definição (atrasado). Seja $a$ aluno desta turma. Dizemos que $a$ é atrasado sse $a$ não está já sentado na sua mesa, com seu caderno já aberto, seu celular já desligado e na mochila, no momento que a aula começa.

Tentem estar presentes na sala da aula ANTES do horário do seu começo, e fiquem até o fim da aula.

Caso que alguém chega atrasado: não faz sentido bater na porta da sala de aula; não faz sentido cumprimentar nem o professor (não é mostra educação cumprimentar nesse caso—pelo contrário!) nem os amigos/colegas da aula. Entrando numa sala onde a aula já começou, tentem fazer sua entrada o menos possível notada por os participantes pois atrapalha a concentração de todos.

FAQs

Dynamic content

Scoreboard

There will be a scoreboard with participation points here.

Exams

None for the time being.

Homework

Leia bem o FAQ sobre hw. Note também que:

  • Homeworks são atribuidos também durante as aulas e no Zulip.

Log

The semester has not started yet.

Future

2023-03-06

2023-03-08

2023-03-13

2023-03-15

2023-03-20

2023-03-22

2023-03-27

2023-03-29

2023-04-03

2023-04-05

2023-04-10

2023-04-12

2023-04-17

2023-04-19

2023-04-24

2023-04-26

2023-05-03

2023-05-08

2023-05-10

2023-05-15

2023-05-17

2023-05-22

2023-05-24

2023-05-29

2023-05-31

2023-06-05

2023-06-07

2023-06-12

2023-06-14

2023-06-19

2023-06-21

2023-06-26

2023-06-28

2023-07-03

2023-07-05

2023-07-10

2023-07-12

Last update: Sat Jan 28 20:17:16 -03 2023