Dynamic Languages Strike Back
Prolog Programming
Logic Programming I
Logic Programming II
Toy Prolog interpreter