Course Details
Subject {L-T-P / C} : CS3101 : Principles of Programming Languages { 3-0-0 / 3}
Subject Nature : Theory
Coordinator : Anup Nandy
Syllabus
The Role of Programming Languages: Programming Paradigms, Syntactic Structure: Expression Notations, Abstract Syntax Trees, Lexical Syntax, Context -Free Grammars, Grammars for Expressions, Variants of Grammars
Statements: Structured Programming, Types: Data Representation Object Oriented
Programming: Groupings of Data and Operations: - Constructs fro Program Structuring, Information Hiding, Program
Design with Modules, Modules and Defined Types, Class Declarations in C++, Dynamic Allocation I C++, Templates:
Parameterized Types, Implementation of Objects in C++. Object-Oriented Programming: - What is an Object?,
Object-Oriented Thinking, Inheritance, Object-Oriented Programming in C++, An extended C++ example, Derived
Classes and information Hiding, Objects in Smalltalk, Smalltalk Objects have self Functional programming: Elements
of Functional Programming, functional Programming in a Typed Languages, functions as First-Class Values, ML,
Functional Programming with Lists, Introduction to LISP and Prolog Languages and their implementation on development of Expert System.
Course Objectives
- To introduce a new concept of programming paradigm.
To discuss different programming framework.
Course Outcomes
Efficiency in understanding programing background .
Improvement of student's skill for implementing different types of programing languages in real world applications.
Essential Reading
- R. Sethi, Programming Languages – Concepts & Constructs, Pearson Education
- R. W. Sebesta, Concepts of Programming Languages, Addison-Wesley
Supplementary Reading
- M. L. Scott, Programming Language Pragmatics, Morgan Kaufmann
- T. W. Pratt & M. V. Zelkowitz, Programming Languages: Design and Implementation, Prentice-Hall