Abstract algebra and programming languages Quite often, I stumble upon abstract algebra concepts like initial algebra, free algebra, and similar while reading papers on programming languages. For instance, in papers on algebraic data types, monads, separation logic, models of polymorphic lambda calculus, etc. 

Where can I find materials that will introduce me to such concepts, i.e., ones that are related to programming languages and logics? Hopefully, the number of such materials would be small.
Initial algebras and free algebras are basic concepts of category theory. Thus
you may try the first chapters of [1] (in particular Section 2.2 Functional programming languages as categories) or the books [2] or [3].

[1] Category Theory for Computing Science by Michael Barr and Charles Wells 

[2] Basic Category Theory for Computer Scientists
by Benjamin C. Pierce. 

[3] A taste of category theory for computer scientists by Benjamin C. Pierce.