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