CS60048: Theory Of Programming Languages

From Metakgp Wiki
Jump to navigation Jump to search
CS60048
Course name THEORY OF PROGRAMMING LANGUAGES
Offered by Computer Science & Engineering
Credits 3
L-T-P 3-0-0
Previous Year Grade Distribution
{{{grades}}}
Semester {{{semester}}}


Syllabus[edit | edit source]

Syllabus mentioned in ERP[edit | edit source]

Syntax of Programming Languages, Formal languages and automata theory: Finite automata, regular languages, pushdown automata, context free languages, linear bounded automata, context sensitive languages, Turing machines and recursively enumerable sets. Theory of LR(k) parsing, attribute grammars. Semantics of programming languages: Basic mathematical introduction: Propositional and predicate calculus, lambda calculus, algebraic structures. Sequential languages (imperative and applicative): operational semantics, Vienna definition methods. Denotational semantics: Scott-Strachy theory, axiomatic semantics: Floyd-Hoare approach, temporal logic, algebraic semantics and data types.References1.Glynn Winskel, A Formal Semantics of Programming Languages: An Introduction, MIT Press.2.John C. Mitchell, Foundations for Programming Languages, MIT Press.3.Benjamin C. Pierce, Types and Programming Languages, MIT Press.4.Daniel P. Friedman, Mitchell Wand and Christopher T. Haynes, Essentials of Programming Languages, Prentice Hall of India.5.Ravi Sethi, Programming Languages: Concepts and Constructs, Addison-Wesley.6.H. P. Barendregt, The Lambda Calculus: Its Syntax and Semantics, North-Holland.


Concepts taught in class[edit | edit source]

Student Opinion[edit | edit source]

How to Crack the Paper[edit | edit source]

Classroom resources[edit | edit source]

Additional Resources[edit | edit source]