Programming Languages: An Active Learning Approach introduces students to three programming paradigms: object-oriented/imperative ...