Unit I Introduction:
Role of programming languages, Need to study programming languages, Characteristics of Programming Languages, Programming language paradigms: Imperative, Object Oriented, Functional, Logic, Event Driven and Concurrent Programming, Language design issues, Language translation issues, Data Types: properties of Types and objects, Elementary data types, structured data types, Type conversion, Binding and binding times.
Unit II Procedures:
Sequence Control: Implicit and explicit sequence control, sequencing with arithmetic expressions, sequencing with Nonarithmetic expressions, sequence control between statements. Subprogram control: subprogram sequence control, attributes of data control, shared data in subprograms, different parameter passing methods, lifetime of variables, Storage management, Exceptions and exception
handling. Desirable and undesirable characteristics of procedural programming. Case study of Pascal.
Unit III Object Oriented Programming:
General characteristics for object based programming, Design Principles for object oriented programming, Implementing object oriented programming, desirable characteristics of object oriented programming.
Object Oriented Programming in Java : Abstraction, Inheritance, Polymorphism, I/O, access specification, interfaces, packages, exception handling, multithreading, event handling.
AWT: working with windows, Graphics, Text, using AWT controls, layout manager and menus. Comparative study of C++ and JAVA.
Unit IV Declarative Programming Paradigm:
Logic programming language model, logical statements, Resolution, Unification, Search structures, Applications of Logic programming. Case study of Prolog.
Applicative programming Paradigm: Lambda calculus: Ambiguity, free and bound identifiers, reductions, typed lambda calculus, principles of functional programming. Case study of LISP
Unit V Parallel Programming Paradigm :
Classification of computer architectures, principles of parallel programming, precedence graph, data parallelism, control parallelism, message passing, shared address space, synchronization mechanisms,
mapping, granularity, compilers, operating systems.
Unit VI Additional Programming Paradigms:
Data flow programming design principles, Database programming design principles, Network programming design principles, Socket programming in JAVA, Internet programming design principles, windows programming.
Text Books:
1. Roosta Seyed, “Foundations of Programming Languages Design & Implementation”, 3rd Edition, Cenage learning. ISBN-13:978-81-315-1062-9.
2. Pratt T.W., Zelkowitz “Programming Languages : Design and Implementation ”PHI, 2002, 3rd Edition.ISBN-81-203-1038-1
Reference Books:
2. Sethi Ravi, “Programming Languages: Concepts and Constructs” Pearson Education, ISBN: 9788177584226
Essentials of Programming Languages 3rd Edition Apr 2008 by Freidmanand Wand.pdf
Reference:T.B.kute
Understanding Programming Languages
Reference:T.B.kute