Wednesday, 1 March 2017

Java Syllabus

Java Syllabus


A10.1-R4: INTRODUCTION TO OBJECT ORIENTED PROGRAMMING THROUGH JAVA.


Java
Syllabus

S. No.
Topic
Minimum number of hours
1
Introduction to Object Oriented Programming
14
2
Introduction to Java programming Language.
32
3
Introduction to UML.
14

                 Lectures  = 60
Practical/tutorials = 60
                      Total = 120

Detailed Syllabus


1. Introduction to Object Oriented Programming 14 Hrs.

1) Thinking Object-Oriented (1 Hr.)
• Why Is OOP Popular? A New Paradigm, A Way of Viewing the World.
• Why Is OOP Popular? A New Paradigm, A Way of Viewing the World.
2) Abstraction (1 Hr.)
• Layers of Abstraction, Other Forms of Abstraction.
3) Classes and Methods (1 Hr.)
• Encapsulation, Class Definitions, Methods.
4) Messages, Instances, and Initialization (2 Hrs.)
• Message-Passing Syntax, Statically and Dynamically Typed Languages,
Accessing the Receiver from Within a Method, Object Creation, Pointers
and Memory Allocation, Constructors{Constant Values}, Destructors and
Finalizers.
5) Inheritance and Substitution (3 Hrs.)
• An Intuitive Description of Inheritance, Inheritance in Various Languages,
[Subclass, Subtype, and Substitution], Overriding and Virtual Methods,
Interfaces and Abstract Classes, Forms of Inheritance, The Benefits of
Inheritance, The Costs of Inheritance. Examples (Language independent)
6) Static and Dynamic Behavior (1 Hr.)
• Static versus Dynamic Typing, Static and Dynamic Classes, Static versus
Dynamic Method Binding.
7) Multiple Inheritance (1 Hr.)
• Inheritance as Categorization, Problems Arising from Multiple Inheritance,
Inner Classes.
8) Polymorphism and Software Reuse (1 Hr.)
• Polymorphism in Programming Languages, Mechanisms for Software
Reuse, Efficiency and Polymorphism, Will Widespread Software Reuse
Become Reality?
9) Overloading and Overriding (3 Hrs.)
• Type Signatures and Scopes, Overloading Based on Scopes, Overloading
Based on Type Signatures, Redefinition, Notating Overriding, Replacement
versus Refinement, Deferred Methods, Overriding versus Shadowing,
Covariance and Contra variance.

2) Introduction to Java Programming Language 32 Hrs.
1) An Introduction to Java (1 Hr.)
• Java as a Programming Platform, The Java "White Paper" Buzzwords,
Java and the Internet, A Short History of Java, Common Misconceptions
About Java.

2) The Java Programming Environment (1 Hr.)
• Installing the Java Development Kit, Choosing a Development
Environment, Using the Command-Line Tools, Using an Integrated
Development Environment, Compiling and Running Programs from a Text
Editor, Running a Graphical Application, Building and Running Applets.

3) Fundamental Programming Structures in Java (2 Hrs.)
• A Simple Java Program, Comments, Data Types, Variables, Operators,
Strings, Input and Output, Control Flow, Big Numbers, Arrays.

4) Objects and Classes (2 Hrs.)
• Introduction to Object-Oriented Programming, Using Predefined Classes,
Defining Your Own Classes, Static Fields and Methods, Method
Parameters, Object Construction, Packages, Documentation Comments,
Class Design Hints.

5) Inheritance (2 Hrs.)
• Classes, Superclasses, and Subclasses, Object: The Cosmic Superclass,
Generic ArrayLists, Object Wrappers and Autoboxing, Reflection,
Enumeration Classes, Design Hints for Inheritance.

6) Interfaces and Inner Classes (2 Hrs.)
• Interfaces, Object Cloning, Interfaces and Callbacks, Inner Classes, Proxies.

7) Introduction to GUI (2 Hrs.)
• AWT Architecture, Light-Weight vs Heavy-Weight, AWT Event Model,
AWT Event Hierarchy & Event Handling, Using Top-Levels, components
and containers, Introduction to Layouts, Focus Architecture.

