ANNA UNIVERSITY, CHENNAI
REGULATIONS - 2013
M.E. COMPUTER SCIENCE AND ENGINEERING
CP7203 PRINCIPLES OF PROGRAMMING LANGUAGES
OBJECTIVES:
To understand and describe syntax and semantics of programming languages
To understand data, data types, and basic statements
To understand call-return architecture and ways of implementing them
To understand object-orientation,concurrency, and event handling in programming languages
To develop programs in non-procedural programming paradigms
UNIT I SYNTAX AND SEMANTICS
Evolution of programming languages – describing syntax – context-free grammars – attribute
grammars – describing semantics – lexical analysis – parsing – recursive-decent – bottomup parsing
UNIT II DATA, DATA TYPES, AND BASIC STATEMENTS
Names – variables – binding – type checking – scope – scope rules – lifetime and garbage
collection – primitive data types – strings – array types – associative arrays – record types –
union types – pointers and references – Arithmetic expressions – overloaded operators –
type conversions – relational and boolean expressions – assignment statements – mixedmode assignments – control structures – selection – iterations – branching – guarded
statements
UNIT III SUBPROGRAMS AND IMPLEMENTATIONS
Subprograms – design issues – local referencing – parameter passing – overloaded
methods – generic methods – design issues for functions – semantics of call and return –
implementing simple subprograms – stack and dynamic local variables – nested
subprograms – blocks – dynamic scoping
UNIT IV OBJECT-ORIENTATION, CONCURRENCY, AND EVENT HANDLING
Object-orientation – design issues for OOP languages – implementation of object-oriented
constructs – concurrency – semaphores – monitors – message passing – threads –
statement level concurrency – exception handling – even handling
UNIT V FUNCTIONAL AND LOGIC PROGRAMMING LANGUAGES
Introduction to lambda calculus – fundamentals of functional programming languages –
Programming with Scheme – Programming with ML – Introduction to logic and logic
programming – Programming with Prolog – multi-paradigm languages
OUTCOMES:
Upon Completion of the course,the students will be able to
Describe syntax and semantics of programming languages
Explain data, data types, and basic statements of programming languages
Design and implement subprogram constructs14
Apply object-oriented, concurrency, and event handling programming constructs
Develop programs in Scheme, ML, and Prolog
Understand and adopt new programming languages
REFERENCES:
1. Robert W. Sebesta, “Concepts of Programming Languages”, Tenth Edition, Addison
Wesley, 2012.
2. Michael L. Scott, “Programming Language Pragmatics”, Third Edition, Morgan
Kaufmann, 2009.
3. R. Kent Dybvig, “The Scheme programming language”, Fourth Edition, MIT Press, 2009.
4. Jeffrey D. Ullman, “Elements of ML programming”, Second Edition, Prentice Hall, 1998.
5. Richard A. O'Keefe, “The craft of Prolog”, MIT Press, 2009.
6. W. F. Clocksin and C. S. Mellish, “Programming in Prolog: Using the ISO Standard”, Fifth
Edition, Springer, 2003.
No comments:
Post a Comment