06CS846 - Programming Languages |
PART – A |
UNIT 1 |
INTRODUCTION; NAMES, SCOPE, AND BINDINGS – 1: Language
design; Programming language spectrum; Why study programming
languages? Compilation and interpretation; Programming environments.
Names, scope, and bindings: Concept of binding time; Object lifetime and
storage management; Scope rules and implementing scope. |
UNIT 2 |
NAMES, SCOPE, AND BINDINGS – 1; CONTROL FLOW – 1: The
binding of reference environments; Binding within a scope; Separate
compilation. Control Flow – 1: Expression evaluation. |
UNIT 3 |
CONTROL FLOW – 2: Structured and unstructured flow; Sequencing;
Selection; Iteration; Recursion; Non-determinacy. |
UNIT 4 |
DATA TYPES – 1: Type systems; Type checking; Records and variants;
Arrays. |
PART – B |
UNIT 5 |
DATA TYPES - 2: Strings; Sets; Pointers and recursive types; Lists; Files
and Input/Output; Equality testing and assignment. |
UNIT 6 |
Subroutines and Control Abstraction - 1: Review of stack layout; Calling
sequences; Parameter passing; Generic subroutines and modules; Exception
handling. |
UNIT 7 |
CONTROL ABSTRACTION – 2; DATA ABSTRACTION, OBJECT
ORIENTATION: Control abstraction – 2: Coroutines. Data Abstraction,
Object Orientation: Object oriented programming; Encapsulation and
Inheritance; Dynamic method binding; Multiple inheritance; Object oriented
programming revisited. |
UNIT 8 |
FUNCTIONAL LANGUAGES, LOGIC LANGUAGES, SCRIPTING
LANGUAGES : Functional Labguages: Origins; Concepts; An overview of
scheme; Evaluation order revisited; Higher-order functions; Functional
programming in perspective. Logic Languages: Concepts; Prolog; Logic
programming in perspective. Scripting Languages: Common characteristics. |
REFERENCE |
TEXT BOOKS: |
1. Programming Language Pragmatics – Michael L. Scott, 2nd
Edition, Elsevier, 2006.
|
Reference Books |
1. Programming Languages Concepts and Constructs – Ravi Sethi,
2nd Edition, Pearson Education, 1996.
2. Programming Languages – Allen Tucker, Robert Nonan, Tata
McGraw-Hill, 2002. |