CSCI-3155 (4) Principles of Programming Languages

Study fundamental concepts on which programming of languages are based, and execution models supporting them. Topics include values, variables, bindings, type systems, control structures, exceptions, concurrency, and modularity. Learn how to select a language and to adapt to a new language. Prerequisites: Requires prerequisite courses of CSCI 2270 and CSCI 2824 or ECEN 2703 or APPM 3170 or MATH 2001 (all minimum grade C-).