personal repo for program design paradigms