You are on page 1of 2

CE302

Object Oriented Programming

[3 1 2 5]

Course Learning Outcome:


After successful completion of this course, student will be able to
understand and describe the basic principles and constructs of object-oriented programming

understand the significance of object oriented tools and technologies for modular development

design, develop, execute, debug and validate programs in object oriented programming
environment

Syllabus:
History and overview of Java: Creation of Java, features of Java, byte code, Evolution of Java, three
OOP principles (Inheritance, Polymorphism, Encapsulation), lexical issues,
Data types, variables, Operators: primitive data types, literals, variables, type conversion and casting,
automatic type promotion in expressions, type promotion rules, arithmetic operators, bitwise operators,
relational operators, Boolean logical operators, Assignment operators, ternary operators, operator
precedence
Arrays: one dimensional array, multi-dimensional array, alternative array declaration statements.
Control Statements: Selection statements, iteration statements, jump statements
Classes and Methods: class fundamentals, declaring objects, assigning object reference variables, adding
methods to a class, returning a value, constructors, this keyword, garbage collection, finalize() method,
overloading methods, argument passing, object as parameter, returning objects, access cotrol, static, final,
nested and inner classes, command line arguments, variable-length arguments
String Handling: String class methods
Inheritances: Basics, member access and inheritance, super class references, Using super, multilevel
hierarchy, constructor call sequence, method overriding, dynamic method dispatch, abstract classes,
Object class
Packages and Interfaces: defining a package, finding packages and CLASSPATH, access protection,
importing packages, interfaces (defining, implementation, nesting, applying), variables in interfaces,
extending interfaces, instance of operator
Exception Handling: fundamental, exception types, uncaught exceptions, try, catch, throw, throws,
finally, multiple catch clauses, nested try statements, built-in exceptions, custom exceptions (creating
your own exception sub classes)
Multithreaded Programming: Java thread model, thread priorities, synchronization, messaging, Thread
class, Runnable interfaces, creating a thread(s), Thread class methods, Synchronization, Inter thread
Communication, volatile operators

Page 1 of 2

Managing I/O: Streams, Byte Streams and Character Streams, Predefined Streams, Reading console
Input, Writing Console Output, PrintWriter class, File management classes
Networking: Networking Basics, Networking classes and interfaces - (InetAddress, TCP/IP Client
Sockets, URL, URL Connection, TCP/IP server Socket), Datagrams (DatagramSocket,
DatagramPacket)
Applet: Applet Fundamental, Applet Architecture, Applet Skeleton, Requesting Repainting, status
window, HTML Applet tag, passing parameters to Applets,
Event Handling: various event handling mechanisms, Delegation Event Model, Events, Event Sources,
Event Listeners, various classes related to event sources and event listeners
AWT: window fundamentals, creating frames, working with graphics, working with colors, working with
fonts, Adding removing various controls, Layout managers, menu bars and menus
Various packages: lang, util, Collection Framework

Self-Study: The self-study contents will be declared at the commencement of semester. Around 10% of
the questions will be asked from self-study contents.

Laboratory Work:
Laboratory work will be based on above syllabus with minimum 10 experiments to be incorporated.

Tutorial Work:
Tutorial work will be based on above syllabus with minimum 10 tutorials to be incorporated.

References:
1. Herbert Schildt, Java The Complete Reference, Tata McGraw Hill
2. Balaguruswamy, Programming with Java A primer, Tata McGraw Hill

Page 2 of 2

You might also like