CS41009: Principles Of Programming Languages

From Metakgp Wiki
Jump to navigation Jump to search
CS41009
Course name Principles Of Programming Languages
Offered by Computer Science & Engineering
Credits 3
L-T-P 3-0-0
Previous Year Grade Distribution
{{{grades}}}
Semester Autumn


Syllabus[edit | edit source]

Syllabus mentioned in ERP[edit | edit source]

The aim is to study and appreciate different types of languages and the underlying mathematical theories. This may help to design and also to appreciate new language features. Introduction : Overview of different programming paradigms e.g. imperative, object oriented, functional , logic and concurrent programming. Syntax and semantics of programming languages : A quick overview of syntax specification and semiformal semantic specification using attribute grammar. Imperative and OO Languages : Names, their scope, life and binding. Control-flow, control abstraction; in subprogram and exception handling. Primitive and constructed data types, data abstraction, inheritence, type checking and polymorphism. Functional Languages : Typed -calculus, higher order functions and types, evaluation strategies, type checking, implementation, case study. Logic Programming Languages : Computing with relation, first-order logic, SLD-resolution, unification, sequencing of control, negation, implementation, case study. Concurrency : Communication and synchronization, shared memory and message passing, safety and liveness properties, multithreaded program. Formal Semantics : Operational, denotational and axiomatic semantics of toy languages, languages with higher order consstructs and types, recursive type, subtype,semantics of nondeterminism and concurrency.


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]