A collection of my work from my Programming Paradigms course. This course goes over three major programming models that complement the procedural and object-oriented models: the functional, declarative/logic, and concurrent models. The code for this course was written in Scheme, Prolog, and Java.