Principles of Programming Languages. Instructor: Prof. S. Arun Kumar, Department of Computer Science and Engineering, IIT Delhi.

0

1

September 25, 2023

English

English [CC]

Description

This course introduces the major programming paradigms, and the principles and techniques involved in design and implementation of modern programming languages. And also it introduces frameworks for specifying and reasoning about programming languages. Topics covered in the lectures include: 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; abstracts machines; features of functional and imperative languages; the untyped and simply-typed Lambda calculus' type systems for programming languages including simple types and polymorphism; objects, classes and inheritance in object-oriented languages. (from nptel.ac.in)

Course Curriculum

  • Lecture 01 – Introduction Unlimited
  • Lecture 02 – Syntax Unlimited
  • Lecture 03 – Grammars Unlimited
  • Lecture 04 – Ambiguity Unlimited
  • Lecture 05 – PL0: Syntax Unlimited
  • Lecture 06 – Semantics Unlimited
  • Lecture 07 – Syntactic Classes Unlimited
  • Lecture 08 – Transition Systems Unlimited
  • Lecture 09 – PL0: Expressions Unlimited
  • Lecture 10 – Binding Unlimited
  • Lecture 11 – Environments Unlimited
  • Lecture 12 – Declarations Unlimited
  • Lecture 13 – Commands Unlimited
  • Lecture 14 – Stores Unlimited
  • Lecture 15 – Summary So Far Unlimited
  • Lecture 16 – Declarations and Commands Unlimited
  • Lecture 17 – Blocks Unlimited
  • Lecture 18 – Qualification Unlimited
  • Lecture 19 – Pragmatics Unlimited
  • Lecture 20 – Data Unlimited
  • Lecture 21 – Structured Data Unlimited
  • Lecture 22 – Sequences Unlimited
  • Lecture 23 – Control Unlimited
  • Lecture 24 – Non-Determinacy Unlimited
  • Lecture 25 – The λ Notation Unlimited
  • Lecture 26 – The λ Calculus Unlimited
  • Lecture 27 – λ α β: The Trinity Unlimited
  • Lecture 28 – Data as Functions Unlimited
  • Lecture 29 – Data and Fixpoints Unlimited
  • Lecture 30 – Normal Forms Unlimited
  • Lecture 31 – Typed λ Calculus Unlimited
  • Lecture 32 – Monomorphism Unlimited
  • Lecture 33 – Polymorphism Unlimited
  • Lecture 34 – Type Checking Unlimited
  • Lecture 35 – Contexts Unlimited
  • Lecture 36 – Abstracts Unlimited
  • Lecture 37 – Procedures Unlimited
  • Lecture 38 – Meanings Unlimited
  • Lecture 39 – Parameters Unlimited
  • Lecture 40 – The Future Unlimited

About the instructor

5 5

Instructor Rating

6

Reviews

4637

Courses

24183

Students

Profile Photo
OpenCoursa
Accessible Education for Everyone
OpenCoursa is a free online learning platform dedicated to providing high-quality education to learners worldwide. With courses across a wide range of subjects, we empower individuals to gain new skills and knowledge at no cost. Our mission is to make education accessible to everyone, offering flexible learning opportunities for personal and professional growth.
We are an educational and skills marketplace to accommodate the needs of skills enhancement and free equal education across the globe to the millions. We are bringing courses and trainings every single day for our users. We welcome everyone woth all ages, all background to learn. There is so much available to learn and deliver to the people.
FREE

Hours of videos

1111 years

Units & Quizzes

Unlimited Lifetime access

Access on mobile app

Certificate of Completion