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.
No comments:
Post a Comment