Course Description: This course provides students with the fundamental skills of creating new programming languages with particular emphasis on the essential design concepts of the four major programming paradigms: the imperative programming paradigm, object-oriented programming paradigm, functional programming paradigm, and logical programming paradigm. Prerequisites:COP 3337 - Object Oriented Programming or COT 4210 - Formal Languages & Automata