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 pre-requisite courses of CSCI 2270 and either CSCI 2400 or ECEN 3350 (minimum grade C-).