PTCCS358 Syllabus - Principles Of Programming Languages - 2023 Regulation Anna University

PTCCS358 Syllabus - Principles Of Programming Languages - 2023 Regulation Anna University

PTCCS358

PRINCIPLES OF PROGRAMMING LANGUAGES

 L T P C

3 0 0 3

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

9

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

9

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

9

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

9

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

9

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 and Develop programs in Scheme, ML, and Prolog
CO5: Understand and adopt new programming languages

TEXT BOOKS:
1. Robert W. Sebesta, “Concepts of Programming Languages”, Twelfth Edition (Global Edition), Pearson, 2022.
2. Michael L. Scott, “Programming Language Pragmatics”, Fourth Edition, Elsevier, 2018.
3. R. Kent Dybvig, “The Scheme programming language”, Fourth Edition, Prentice Hall, 2011.
4. Jeffrey D. Ullman, “Elements of ML programming”, Second Edition, Pearson, 1997.
5. W. F. Clocksin and C. S. Mellish, “Programming in Prolog: Using the ISO Standard”, Fifth Edition, Springer, 2003.

Comments

Popular posts from this blog

CS3491 Syllabus - Artificial Intelligence And Machine Learning - 2021 Regulation Anna University

BE3251 - Basic Electrical and Electronics Engineering (Syllabus) 2021-regulation Anna University

CS3401 Syllabus - Algorithms - 2021 Regulation Anna University