This document is a homework assignment for a Principles of Programming Languages course. It contains 7 questions asking students to define high and low level programming languages with examples, describe 3 characteristics of a good programming language, explain different programming paradigms and provide example languages for each, and compare procedural, object-oriented, functional, and imperative programming paradigms.