Explores the main features of modern, high-level, general purpose programming languages from the user point of view. Provides students with an opportunity to use non-imperative programming paradigms, such as object-oriented, functional, and visual, and to learn how specific features of such languages can be used efficiently in solving problems. The purpose is to gain knowledge regarding the languages studied as well as providing the basis to conduct analysis related to comparisons and divergence in capabilities. Prereq: COMP 425 or equivalent. No credit earned if credit received for ET 647, CIS 698 Adv Perspectives on Programming, or COMP 698 Adv Perspectives on Programming.