CP7203 PRINCIPLES OF PROGRAMMING LANGUAGES - ANNA UNIV CSE PG 2ND SEM SYLLABUS
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