314450: PROGRAMMING PARADIGMS
Teaching scheme: Examination Scheme:
Lecturers: 3 Hours/Week Theory: 100 Marks
· Data structures and Files.
· Theory of Computations.
· To understand the basic building blocks of programming Languages.
· To Learn and understand various programming paradigms.
Unit I Introduction 6 Hrs.
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 6 Hrs.
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 8 Hrs.
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 8 Hrs.
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 6 Hrs.
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 6 Hrs.
Data flow programming design principles, Database programming design principles, Network programming design principles, Socket programming in JAVA, Internet programming design principles, windows programming.
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
1. Sebesta R. W., “Concepts of programming languages”, Pearson Education 2001, 4th edition.ISBN-81-317-0837-3.
2. Sethi Ravi, “Programming Languages: Concepts and Constructs” Pearson Education, ISBN: 9788177584226
3. Herbert Schildt “The Complete Reference Java2”, 5th edition, Tata McGraw Hill, ISBN-13: 978-0-07-049543-2.