8) Graphics Programming (4 Hrs.)
• Java2D Rendering Model, Strokes & Fills, Geometries, Fonts and Text
Layout, Transformations, Display and manipulation of Images and
offscreen buffers, Using Color, Printing through Java, Doing More with
Images using Image IO, Hardware Acceleration and Active Rendering
techniques.

9) User Interface Components with Swing (4 Hrs.)
• The Model-View-Controller Design Pattern, Introduction to Layout
Management, Text Input, Choice Components, Menus, Sophisticated
Layout Management, Dialog Boxes.

10) Deploying Applets and Applications (2 Hrs.)
• Applet Basics, The Applet HTML Tags and Attributes, Multimedia, The
Applet Context, JAR Files, Application Packaging, Java Web Start,
Storage of Application Preferences.

11) Exceptions and Debugging (2 Hrs.)
• Dealing with Errors, Catching Exceptions, Tips for Using Exceptions,
Logging, Using Assertions, Debugging Techniques, Using a
Debugger.

12) Streams and Files (3 Hrs.)
• The Complete Stream Zoo, ZIP File Streams, Use of Streams, Object
Streams, File Management, New I/O, Regular Expressions.

13) Database Programming (5 Hrs.)
• The Design of JDBC, The Structured Query Language, JDBC
Installation, Basic JDBC Programming Concepts, Query Execution,
Scrollable and Updatable Result Sets, Metadata, Row Sets,
Transactions, Advanced Connection Management, Introduction to
LDAP.

3) Introduction to UML 14 Hrs.
1) Introduction, An outline Development Process and Use cases (2 Hrs.)
• What Is the UML?, How We Got Here, Notations and Meta-Models,
Why Do Analysis and Design?, Overview of the Process, Inception,
Elaboration, Planning the Construction Phase, Construction, Transition,
When to Use Iterative Development, Use Case Diagrams, Business
and System Use Cases, When to Use Cases.

2) Class Diagrams and Advance Concepts (4 Hrs.)
• Perspectives, Associations, Attributes, Operations, Generalization,
Constraint Rules, When to Use Class Diagrams, Stereotypes, Object
Diagram, Class Scope Operations and Attributes, Multiple and Dynamic
Classification, Aggregation and Composition, Derived Associations and
Attributes, Interfaces and Abstract Classes, Reference Objects and Value
Objects, Collections for Multivalued Association Ends, Frozen,
Classification and Generalization, Qualified Associations, Association
Class, Parameterized Class, Visibility.

3) Interaction Diagrams, Packages and Collaborations (1 Hr.)
• Sequence Diagrams, Collaboration Diagrams, Comparing Sequence and
Collaboration Diagrams, When to Use Interaction Diagrams, Packages,
Collaborations, When to Use Package Diagrams and Collaborations.

4) State and Activity Diagrams (1 Hr.)
• Concurrent State Diagrams, When to Use State Diagrams, Decomposing
an Activity, Dynamic Concurrency, Swimlanes, When to Use Activity
Diagrams.

5) Physical Diagrams (1 Hr.)
• Deployment Diagrams, Component Diagrams, Combining Component
and Deployment Diagrams, When to Use Physical Diagrams.

6) Case Studies (5 Hrs.)

RECOMMENDED BOOKS

MAIN READING
1. Timothy Budo, ”An Introduction to Object-Oriented Programming with Java”,
Pearson Education, 2009.
2. Martin Fowler,”UML Distilled: A Brief Guide to the Standard Object Modeling
Language”, 3rd Edition, Pearson Education, 2009.

SUPPLEMENTARY READING
1. H. Schildt, “The Complete Reference -Java2”, Tata McGraw-Hill, 2008.
2. P. J Dietel and H. M Dietel, “Java How to Program”, 7th Edition, Pearson Education,
2008.
3. Grady Booch, James Rumbaugh, Ivar Jacobson, “Unified Modeling Language User
Guide”, 2nd Edition, Pearson Education, 2009.
4. Wu C Thomas, “Introduction to Object Oriented Programming with Java”, 4th Edition,
Tata McGraw-Hill, 2008.
5. Balaguruswamy E, “Programming with Java”, Tata McGraw-Hill, 2007.
6. Muthu C, “Essentials of Java Programming”, 2008, Tata McGraw-Hill, 2007.
7. Bhave M.P, Patekar S.A, “Programming with Java”, Pearson Education , 2009.