1. Introduction to Java and Elementary Programming: Java lanquaqe specification ΑΡΙ, JDK and IDE. Creatinq. compilinq and Executinq a simple java proqram. Proqramminq style. documentation and errors. Readinq input from console. identifiers and variables. Assiqnment statements. Named constants and naminq conventions. Data Types (Numeric. Boolean. Character. Strinq) its Operations and Literals. Evaluating Expressions and operator Precedence. Types of Operators (Auqmented assiqnment. lncrement and Decrement. Loqical). operator precedence and associativity, numeric type conversions. (Chapter - 1) 2. Selections , Mathematical Functions and Loops : If statements, Two way, Nested if and multi-way if statements, Switch statements, Conditional Expressions. Common mathematical functions, While. do-while and for Ioop. nested Ioops. Keyword breaR and continue. (Chapter - 2) 3. Methods and Arrays : Defining and calling method. Passing arqument by values. Overloading methods and scope of variables. Method abstraction and stepwise refinement. Single Dimensional arrays. copying arrays ,Passing and returning array from method. Searching and sorting arrays and the Array class, Two-Dimensional array and its processinq. Passing Two-dimensional Array to methods. Multidimensional Arrays. (Chapter - 3) 4. Objects and Classes : Defining classes for objects, Constructors, accessing objects via reference variable, using classes from the java library. static variables. constants and methods. visibility modifiers and Data field encapsulation. passing objects to methods. array of objects. immutable objects and classes, scope of variable and the this reference. (Chapter - 4) 5. 0bject 0riented Thinking : Class abstraction and Encapsulation, thinking ίη objects and class relationships, Primitive data type and wrapper class types, Big integer and Big decimal class, string class, String Builder and String Buffer class, super class and subclass, using super keyword, overriding and overloading methods, polymorphism and dynamic binding, casting objects and instance of operator, The ArrayList class and its methods, The protected data and methods. (Chapter - 5) 6. Exception Handling, 1/0, Abstract αasses and lnterfaces : Exception types, finally clause, rethrowing Exceptions, chained exceptions, defining custom exception classes, file class and its input and output, Reading data from web, Abstract classes, interfaces, Comparable and Cloneabal interface. (Chapter - 6) 7. JAVAFX basics and Event-driven Programming and Animations: Basic structure of JAVAFX program, Panes, UI control and shapes, Property binding, the Color and the font class, the Image and Image-View class, layout panes and shapes, Events and Events sources, Reqistering Handlers and Handling Events, Inner classes, anonymous inner class handlers, mouse and key events, listeners for observable objects, animation. (Chapter - 7) 8. JAVAFX UI Controls and Multimedia: Labeled and Label, button, Checkbox, RadioButton, Textfield, TextArea, Combo Βοχ, LίstView, Scrollbar, Slider, Video and Audio. (Chapter - 8) 9. Binary 1/0 ,Recursion and Generics : Text 1/0, binary 1/0, Binary 1/0 classes, 0bject 1/0, Random Access files, Problem solving using Recursion, Recursive Helper methods, Tail Recursion, Defining Generic classes and interfaces, Generic methods, Raw types and backward compatibility, wildcard Generic types, Erasure and Restrictions οη Generics. (Chapter - 9) 10. List, Stacs. Queues and Priority Queues: Collection, lterators, Lists, The Comparator interface, static methods for list and collections, Vector and Stack classes, Queues and priority Queues. (Chapter - 10) 11. Sets and Maps : Comparing the performance of Sets and Lists, singleton and unmodifiable collections and Maps. (Chapter - 11) 12. Concurrency : Thread states and life cycle,Creating and Executing threads with the Executor framework, Thread synchronization. (Chapter - 12)