A Closer Look at Methods and Classes:
Controlling Access to Class Members, Pass Objects to Methods, How Arguments are passed, Returning Objects, Method Overloading, Overloading Constructors, Recursion, Understanding Static, Introducing Nested and Inner Classes, Varargs: Variable-Length Arguments.
Inheritance:
Inheritance Basics, Member Access and Inheritance, Constructors and Inheritance, Using super to Call Superclass constructors, Using super to Access Superclass Members, Creating a Multilevel Hierarchy, When are Constructors Executed, Superclass References and Subclass Objects, Method Overriding, Overridden Methods support polymorphism, Why Overridden Methods, Using Abstract Classes, Using final, The Object Class.
Interfaces
Interface Fundamentals,Creating an Interface, Implementing an Interface,Using Interface References, Implementing Multiple Interfaces, Constants in Interfaces, Interfaces can be extended, Nested Interfaces, Final Thoughts on Interfaces.
Packages
Package Fundamentals, Packages and Member Access, Importing Packages, Static Import
Exception Handling
The Exception Hierarchy, Exception Handling Fundamentals,The Consequences of an Uncaught Exception, Exceptions Enable you to handle errors gracefully, using Multiple catch clauses, Catching subclass Exceptions, try blocks can be nested, Throwing an Exception, A Closer look at Throwable, using finally,using throws, Java’s Built in Exceptions, New Exception features added by JDK7, Creating Exception Subclasses.
Multithreaded Programming
Multithreading fundamentals, The Thread Class and Runnable Interface,Creating Thread, Creating Multiple Threads, Determining When a Thread Ends, Thread Priorities, Synchronization,using Synchronization Methods, The Synchronized Statement, Thread Communication using notify(),wait()and notifyAll(),suspending, Resuming and stopping Threads. Enumerations, Autoboxing and Annotations Enumerations, Java Enumeration are class types, The Values() and Valueof() Methods, Constructors, methods, instance variables and enumerations, Autoboxing, Annotations(metadata)
Networking with Java.net
Networking fundamentals, The Networking classes and Interfaces,The Inet Addressclass,The Socket Class,The URL class,The URL Connection Class, The Http URL Connection Class.
The collections Framework:
Collections Overview, Recent Changes to Collections, The Collection Interfaces, The Collection Classes, Accessing a collection Via an Iterator, Storing User Defined Classes in Collections, The Random Access Interface, Working With Maps, Comparators, The Collection Algorithms, Why Generic Collections?, The legacy Classes and Interfaces, Parting Thoughts on Collections.
Question Paper Pattern:
• The Question paper will have TEN questions
• Each full question will be for 20 marks
• There will be 02 full questions (with maximum of four sub questions) from each module.
• Each full question will have sub questions covering all the topics under a module.
• The students will have to answer FIVE full questions, selecting one full question from each module.
Textbooks
1.Java Fundamentals, A comprehensive Introduction by Herbert Schildt, Dale Skrien.Tata McGraw Hill Edition 2013.(Chapters:1,2,3,4,5,6,7,8,9,10,11,12,13,15,22,23,24,25,26)
2. Herbert Schildt: JAVA the Complete Reference, 7th/9th Edition, Tata McGraw Hill, 2007. (Chapter 17)
References
1.Java Programming by Hari Mohan Pandey,Pearson Education,2012.
2.Java6 Programming,Black Book,KoGenT, Dreamtech Press,2012.
3.Java2 Essentials,Cay Hortsmann,second edition,Wiley
Course Outcomes:
1. CO1: Demonstrate the basic programming constructs of Java and OOP concepts to develop Java programs for a given scenario.
2. CO2: Illustrate the concepts of generalization and run time polymorphism applications to develop reusable components.
3. CO3: Demonstrate the usage of Packages, Interfaces, Exceptions and Multithreading in building given applications.
4. CO4: Apply Enumerations, Wrappers, Auto boxing, Collection framework and I/O operations for effective coding to the given problem.
5. CO5: Implement the concepts of Applets, and networking using Java network classes for developing the distributed applications to the given problem.