CS3100 - Paradigms of Programming

Course Data :

Topics:

  • Introduction to different paradigms of programming: Imperative - Object Oriented - Functional - Logic Imperative and Object-oriented Programming - Role of Types - Static and Dynamic Type Checking - Scope rules ; Grouping Data and operations, Information Hiding and Abstract Data Types, Objects, Inheritance, Polymorphism,Templates.
  • Functional Programming - Expressions and Lists, Evaluation, types, type systems, values and operations, function declarations, lexical scope, lists and programming with lists, polymorphic functions, higher order and Curried functions, abstract data types.
  • Logic Programming - Review of predicate logic, clausal-form logic, logic as a programming language, Unification algorithm, Abstract interpreter for logic programs, Semantics of logic programs, Programming in Prolog.
  • Textbook:

    Programming Languages: Concepts and Constructs; 2nd Edition, Ravi Sethi, Pearson Education Asia, 1996.

    References:

    • Programming Languages: Design and Implementation (4th Edition), by Terrence W. Pratt, Marvin V. Zelkowitz, Pearson, 2000.
      • Programming Language Pragmatics, Third Edition, by Michael L. Scott, Morgan Kaufmann, 2009.

    Pre-Requisites

    Parameters

    Credits Type Date of Introduction
    3-0-0-0-6-9 Core Jul 2015

    Previous Instances of the Course


    © 2016 - All Rights Reserved - Dept of CSE, IIT Madras
    Website Credits