Courseware: The Complete Reference Java Seventh Edition, Herbert Schidt/ TMH
Reference: Beginning Java 2 by Ivor Horton; Wrox Publication
Session 1: Lecture Java Language and its features How Java is different from C++? The Java Language Data types, Variables, Constants, operators, Control Statements (if, for, while, switch etc.) Classes in java
Session 2: Lecture
Constructors, finalize, instance data and methods, the new operator Methods, overloading, parameter passing, objects as parameters Memory management, garbage collection The first Java Program Assignment Lab: Get yourself acquainted with java environment. Build a class Emp, which contains details about the employee and compile and run its instance. Assignment Reading: Study the book Java FAQ Assignment Tutorial: Compare syntactical similarities and dissimilarities between Java and C++
Session 3: Lecture The this facility, static data and methods, block, scope, lifetime JDK and its usage (Java Compiler, Java Runtime, Java Debugger, Java doc) Difference between applications and applets
Session 4: Lecture Inner classes, Abstract Classes & wrapper classes. Assignment Lab: Create an inner class for a manager, which contains information about the manager. Use the appropriate interfaces. Create an anonymous inner class for Tech. Members using the Session one assignment
J2SE Page 2 of 6 Lecture Interfaces Packages Access Control Rules
Session 6: Lecture Exception Handling Exceptions as objects, Exception hierarchy Try, catch and finally Different exception classes Assignment Lab: Create an appropriate data structures to store your employee object and use the java.util.package properties.
Session 7: Lecture The java. Lang package, Object, Number, Math, System The String class The java.util Package Assignment Lab: Implement String class and util package
Session 8: Lecture Arrays, Vectors, Stack, Hash table, Dictionary, Property Assignment Lab: Create a user defined exception to check whether your employee exist in your data structure and using the catch and finally block. Redeem an appropriate solution.
Session 9: Lecture The Java2 Collection Framework
Session 10: Lecture The Java2 Collection Framework(Contd..) Assignment Lab: Using the collection framework define an appropriate interface to your above application
Session 11: Lecture Multithreaded programming in Java Multithreading: advantages and issues The Thread class, thread groups The Run able interface
Session: 12 Lecture Thread synchronization Inter-Thread communication Assignment Lab: Using Multi-Threading create objects in java E.g. Create a clock & synchronize your application.
J2SE Page 3 of 6 Lecture The java.io Package Files Byte Streams and Unicode Character Streams Persistence of objects Object Serialization Methods Assignment Lab: Make your above Employee, manger classes objects persistent.
Advanced swing components The Model-View-Controller Architecture JScrollPane, JTable, JTree, JDesktopPane, JInternalFrame, JSplitPane Assignment Lab: Design the Session 8 assignment using swing components.
Session: 16 Lecture The Applet class Applet context, paint (), repaint (), update (), get Graphics () Passing parameters, embedding in HTML Integrating into distributed application
Session: 17 Lecture Inter applet communication Communication with JavaScript Security Issues while running in clients desktop Assignment Lab: Design the interface of the Employee, manger classes using applets.
Session: 18 Lecture Reflection in Java Determine the class of an object. Get information about a class's modifiers, fields, methods, constructors, and super classes. Find out what constants and method declarations belong to an interface. Create an instance of a class whose name is not known until runtime. Get and set the value of an object's field, even if the field name is unknown to your program until runtime. Invoke a method on an object, even if the method is not known until runtime.
J2SE Page 4 of 6 Assignment Lab: Create a new array, whose size and component type are not known until runtime, and then modify the array's components
Session: 19 Lecture Introduction to Java Network Programming URL Inet Address Socket, and ServerSocket Teaching Guidelines for J 2SE Core J ava DAC Aug 2011 DAC, J2SE Page 5 of 6 Assignment Lab: Write a multithreaded chat server and a GUI client Assignment Reading: Study Oreillys book Java Network Programming by E. R. Harold Assignment Tutorial: Compare network programming in Java with that in other languages
Session: 20 DatagramPocket DatagramSocket Assignment Lab: Provide chat-rooms and private messaging facilities to your chat application. Convert the client application to an applet
Session: 21 Lecture Remote Method Invocation The java.rmi package The Remote interface Assignment Lab: Write an RMI server that returns a Result object to your RMI client application. He GUI client sends a roll number to the server and the server looks up a database table for the students details (name, marks, rank etc) and passes a Result object to the client encompassing all these info.
Session: 22 Lecture The UnicastRemoteObject and Naming classes Stub rmic rmiregistry Assignment Lab: Write an RMI server that returns a Result object to your RMI client application. He GUI client sends a roll number to the server and the server looks up a database table for the students details (name, marks, rank etc) and passes a Result object to the client encompassing all these info.
Session 23 & 24: Lecture Introduction Of Design Patterns Define Design Patterns The Java Foundation Classes Java Design Patterns Creational Patterns The Factory Pattern The singleton Pattern The builder Pattern Assignment Read: Read consequences of these patterns from book Assignment Lab: Suppose we are writing a program to assist homeowners in designing additions to their houses. What objects might a Factory be used to produce? If you are writing a program to track investments, such as stocks, bonds, metal futures, derivatives, etc., How might you use singleton pattern?
Teaching Guidelines for J 2SE Core J ava DAC Aug 2011 DAC, J2SE Page 6 of 6 Session 25 and 26: Lecture Structural Patterns The Adapter pattern The Bridge Pattern The Composite Pattern Assignment Read: Read consequences of these patterns from book Assignment Lab: Write the code to define a Brightness object that represents the brightness function.
Session 27 & 28: Lecture Behavioral Patterns Chain Of Responsibility The Command Pattern The Interpreter Pattern Assignment Read: Read consequences of these patterns from book