Jump to content

COL226

From IITD Wiki
Revision as of 09:59, 4 March 2026 by Prashantt492 (talk | contribs) (Creating course page via bot)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
COL226
programming Languages
Credits 5
Structure 3-0-4
Pre-requisites COL106
Overlaps COL765

COL226 : programming Languages

[edit]

Value and state oriented paradigms. Translation. Notions of syntax and semantics of programming languages; introduction to operational/natural semantics of functional and imperative languages. Data abstractions and control constructs; block-structure and scope, principles of abstraction, qualification and correspondence; parameter passing mechanisms; runtime structure and operating environment; practical and implementation issues in run-time systems and environment; abstract machines; features of functional and imperative languages; the un-typed and simply-typed Lambda calculus, type systems for programming languages including simple types and polymorphism; objects; classes and inheritance in object-oriented languages. Interactive programming and interfaces. The laboratory activities will involve building a variety of small interpreters for core languages in various paradigms. Tools such as lex and yacc will be introduced for front-end analysis.