Introduction to Java, Object Oriented Programming, Classes, Inheritance, Polymorphism, Collections, Exceptions, Streams, Abstract Classes and Interfaces, Graphical User Interface, Event Handling, Database Connectivity, Meta Data Graphics, Applets, Socket Programming, Serialization, Multithreading, Web Application Development, Servlet, Java Server Pages, Java Beans, Model View Controller, Layers and Tiers, Java Server Pages Standard Tag Library, Java Server Faces, Web Services.
Introduction, The Array data type, The List abstract data type (ADT), Linked lists, Stacks, Queues, Trees, AVL Trees ,Huffman encoding , The Heap ADT, Priority queue implementation using the heap ADT, The Disjoint Sets ADT, The Table ADT, Implementation using arrays, Skip lists, Table ADT implementation using Hashing, Collision resolution in Hashing, Other uses of Hashing, Sorting, and Selection sort, Insertion sort, Bubble sort algorithms, Divide and conquer strategy: Merge sort, Quick sort.