MCA 301: Object Oriented Programming with JAVA

Lectures: 4 Periods/Week Sessional Marks: 30
University Exam: 3 Hours University Examination Marks: 70


UNIT-I
Java Basics
History of java, java buzzwords, data types, variables, scope and life time of variables, arrays, operators, expressions, control statements, type conversion and casting. Simple java program, classes and objects - concepts of classes, constructors, methods, access control, this keyword, garbage collection, overloading methods and constructors, parameter passing, recursion, string handling, Enumerations, autoboxing and unboxing, Generics.
Inheritance
Inheritance concept, benefits of inheritance, Super classes and Sub classes, Member access rules, Inheritance hierarchies, super uses, preventing inheritance: final classes and methods, casting, polymorphism- dynamic binding, method overriding, abstract classes and methods, the Object class and its methods..
UNIT-II
Interfaces
differences between classes and interfaces, defining an interface, implementing interfaces, applying interfaces, variables in interface and extending interfaces.
Packages
Defining, Creating and Accessing a Package, Understanding CLASSPATH, importing packages. Exploring packages - java.io, java.io.util.
Filesstreams- byte streams, character streams, text Input/output, binary input/output, random access file operations, File management using File class, Using java.io.
UNIT-III
Exception handling
Dealing with errors, benefits of exception handling, the classification of exceptions- exception hierarchy, checked exceptions and unchecked exceptions, usage of try, catch, throw, throws and finally, rethrowing exceptions, exception specification, built in exceptions, creating own exception sub classes, Guide lines for proper use of exceptions.
Multithreading
Differences between multiple processes and multiple threads, thread life cycle, creating threads, interrupting threads, thread priorities, synchronizing threads, interthread communication, thread groups, daemon threads.

UNIT-IV
Event Handling
Events, Event sources, Event classes, Event Listeners, Relationship between Event sources and Listeners, Delegation event model, Semantic and Low-level events, the AWT class hierarchy, User interface components - labels, buttons, canvas, scrollbars, text components, checkbox, check box groups , choices, list panels. Layout manager types - boarder, grid , flow, card and grid bag.
Applets
Inheritance hierarchy for applets, differences between applets and applications, life cycle of an applet, types of applets, creating applets, passing parameters to applets.
GUI Programming with Java
The AWT class hierarchy, Introduction to Swing, Swing vs. AWT,MVC architecture, Hierarchy for Swing components, Containers - Top-level containers - JFrame, JApplet, JWindow, JDialog. Light weight containers - JPanel. A simple swing application, Overview of several swing components- Jbutton, JToggleButton, JCheckBox, JRadioButton, JLabel, JTextField, JTextArea, JList, JComboBox, JMenu.

Text Books

  1. Java: the complete reference, 7th editon, Herbert Schildt, TMH.
  2. Java for Programmers, P.J.Deitel and H.M.Deitel, Pearson education / Java: How to Program P.J.Deitel and H.M.Deitel ,8th edition, PHI.
  3. Understanding OOP with Java, updated edition, T.Budd, pearson education.
Reference Books
  1. Core Java, Volume 1-Fundamentals, eighth edition, Cay S.Horstmann and Gary Cornell, Pearson education.
  2. Thinking in Java, Bruce Eckel, PHP
  3. Object Oriented Programming through Java, P.Radha Krishna, Universities Press