CP4154 Principles of Programming Languages Syllabus:

CP4154 Principles of Programming Languages Syllabus – Anna University PG Syllabus Regulation 2021

COURSE 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-descent – bottom- up 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 – mixed- mode 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 – event 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

TOTAL : 45 PERIODS

COURSE OUTCOMES:

CO1: Describe syntax and semantics of programming languages
CO2: Explain data, data types, and basic statements of programming languages
CO3: Design and implement subprogram constructs
CO4: Apply object-oriented, concurrency, and event handling programming constructs
CO5: Develop programs in Scheme, ML, and Prolog and Understand and adopt new programming language

REFERENCES:

1. Robert W. Sebesta, “Concepts of Programming Languages”, Eleventh Edition, Addison Wesley,2012
2. W. F. Clocksin and C. S. Mellish, “Programming in Prolog: Using the ISO Standard”, Fifth Edition, Springer, 2003
3. Michael L.Scott, “Programming Language Pragmatics”, Fourth Edition, Morgan Kaufmann,2009.
4. R.KentDybvig,“TheSchemeprogramminglanguage”,FourthEdition,MITPress, 2009
5. Richard A. O’Keefe, “The craft of Prolog”, MIT Press, 2009
6. W.F.ClocksinandC.S.Mellish,“ProgramminginProlog:UsingtheISOStandard”,Fifth Edition, Springer,2003