Friday 19 June 2015

Principles of Programming Languages
(3-1 CSE R13 SYLLABUS FOR 2013 ADMITTED BATCH)

Image description
III Year - I SEMESTER
                                                                                                                             T   P    C
                                                                                                                             4    0    3                         
                                                       Principles of Programming Languages  

Course objectives:
1. To understand and describe syntax and semantics of programming languages
  2. To understand data, data types, and basic statements
3. To understand call-return architecture and ways of implementing them
 4. To understand object-orientation, concurrency, and event handling in programming languages
 5. To develop programs in non-procedural programming paradigms

Course Outcomes:
Upon Completion of the course, the students will be able to
1. Describe syntax and semantics of programming languages
2. Explain data, data types, and basic statements of programming languages
3. Design and implement subprogram constructs, Apply object - oriented, concurrency, and event handling  programming constructs
4. Develop programs in Scheme, ML, and Prolog
5. Understand and adopt new programming languages

Syllabus:   
UNIT I : 
 SYNTAX AND SEMANTICS:
Evolution of programming languages, describing syntax, context,free grammars, attribute  grammars, describing semantics, lexical analysis, parsing, recursive - decent 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 PROGRAMMING LANGUAGES: 
Introduction to lambda calculus, fundamentals of functional  programming languages, Programming with Scheme, -  Programming with ML,

UNIT VI :
 LOGIC PROGRAMMING LANGUAGES: Introduction to logic and logic programming, -  Programming with Prolog, multi - paradigm languages


TEXT BOOKS:
 1. Robert W. Sebesta, "Concepts of Programming Languages", Tenth Edition, Addison Wesley, 2012.
2. Programming Langugaes, Principles & Paradigms, 2ed, Allen B Tucker, Robert E Noonan, TMH

REFERENCES:  1. R. Kent Dybvig, "The Scheme programming language", Fourth Edition, MIT Press, 2009.
 2. Jeffrey D. Ullman, "Elements of ML programming", Second Edition, Prentice Hall, 1998.
 3. Richard A. O'Keefe, "The craft of Prolog", MIT Press, 2009.
 4. W. F. Clocksin and C. S. Mellish, "Programming in Prolog: Using the ISO Standard", Fifth Edition, Springer, 2003

ALL  NOTES  REFERENCES   FOR  PPL



No comments:

Post a Comment