Skip to content

shafakhat/CS305PC-OBJECT-ORIENTED-PROGRAMMING-THROUGH-JAVA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 

Repository files navigation

☕ CS305PC: OBJECT ORIENTED PROGRAMMING THROUGH JAVA

Course Objectives

  • To Understand the basic object-oriented programming concepts and apply them in problem solving.
  • To Illustrate inheritance concepts for reusing the program.
  • To Demonstrate multitasking by using multiple threads and event handling
  • To Develop data-centric applications using JDBC.
  • To Understand the basics of java console and GUI based programming

Course Outcomes

  • Demonstrate the behavior of programs involving the basic programming constructs like control structures, constructors, string handling and garbage collection.
  • Demonstrate the implementation of inheritance (multilevel, hierarchical and multiple) by using extend and implement keywords
  • Use multithreading concepts to develop inter process communication.
  • Understand the process of graphical user interface design and implementation using AWT or swings.
  • Develop applets that interact abundantly with the client environment and deploy on the server.

SYLLABUS

UNIT ‐ I Object oriented thinking and Java Basics

Need for oop paradigm, summary of oop concepts, coping with complexity, abstraction mechanisms. A way of viewing world – Agents, responsibility, messages, methods, History of Java, Java buzzwords, data types, variables, scope and lifetime of variables, arrays, operators, expressions, control statements, type conversion and casting, simple java program, concepts of classes, objects, constructors, methods, access control, this keyword, garbage collection, overloading methods and constructors, method binding, inheritance, overriding and exceptions, parameter passing, recursion, nested and inner classes, exploring string class.

UNIT ‐ II Inheritance, Packages and Interfaces

Hierarchical abstractions, Base class object, subclass, subtype, substitutability, forms of inheritance specialization, specification, construction, extension, limitation, combination, benefits of inheritance, costs of inheritance. Member access rules, super uses, using final with inheritance, polymorphism- method overriding, abstract classes, the Object class. Defining, Creating and Accessing a Package, Understanding CLASSPATH, importing packages, differences between classes and interfaces, defining an interface, implementing interface, applying interfaces, variables in an interface and extending interfaces. Exploring java.io.

UNIT ‐ III Exception handling and Multithreading

Concepts of exception handling, benefits of exception handling, Termination or resumptive models, exception hierarchy, usage of try, catch, throw, throws and finally, built in exceptions, creating your own exception subclasses. String handling, exploring java.util. Differences between multithreading and multitasking, thread life cycle, creating threads, thread priorities, synchronizing threads, inter-thread communication, thread groups, and daemon threads. Enumerations, autoboxing, annotations, generics.

UNIT ‐ IV Event Handling & AWT

Events, Event sources, Event classes, Event Listeners, Delegation event model, handling mouse and keyboard events, Adapter classes. The AWT class hierarchy, user interface components- labels, button, canvas, scrollbars, text components, check box, checkbox groups, choices, lists panels – scrollpane, dialogs, menubar, graphics, layout manager – layout manager types – border, grid, flow, card and grid bag.

UNIT ‐ V Applets & Swings

Concepts of Applets, differences between applets and applications, life cycle of an applet, types of applets, creating applets, passing parameters to applets. Swing – Introduction, limitations of AWT, MVC architecture, components, containers, exploring swing- JApplet, JFrame and JComponent, Icons and Labels, text 􀏐ields, buttons – The JButton class, Check boxes, Radio buttons, Combo boxes, Tabbed Panes, Scroll Panes, Trees, and Tables.

TEXT BOOKS:

  1. Java The Complete Reference, 7th edition, Herbert schildt, TMH.
  2. Understanding OOP 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. An Introduction to OOP, third edition, T. Budd, Pearson education.
  3. Introduction to Java programming, Y. Daniel Liang, Pearson education.
  4. An introduction to Java programming and object-oriented application development, R.A. Johnson- Thomson.
  5. Core Java 2, Vol 1, Fundamentals, Cay.S. Horstmann and Gary Cornell, eighth Edition, Pearson Education.
  6. Core Java 2, Vol 2, Advanced Features, Cay.S. Horstmann and Gary Cornell, eighth Edition, Pearson Education
  7. Object Oriented Programming with Java, R.Buyya, S.T.Selvi, X.Chu, TMH.
  8. Java and Object Orientation, an introduction, John Hunt, second edition, Springer.
  9. Maurach’s Beginning Java2 JDK 5, SPD.