This course is a comprehensive introduction to the principal features and design of programming languages. It provides a comparative study of programming paradigms including structured programming, object-oriented programming, functional programming and logic programming. This course is a survey of programming concepts and constructs including data types, control structures, subprograms and parameter passing, nesting and scope, derived data types, input and output, and dynamically varying structures. Also covered are the principles of lexical and semantics analysis.
- Compare programming languages for their effectiveness in problem solving based on control and data structures provided by them.
- Select the appropriate proper programming language to solve problems in a given domain.
- Read, understand, and use the grammar of a programming language.
- Explain features of several programming languages
- Understand, write, and document programs in the imperative, functional, object-oriented, and logic paradigms.
- Explain the key principles used in the translation and implementation of programming languages