CS305ES: OBJECT ORIENTED PROGRAMMING THROUGH JAVA
B.Tech. II Year I Sem. L T P C
3 0 0 3


Course Objectives:

  • To introduce the object oriented programming concepts.
  • To understand object oriented programming concepts, and apply them in solving problems.
  • To introduce the principles of inheritance and polymorphism; and demonstrate how they relate to the design of abstract classes
  • To introduce the implementation of packages and interfaces
  • To introduce the concepts of exception handling and multithreading.
  • To introduce the design of Graphical User Interface using applets and swing controls.

Course Outcomes

  • Able to solve real world problems using OOP techniques.
  • Able to understand the use of abstract classes.
  • Able to solve problems using java collection framework and I/o classes.
  • Able to develop multithreaded applications with synchronization.
  • Able to develop applets for web applications.
  • Able to design GUI based applications

UNIT - I

Object-oriented thinking- A way of viewing world – Agents and Communities, messages and methods, Responsibilities, Classes and Instances, Class Hierarchies- Inheritance, Method binding, Overriding and Exceptions, Summary of Object-Oriented concepts. Java buzzwords, An Overview of Java, Data types, Variables and Arrays, operators, expressions, control statements, Introducing classes, Methods and Classes, String handling.

Inheritance– Inheritance concept, Inheritance basics, Member access, Constructors, Creating Multilevel hierarchy, super uses, using final with inheritance, Polymorphism-ad hoc polymorphism, pure polymorphism, method overriding, abstract classes, Object class, forms of inheritance- specialization, specification, construction, extension, limitation, combination, benefits of inheritance, costs of inheritance.

UNIT - II

Packages- Defining a Package, CLASSPATH, Access protection, importing packages.

Interfaces- defining an interface, implementing interfaces, Nested interfaces, applying interfaces, variables in interfaces and extending interfaces.

Stream based I/O(java.io) – The Stream classes-Byte streams and Character streams, Reading console Input and Writing Console Output, File class, Reading and writing Files, Random access file operations, The Console class, Serialization, Enumerations, auto boxing, generics.

UNIT - III

Exception handling - Fundamentals of exception handling, Exception types, Termination or resumptive models, Uncaught exceptions, using try and catch, multiple catch clauses, nested try statements, throw, throws and finally, built- in exceptions, creating own exception sub classes.

Multithreading- Differences between thread-based multitasking and process-based multitasking, Java thread model, creating threads, thread priorities, synchronizing threads, inter thread communication.

UNIT - IV

The Collections Framework (java.util)- Collections overview, Collection Interfaces, The Collection classes- Array List, Linked List, Hash Set, Tree Set, Priority Queue, Array Deque.
Accessing a Collection via an Iterator, Using an Iterator, The For-Each alternative, Map Interfaces and Classes, Comparators, Collection algorithms, Arrays, The Legacy Classes and Interfaces- Dictionary, Hashtable ,Properties, Stack, Vector More Utility classes, String Tokenizer, Bit Set, Date, Calendar, Random, Formatter, Scanner

UNIT - V

GUI Programming with Swing – Introduction, limitations of AWT, MVC architecture, components, containers. Understanding Layout Managers, Flow Layout, Border Layout, Grid Layout, Card Layout, Grid Bag Layout.

Event Handling- The Delegation event model- Events, Event sources, Event Listeners, Event classes, Handling mouse and keyboard events, Adapter classes, Inner classes, Anonymous Inner classes.

A Simple Swing Application, Applets – Applets and HTML, Security Issues, Applets and Applications, passing parameters to applets. Creating a Swing Applet, Painting in Swing, A Paint example, Exploring Swing Controls- JLabel and Image Icon, JText Field, The Swing Buttons- JButton, JToggle Button, JCheck Box, JRadio Button, JTabbed Pane, JScroll Pane, JList, JCombo Box, Swing Menus, Dialogs.

TEXT BOOKS

  1. Java The complete reference, 9th edition, Herbert Schildt, McGraw Hill Education (India) Pvt. Ltd.
  2. Understanding Object-Oriented Programming with Java, updated edition, T. Budd, Pearson Education.

REFERENCE BOOKS

  1. An Introduction to programming and OO design using Java, J. Nino and F.A. Hosch, John Wiley & sons.
  2. Introduction to Java programming, Y. Daniel Liang, Pearson Education.
  3. Object Oriented Programming through Java, P. Radha Krishna, Universities Press.
  4. Programming in Java, S. Malhotra, S. Chudhary, 2nd edition, Oxford Univ. Press.
  5. Java Programming and Object oriented Application Development, R. A. Johnson, Cengage Learning.
  • Created
    May 27, 2017
  • Updated
    May 28, 2017
  • Views
    13,044