Plan, Prepare, Practice and Perform

Engineering Courses, Campus Placement Preparation, Bank exam & GATE Preparation

India's No.1 Platform for Online Learning, Served more than 1.1 lakh Premium Users, Unique platform for students in higher education in India

 Course  Lecture
  • Title: Principles of Programming Languages
  • Department: Computer Science and Engineering
  • Author: Prof. S.Arun Kumar
  • University: IIT Dehi
  • Type: WebLink
  • Abstract:
    Prerequisites: Data Structures, and an introductory course in Computer Architecture.

    Course objective:

    To introduce the major programming paradigms, and the principles and techniques involved in design and implementation of modern programming
    languages. To introduce frameworks for specifying and reasoning about programming languages.

    Course contents:

    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.

    Course Organization (topics and hours)

    Abstract Syntax and Semantics (algebraic)
    4
    Operational Semantics (functional paradigm, logic paradigm) 5
    Block Structure and Control (imperative paradigm) 4
    Principles of Abstraction, Qualification, Correspondence 4
    Abstract Machines and Runtime structures
    4
    Parameter Passing and Runtime stacks
    5
    Type Systems and Type checking/inference 5
    Object oriented systems
    5
    Lambda Calculus
    5


    Brief description of laboratory activities:

    Programming exercises will include use of tools for lexical analysis and parsing; representation of abstract syntax; abstract machines for
    imperative and functional languages; translations from high level languages to abstract machine instructions; implementation of runtime
    structures and parameter-passing; type checking and type inference; term reduction.

List of Lectures

The Future
Parameters
Meanings
Procedures
Abstracts
Contexts
Type Checking
Polymorphism
Monomorphism
Programming Languages
Normal Forms
Data And Fixpoints
Data As Functions
Programming Languages
Programming Languages
Programming Languages
Non- Determinacy
Control
Sequences
Structured Data
Data
Pragmatics
Qualification
Blocks
Declarations And Commands
Summary
Stores
Commands
Declarations
Environments
Binding
Pl0 : Expressions
Transition Systems
Syntatic Classes
Semantics
Plo:syntax
Ambiguity
Grammers
Syntax
Introduction
Back to top