Category Theory for Scientists and Engineers (2013) [pdf]
ocw.mit.edu
ocw.mit.edu
If I had a time machine, I would definitely have taken more math courses at uni.
[1] And yes, probably biting over even more than I could reasonably chew in the process, compared to 'just' reading about CT.
This is why, I think, many textbooks suggest prerequisites (not that you argued that they shouldn't!); not so much that category theory can't be learnt without them, for it certainly can (it is actually very simple), but rather that it can't be understood. Studying it on its own seems to me very much like trying to learn a programming language without having any problem that you want to use it to solve.
(Of course, none of that is to knock the usefulness of targeted resources like this; obviously it can be helpful if you can use the whole of a book, rather than tossing out and re-creating parts of it on your own.)
So it would be useful to have category textbooks for CS folks which spent less time on topology, and more time on familiar categories.
(Also, I've never quite figured out the motivation for adjoint functors. I can understand the definitions, but I don't understand why adjoints are useful. The motivating examples almost always involve unfamiliar categories.)
Agreed, and I should have been clearer in my post above that I was just airing some thoughts on category theory rather than meaning to imply anything negative about the importance and usefulness of X-flavoured viewpoints on category theory for various values of X (including "computer science"). With that said, don't knock topology! See Baez and Stay's 'Rosetta stone' article http://arxiv.org/abs/0903.0340 for a plethora of connections between such seemingly abstruse concepts as topology, and computer science.
> (Also, I've never quite figured out the motivation for adjoint functors. I can understand the definitions, but I don't understand why adjoints are useful. The motivating examples almost always involve unfamiliar categories.)
It may be helpful to think first of Galois connexions (https://en.wikipedia.org/wiki/Galois_connection and http://ncatlab.org/nlab/show/Galois+connection). I can't find any relevant blog posts now, but I know I have seen them discussed in a CS context that may seem more natural than that of 'abstract' adjoint functors. Here is a non-free article: http://link.springer.com/chapter/10.1007%2F3-540-17162-2_130 .
I gave a talk at LambdaConf this year mentioning that Free/Forgetful adjoints are a great way to understand free structures. There's also the fact that for all/exists arise as adjoints and you can use this to draw immediate conclusions like product preservation.