The course comprises the fundamental concepts in design and implementation of programming languages, including syntax, semantics, names, bindings, data types, type checking, data control, storage management, subprograms, parameter passing, operating environment. Main paradigms of programming will be carefully covered including: structured programming, object oriented programming and functional programming. An exposure to several programming languages representing procedural, object-oriented and functional programming will also be provided, where students will further develop their practical competency.
The course is organized around basic concepts in design and implementation of programming languages, including syntax, semantics, names, bindings, type checking, subprograms, etc. Main paradigms of programming will be carefully covered including: structured programming, object oriented programming and functional programming.
"Concepts of Programming Languages" by Robert Sebesta, Pearson 2019