Português English
Contato

Livros didáticos | Teoria das Categorias

Teoria das Categorias

Paulo Blauth Menezes
Edward Hermann Haeusler

“Teoria das Categorias para Ciência da Computação” é o primeiro livro em português sobre Teoria das Categorias e um dos poucos que aborda os principais conceitos de Teoria das Categorias usando uma linguagem simples, acessível a qualquer aluno de graduação, com ênfase em exemplos aplicados à Computação e à Informática em geral, mas sem comprometer os aspectos teórico-formais. Pretende ser um livro-texto para disciplinas dos cursos de graduação em Computação ou Informática, de acordo com as Diretrizes Curriculares do MEC, bem como para disciplinas de cursos de pós-graduação em Ciência da Computação.

Trata-se de um trabalho baseado em experiências letivas desenvolvidas nos cursos de graduação e pós-graduação em Computação e Informática desde 1992 na Universidade Federal do Rio Grande do Sul e na Pontifícia Universidade Católica do Rio de Janeiro. O livro é autocontido, podendo ser adotado como livro-texto. Possui um texto simples, exemplos detalhados e exercícios em níveis crescentes de raciocínio. Recomendam-se, como pré-requisitos, conhecimentos básicos de Lógica, Teoria dos Conjuntos e Algoritmos.

A carga horária do curso pode ser adaptada a diversas alternativas, como segue:

1. Curso de 30 horas/aula, tanto para graduação como para pós-graduação. Recomenda-se o desenvolvimento dos seguintes capítulos, selecionando os exemplos e as aplicações de maior interesse para o curso em questão, mas sem abordar os aspectos relacionados com a Lógica Categórica. Considerando a baixa carga horária, recomenda-se não desenvolver os temas relacionados com os conceitos de álgebras, morfismos parciais e gramáticas categoriais:

Capítulo 1;

Capítulo 2, restrito aos aspectos relacionados com a Terminologia de Lógica usada ao longo do livro.

Capítulos 3, 4 e 5;

Capítulo 8, uma visão geral, excluindo os tópicos relacionados com transformações naturais e adjunções;

2. Curso de 60 horas/aula, tanto para graduação como para pós-graduação. Recomenda-se o desenvolvimento dos seguintes capítulos, mas sem abordar os aspectos relacionados com a Lógica Categórica:

Capítulo 1;

Capítulo 2, restrito aos aspectos relacionados com a Terminologia de Lógica usada ao longo do livro.

Capítulos 3, 4 e 5;

Capítulo 8, uma visão geral, excluindo os tópicos relacionados com transformações naturais e adjunções;

3. Curso de 60 horas/aula, para pós-graduação. Supondo uma turma de pós-graduação com um bom nível de desenvolvimento do raciocínio abstrato e lógico-matemático e que possui conhecimentos de Teoria da Computação e de Linguagens Formais e Autômatos e noções de Modelos para Concorrência, pode-se desenvolver todo o livro, selecionando os exemplos e as aplicações de maior interesse para o curso em questão;
4. Curso de 120 horas/aula, tanto para graduação como para pós-graduação. Todo o livro pode ser desenvolvido. Nesse caso, é provável que as 120 horas/aula sejam divididas em duas disciplinas de 60 horas/aula cada. Nesse contexto, duas abordagens são recomendadas: simplesmente seguir a sequência do livro, distribuindo o conteúdo ao longo das duas disciplinas, de acordo com a ênfase dada; na primeira disciplina, desenvolver como recomendado no item b) acima e, na segunda disciplina, desenvolver todos os aspectos relacionados com Lógica Categórica, bem como os aspectos relacionados com transformações naturais a adjunções.

Com o objetivo de manter o custo do livro acessível (fator importante para muitos estudantes) optou-se para esta segunda edição, fazer apenas pequenas revisões, mantendo, sempre que possível, as mesmas numerações (definições, seções, etc.) da primeira edição. As principais revisões concentram-se no Capítulo 1 – Introdução, onde foi feita uma homogeinização de conceitos com os demais livros da Série Didática, em particular com o livro de Matemática Discreta para Computação e Informática [Menezes, 2005], bem como no Capítulo 8 – Funtores, Transformações Naturais e Ajunções, com diversas pequenas melhorias e correções.

Alguns software de apoio ao ensino de Teoria das Categorias encontram-se em desenvolvimento, vem como materiais de apoio tanto para professor como para o aluno, os quais serão disponibilizados, gradativamente, no seguinte endereço da WEB:

http://teia.inf.ufrgs.br

Em particular, se o leitor for professor, sugere-se um contato direto para verficar eventual material de apoio específico.

Ao longo de todo o texto, são desenvolvidas histórias em quadrinhos e ilustrações que procuram destacar de forma bem-humorada, alguns dos principais conceitos desenvolvidos ao longo do livro. Além de alegrar o texto, as “tirinhas” e ilustrações objetivam auxiliar na identificação, fixação, entendimento e aplicação dos diversos conceitos relacionados com Teoria das Categorias. Os personagens são os seguintes:

* Zezinho adora brincar e aproveitar a vida. É muito esperto e imaginativo, embora não muito aplicado nos estudos. Sonha em ser um super-herói e frequentemente assume a personalidade do Capitão Abstract, quando é capaz de enfrentar e resolver “grandes e abstratos problemas” por ele imaginados. Essa personalidade objetiva destacar a característica de abstração de Teoria das Categorias;
* Mariazinha, embora goste de brincar, é relativamente séria e frequentemente preocupada com os “rumos do mundo’, dando muita ênfase aos aspectos ecológicos e “politicamente corretos”;
* Crânio é excepcionalmente inteligente e muito paciente com todos. Mas, por ser muito inteligente, é um pouco desajustado, sendo as suas brincadeiras esquisitas ou pouco convencionais para o grupo;
* Bit the Kid, o “teclado mais rápido do oeste”, é o oposto do que se espera de um bom informata. As ações desse personagem procuram satirizar as reações da maioria dos novos alunos dos cursos de Computação ou Informática. Afinal, Bit the Kid é um menino de ação, ele não pensa, faz! Mas, em geral, errado…
* o gato Cat, companheiro de muitas aventuras, possui o seu nome inspirado na categoria Cat (categoria de categorias), o que é um trocadilho óbvio com o termo “gato” em inglês.
* o cachorro Teorema é o “melhor amigo do informata”. Esse personagem busca mostrar que, ao contrário do que a maioria dos novos alunos de Computação e Informática pensam, um teorema pode ser o seu melhor amigo: em computação, um teorema frequentemente pode ser visto como um algoritmo que prova-se, sempre funciona!