CS3100 - Paradigms of Programming

Course Data :


  • 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.


    • 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.



    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