mywbut.
com
Object Oriented Programming
Code: EC605A
Contact: 3L
Credits: 3
Object oriented design [10 L]
Concepts of object oriented programming language, Major and minor elements, Object, Class, relationships among
objects, aggregation, links, relationships among classes-association, aggregation, using, instantiation, meta-class,
grouping constructs.
Object oriented concepts [4 L]
Difference between OOP and other conventional programming – advantages and disadvantages. Class, object,
message passing, inheritance, encapsulation, polymorphism
Basic concepts of object oriented programming using Java [22 L]
Implementation of Object oriented concepts using Java.
Language features to be covered:
Class & Object properties [6L]
Basic concepts of java programming – advantages of java, byte-code & JVM, data types, access specifiers, operators,
control statements & loops, array, creation of class, object, constructor, finalize and garbage collection, use of method
overloading, this keyword, use of objects as parameter & methods returning objects, call by value & call by reference,
static variables & methods, garbage collection, nested & inner classes, basic string handling concepts- String (discuss
charAt() , compareTo(), equals(), equalsIgnoreCase(), indexOf(), length() , substring(), toCharArray() , toLowerCase(),
toString(), toUpperCase() , trim() , valueOf() methods) & StringBuffer classes (discuss append(), capacity(), charAt(),
delete(), deleteCharAt(), ensureCapacity(), getChars(), indexOf(), insert(), length(), setCharAt(), setLength(), substring(),
toString() methods), concept of mutable and immutable string, command line arguments, basics of I/O operations –
keyboard input using BufferedReader & Scanner classes.
Reusability properties [6L]
Super class & subclasses including multilevel hierarchy, process of constructor calling in inheritance, use of super and
final keywords with super() method, dynamic method dispatch, use of abstract classes & methods, interfaces.
Creation of packages, importing packages, member access for packages.
Exception handling & Multithreading [6L]
Exception handling basics, different types of exception classes, use of try & catch with throw, throws & finally, creation
of user defined exception classes.
Basics of multithreading, main thread, thread life cycle, creation of multiple threads, thread priorities, thread
synchronization, interthread communication, deadlocks for threads, suspending & resuming threads.
Applet Programming (using swing) [4L]
Basics of applet programming, applet life cycle, difference between application & applet programming, parameter
passing in applets, concept of delegation event model and listener, I/O in applets, use of repaint(), getDocumentBase(),
getCodeBase() methods, layout manager (basic concept), creation of buttons (JButton class only) & text fields.
Textbooks/References:
1. Rambaugh, James Michael, Blaha – "Object Oriented Modelling and Design" – Prentice Hall, India
2. Ali Bahrami – "Object Oriented System Development" – Mc Graw Hill
3. Patrick Naughton, Herbert Schildt – "The complete reference-Java2" – TMH
4. R.K Das – "Core Java For Beginners" – VIKAS PUBLISHING
5. Deitel and Deitel – "Java How to Program" – 6th Ed. – Pearson
6. Ivor Horton's Beginning Java 2 SDK – Wrox
7. E. Balagurusamy – " Programming With Java: A Primer" – 3rd Ed. – TMH