Explanation of the statement: “Java: A simple, object-oriented, network-savvy, interpreted, robust, secure, architecture-neutral, portable, high performance, multithreaded dynamic language”.
Explanation (at the overview level) of the following terms: Plug-ins, Java API’s, jdk, J2SE, J2EE, J2ME, JVM, Java Hotspot, JRE, HotJava, JAR, AWT, Swing, Applets, Servlets, JSP, Lava Beans, EJB, RMI, JDBC, JMI, Java 2D, Java 3D, DND, Java IDL, Java Collections, RSA Signatures, X.509 Certificates, JPDA.
Differentiate between jdk 1.0, jdk 1.1, jdk 1.2, J2SE, J2EE, J2ME and J2SE v 1.3. Overview of main improvements and additions in each version. Information about deprecated classes and methods till the Java 2 platform. Support or refute the statement: “Since jdk1.1, there have not been many enhancements in the Java language specification, but there improvements have taken place in the Java API’s”.
(i) Java and C,
(ii) Java and C++,
(iii) Java Language and Java Platform.
Review of the Java language.
Java keywords and identifier naming conventions. Java primitive types. Their constants, variables, final variables, operators, expressions, assignments, statements and blocks. Type conversions and promotion rules between primitive types. The Java reference types. Strings, arrays and classes. Differences in creating, copying and comparing primitive types and reference types.
Java classes and objects. Difference between the two. Variable default values. Method signature. Class methods and variables, instance methods and variables. Object constructor methods. Method and constructor overloading. The ‘this’ keyword. The finalize() method. Using objects as parameters. Methods returning an object type. Access control. Public, private and protected instance variables. Public, private, protected, static, abstract, final, native and synchronized methods. Nested and inner classes. Subclasses and inheritance. Subclass constructors, default constructor and constructor chaining. Superclass variable referencing a subclass object. Using superclass members. Overriding superclass methods. Preventing method overriding and and class inheritance. Abstract classes.
Java Garbage collection. Java packages. Defining a package and giving it a unique name. Access control and protection in packages. Importing packages in programs. Java interfaces. Defining, implementing, accessing, applying and accessing interfaces.
Java strings. String handling – methods in String class. Java one and multidimensional arrays. Object literal syntax for creating strings and arrays. Exception handling in Java. Java input/output.
1. S.Y.B.Sc. Java Syllabus Text Books Code:J2CR (Ch. 1-13)
2. Code PWJ: (Appendix A, B, C, D, G)
3. The Java Platform – A White Paper, Douglas Cramer, java.sun.com Website, JavaSoft.
4. The Java Language Environment – A White Paper, James Gosling and Henry McGilton, java.sun.com Website, JavaSoft.
5. Details of Java2 jdk v1.3 from the java.sun.com Website.
6. Code:J2CR. (Ch. 6-10).
Java. Lang package. Simple type wrappers. Number, double, float, byte, short, int, long, character, boolean, process and void. The Math class.
Java Utility and Collection Classes. Java.util package. The collections framework (Interfaces in the collections framework, traversing collections with iterators, general purpose implementations, arrays as collections, algorithms, wrappers as implementations, extending the abstract implementations, legacy collections framework classes, traversing collections with enumeration’s).
1. Code: JPAT. (Ch. 10).
2. Code: J2CR. (Ch. 14, 15).
3. Code: LJ. (Ch. 9).
GUI, Windows and Events. Technology of a GUI, AWT & Swing API’s. Programming with the JFC, Swing API components, JComponent class, Windows dialogs and panels, Layout managers (Border, flow, grid, grid-bag, card and box layouts. Tabbed panes, split panes, positioning the components), labels, buttons, and check boxes. Event listeners and adapters. Menus, toolbars and actions