Principles of Programming Languages
UNIVERSITY SYLLABUSUNIT-I
PreliminaryConcepts: Reasons for studying, concepts of programming languages, Programming domains, Language Evaluation Criteria, influences on Language design, Language categories, Programming Paradigms – Imperative, Object Oriented, functional Programming , Logic Programming. Programming Language Implementation – Compilation and Virtual Machines, programming environments.
UNIT-II
Syntax and Semantics: general Problem of describing Syntax and Semantics, formal methods of describing syntax - BNF, EBNF for common programming languages features, parse trees, ambiguous grammars, attribute grammars, denotational semantics and axiomatic semantics for common programming language features.
UNIT-III
Data types: Introduction, primitive, character, user defined, array, associative, record, union, pointer and reference types, design and implementation uses related to these types. Names, Variable, concept of binding, type checking, strong typing, type compatibility, named constants, variableinitialization.
UNIT-IV
Expressions and Statements: Arithmetic relational and Boolean expressions, Short circuit evaluation mixed mode assignment, Assignment Statements, Control Structures – Statement Level, Compound Statements, Selection, Iteration, Unconditional Statements, guarded commands.
UNIT-V
Subprograms and Blocks: Fundamentals of sub-programs, Scope and lifetime of variable, static and dynamic scope, Design issues of subprograms and operations, local referencing environments, parameter passing methods, overloaded sub-programs, generic sub-programs, parameters that are sub-program names, design issues for functions user defined overloaded operators, co routines.
UNIT-VI
Abstract Data types: Abstractions and encapsulation, introductions to data abstraction, design issues, language examples, C++ parameterized ADT, object oriented programming in small talk, C++, Java, C#, Ada 95 Concurrency: Subprogram level concurrency, semaphores, monitors, massage passing, Java threads, C# threads.
UNIT-VII
Exceptionhandling: Exceptions, exception Propagation, Exception handler in Ada, C++ and Java.
Logic Programming Language: Introduction and overview of logic programming, basic elements of prolog, application of logic programming.
UNIT-VIII
Functional Programming Languages: Introduction, fundamentals of FPL, LISP, ML, Haskell, application of Functional Programming Languages and comparison of functional and imperative Languages.
Scripting Language: Pragmatics, Key Concepts, Case Study: Python-Values and Types, Variables, Storage and Control, Binding and Scope, Procedural Abstraction, Data Abstraction, Separate Compilation, Module Library.
GATE SYLLABUS
Functions, Recursion, Parameter passing, Scope, Binding; Abstract data types, Arrays.
IES/CSIR SYLLABUS
Data types, Expressions and Statements, Abstract Data Types, Exception Handling.
TEXT BOOKS
T1:Concepts of Programming Languages Robert.W.Sebesta 8/e, Pearson Education, 2008
T2: Programming Languages –Louden, Second Edition, Thomson.
REFERENCE BOOKS
R1: Programming languages –Ghezzi, 3/e, John Wiley
R2: Programming Languages Design and Implementation – Pratt and Zelkowitz, Fourth Edition PHI/Pearson Education
R3: Programming languages –Watt, Wiley Dreamtech
R4: LISP Patric Henry Winston and Paul Horn Pearson Education.
R5: Programming in PROLOG Clocksin, Springer
R6: Core Python Programming, Chun, II Edition, Pearson Education, 2007
R7: Guide to Programming with Python, Michael Dawson, Thomson, 2008
INTERNATIONAL JOURNALS
1.Bulletin of the IGPL (Interest Group in Pure and Applied Logics)
2.The Chicago Journal of Theoretical Computer Science
3.The The Journal of Forth Application and Research
4.The Journal of Functional Programming (Cambridge University Press)
5.The Journal of Functional and Logic Programming (MIT Press)
6. The Journal of the Interest Group in Pure and Applied Logics (IGPL)
7.The Journal of Symbolic Computation
8.Logic in Computer Science (LICS) Newsletter Archive
9.Logic Programming Newsletter Archive
10.Theoretical Computer Science (Elsevier)
11.Theory and Applications of Categories
NATIONAL
1. CSI Communications
2. IETE Technical Journal
WEBSITES
1.www.learnerstv.com/Free-Computers-Video-lectures-ltv061-Page1.htm
2.freevideolectures.com › Computer Science › IIT Madras
3.www.ocw.mit.edu