Object Oriented Programming – KASNEB Syllabus

PAPER NO.10 OBJECT ORIENTED PROGRAMMING

GENERAL OBJECTIVE

This paper is intended to equip the candidate with the knowledge, skills and attitudes that will enable him/her to develop object oriented programs using Java.

LEARNING OUTCOMES

A candidate who passes this paper should be able to:

  • Analyse a problem and develop an appropriate solution using the object oriented programming language
  • Write programs using the object oriented programming language
  • Test and debug object oriented programs
  • Handle errors in object oriented programs

CONTENT

An overview of programming techniques and paradigms

  • Introduction to object oriented programming
  • Strengths of object oriented programming over other paradigms

Introduction to Java programming language

  • Java language specification
  • Java JDK, IDE and API
  • Identifiers, data types and variables

Concepts of object oriented programming

  • Methods and messages
  • Abstract data types
  • Classes
  • Objects
  • Class relationships
  • Encapsulation
  • Abstraction
  • Inheritance
  • Polymorphism
  • Interfaces

Functions/methods

  • Function declaration
  • Function prototype and type checking
  • Arguments and parameters
  • Inline functions
  • Function overloading
  • Pure virtual functions
  • Reference and argument passing
  • Writing programs using functions

Class implementation

  • Overview of classes
  • Member data and functions
  • Data encapsulation
  • Abstract classes and interfaces
  • Organising codes for classes
  • Writing simple programs using classes

Constructors and destructors

  • Constructors and initialisations
  • Object creation
  • Multiple constructors in a class
  • Hidden constructors
  • Destructors
  • Object destruction
  • Virtual destructions
  • Writing a program using constructors and destructors

Memory management

  • Static, automatic and heap memory
  • New and delete operators
  • Handling memory allocation errors
  • Hiding details of memory management in a class
  • Implementing a dynamic string class

Scope and access control

  • Variable and function scope
  • Friend functions
  • Constant and enumeration types
  • Static members

Introduction to inheritance

  • Inheritance for modelling and reuse
  • Class derivation
  • Access control
  • Base class initialisation
  • Composition
  • Initialising class type members

Polymorphism and operators

  • Function overriding
  • Operator overloading
  • Type casting and conversions
  • Pointer conversion

 Templates and generics

  • Template mechanism
  • Function templates
  • Class templates
  • Generic programming
  • Implementing a general array class
  • Standard template library
  • Writing programs using standard temporary library (STL)

Serialised data and objects

  • Streams and files
  • Input and output streams
  • File streams
  • Object streams
  • Object serialisation
  • Readers and writers
  • Writing programs using input/output streams

Object oriented application development

  • Introduction to mobile application development
  • Overview of object relational programming

Exception handling and error handling

  • Overview of errors and exceptions
  • Exception mechanism
  • Error handling mechanism
  • Exceptions compared to other error handling techniques
  • Throw, try, catch and finally
  • Exception context and stack unwinding
  • Custom exceptions
  • Uncaught exceptions
  • Automatic cleanup in exception handling

Emerging issues and trends



Leave a Reply

Your email address will not be published. Required fields are marked *