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.
- Explain features of several programming languages
- Explain the key principles used in the translation and implementation of programming languages
- Read, understand, and use the grammar of a programming language.
- Select the appropriate proper programming language to solve problems in a given domain.
- Understand, write, and document programs in the imperative, functional, object-oriented, and logic paradigms.