Syllabus Principles of Programming Languages - (210255) Credit Scheme Examination Scheme and Marks 03 End_Semester (TH) : 70 Marks Unit III Java as Object Oriented Programming Language-Overview Fundamentals of JAVA, Arrays : one dimensional array, multi-dimensional array, alternative array declaration statements, String Handling : String class methods, Classes and Methods : class fundamentals, declaring objects, assigning object reference variables, adding methods to a class, returning a value, constructors, this keyword, garbage collection, finalize() method, overloading methods, argument passing, object as parameter, returning objects, access control, static, final, nested and inner classes, command line arguments, variable - length arguments. (Chapter - 3) Unit IV Inheritance, Packages and Exception Handling using Java Inheritances : member access and inheritance, super class references, Using super, multilevel hierarchy, constructor call sequence, method overriding, dynamic method dispatch, abstract classes, Object class. Packages and Interfaces : defining a package, finding packages and CLASSPATH, access protection, importing packages, interfaces (defining, implementation, nesting, applying), variables in interfaces, extending interfaces, instance of operator. Fundamental, exception types, uncaught exceptions, try, catch, throw, throws, finally, multiple catch clauses, nested try statements, built-in exceptions, custom exceptions (creating your own exception sub classes). Managing I/O : Streams, Byte Streams and Character Streams, Predefined Streams, Reading console Input, Writing Console Output, Print Writer class. (Chapter - 4) Unit V Multithreading in Java Concurrency and Synchronization, Java Thread Model : Thread priorities, Synchronization, Messaging, Main Thread, Creating thread : Implementing Thread using thread class and Runnable interface. Creating multiple threads using is Alive() and join(). Web Based Application in Java : Use of JavaScript for creating web based applications in Java, Introduction to Java script frameworks - ReactJS, VueJS, AngularJS (open source). (Chapter - 5) Unit VI Logical and Functional Programming Functional Programming Paradigm : Understanding symbol manipulation, Basic LISP functions, definitions, predicates, conditionals and scoping, Recursion and iteration, Properties List array and access functions, Using lambda definitions, printing, reading and atom manipulation. Logic Programming Paradigm : An Overview of Prolog, Syntax and Meaning of Prolog Programs, Lists, Operators, Arithmetic, Using Structures. (Chapter - 6)