CS 1261 OBJECT ORIENTED PROGRAMMING 3 1 0 100
AIM
To present the concept of object oriented programming and discuss briefly the important elements of object oriented analysis and design of systems.
OBJECTIVES
i. To study the object oriented programming principles, tokens, expressions, control
structures and functions.
ii. To introduce the classes, objects, constructors and Destructors.
iii. To introduce the operator overloading, inheritance and polymorphism concepts in C++.
iv. To introduce constants, variables, data types,
operators, classes, objects, methods, arrays and strings in Java.
v. To introduce the programming approach in Java, interfaces and packages,
multithreading, managing errors and exceptions and Applet programming.
1. OBJECT ORIENTED PROGRAMMING AND BASICS OF C++ 9
Software crisis – Software evolution – A look at procedure oriented programming – Object oriented programming paradigm – Basic concepts of object oriented programming – Benefits of OOP – Object-oriented languages – Applications of OOP - What is C++? – A simple C++ program – More C++ statements – Structure of C++ Program.
Tokens – Keywords – Identifiers and constants – Basic data types – User defined data types – Derived data types – Symbolic constants – Declaration of variables – Dynamic initialization of variables – Reference variables – Operators in C++ – Scope resolution operator – Manipulators – Type cast operator – Expressions and their types – Special assignment expressions – Control structures - The main function – Function prototyping – Call by reference – Return by reference – Inline functions – Default arguments – Function overloading.
2. CLASSES AND OBJECTS 9
Specifying a class – Defining member functions – Private member functions –Arrays within a class – Memory allocation for objects – Static data members – Static member functions – Arrays of objects – Objects as function arguments –Friendly functions – Returning objects.
Constructors: Parameterized constructors – Multiple constructors in a class – Constructors with default arguments – Dynamic initialization of objects – Copy constructor – Dynamic constructors – Destructors.
3. OPERATOR OVERLOADING, INHERITANCE AND POLYMORPHISM 9
Defining operator overloading: Overloading unary, binary operators. Manipulation of strings using operators – Rules for overloading operators – Type Conversions - Defining derived classes – Single inheritance – Multilevel inheritance – Multiple inheritance – Hierarchical inheritance – Hybrid inheritance – Virtual base classes – Abstract classes - Introduction to pointers to objects: This pointer – Pointers to derived classes – Virtual functions – Pure virtual functions.
4. JAVA EVOLUTION, CONSTANTS, VARIABLES, DATA TYPES, OPERATORS, CLASSES, OBJECTS, METHODS, ARRAYS AND STRINGS 9
Java features: How Java differs from C and C++ - Simple Java program – Java program structures – Java tokens – Java statements – Implementing a Java program – Java virtual machine – Command line arguments - Constants – Variables – Data types – Scope of variables – Operators in Java.
Defining a class – Adding variables and methods – Creating objects – Accessing class members – Constructors – Method overloading – Static members – Inheritance: Extending a class – Overriding methods – Final variables and methods – Final classes – Abstract methods and classes – Visibility control - Arrays – One dimensional array – Creating an array – Two-dimensional arrays – Strings – Vectors.
5. PROGRAMMING USING INTERFACES, PACKAGES, MULTITHREADING, MANAGING ERRORS AND EXCEPTIONS AND APPLETS 9
Defining interfaces – Extending interfaces – Implementing interfaces – Accessing interface variables – Java API packages – Using system packages – Creating, accessing and using a package – Adding a class to a package - Creating threads – Extending the thread class – Stopping and blocking a thread – Thread exceptions – Thread priority – Synchronization – Life cycle of a thread – Using thread methods.
Types of errors: Exceptions – Syntax of exception handling code – Multiple catch statements – Using finally statements – Throwing our own exceptions – Using exceptions for debugging. Preparing to write applets – Applet lifecycle – Creating an executable applet – Designing a web page – Applet tag – Adding applet to HTML file – Running the Applet.
L = 45 T = 15 Total = 60
TEXT BOOKS
1. E.Balagurusamy, ‘Object Oriented Programming with C++’, Second edition, Tata McGraw Hill, 2003.
2. E.Balagurusamy, ‘Programming with JAVA – A Primer’, Second edition, Tata McGraw Hill, 2003.
REFERENCE BOOKS
1. Herbert Schildt, ‘C++ - The Complete Reference’, Tata McGraw Hill, 1997.
2. Bjarne Stroustrup, ‘The C++ Programming Language’, Addison Wesley, 2000.
3. John .R .Hubbard, ‘Schaums Outline Programming with C++’, Tata McGraw Hill, 2003.
4. Kris Jasma, ‘Java Programming – A Complete Reference’, Galgotia publication, 1994.
AIM
To present the concept of object oriented programming and discuss briefly the important elements of object oriented analysis and design of systems.
OBJECTIVES
i. To study the object oriented programming principles, tokens, expressions, control
structures and functions.
ii. To introduce the classes, objects, constructors and Destructors.
iii. To introduce the operator overloading, inheritance and polymorphism concepts in C++.
iv. To introduce constants, variables, data types,
operators, classes, objects, methods, arrays and strings in Java.
v. To introduce the programming approach in Java, interfaces and packages,
multithreading, managing errors and exceptions and Applet programming.
1. OBJECT ORIENTED PROGRAMMING AND BASICS OF C++ 9
Software crisis – Software evolution – A look at procedure oriented programming – Object oriented programming paradigm – Basic concepts of object oriented programming – Benefits of OOP – Object-oriented languages – Applications of OOP - What is C++? – A simple C++ program – More C++ statements – Structure of C++ Program.
Tokens – Keywords – Identifiers and constants – Basic data types – User defined data types – Derived data types – Symbolic constants – Declaration of variables – Dynamic initialization of variables – Reference variables – Operators in C++ – Scope resolution operator – Manipulators – Type cast operator – Expressions and their types – Special assignment expressions – Control structures - The main function – Function prototyping – Call by reference – Return by reference – Inline functions – Default arguments – Function overloading.
2. CLASSES AND OBJECTS 9
Specifying a class – Defining member functions – Private member functions –Arrays within a class – Memory allocation for objects – Static data members – Static member functions – Arrays of objects – Objects as function arguments –Friendly functions – Returning objects.
Constructors: Parameterized constructors – Multiple constructors in a class – Constructors with default arguments – Dynamic initialization of objects – Copy constructor – Dynamic constructors – Destructors.
3. OPERATOR OVERLOADING, INHERITANCE AND POLYMORPHISM 9
Defining operator overloading: Overloading unary, binary operators. Manipulation of strings using operators – Rules for overloading operators – Type Conversions - Defining derived classes – Single inheritance – Multilevel inheritance – Multiple inheritance – Hierarchical inheritance – Hybrid inheritance – Virtual base classes – Abstract classes - Introduction to pointers to objects: This pointer – Pointers to derived classes – Virtual functions – Pure virtual functions.
4. JAVA EVOLUTION, CONSTANTS, VARIABLES, DATA TYPES, OPERATORS, CLASSES, OBJECTS, METHODS, ARRAYS AND STRINGS 9
Java features: How Java differs from C and C++ - Simple Java program – Java program structures – Java tokens – Java statements – Implementing a Java program – Java virtual machine – Command line arguments - Constants – Variables – Data types – Scope of variables – Operators in Java.
Defining a class – Adding variables and methods – Creating objects – Accessing class members – Constructors – Method overloading – Static members – Inheritance: Extending a class – Overriding methods – Final variables and methods – Final classes – Abstract methods and classes – Visibility control - Arrays – One dimensional array – Creating an array – Two-dimensional arrays – Strings – Vectors.
5. PROGRAMMING USING INTERFACES, PACKAGES, MULTITHREADING, MANAGING ERRORS AND EXCEPTIONS AND APPLETS 9
Defining interfaces – Extending interfaces – Implementing interfaces – Accessing interface variables – Java API packages – Using system packages – Creating, accessing and using a package – Adding a class to a package - Creating threads – Extending the thread class – Stopping and blocking a thread – Thread exceptions – Thread priority – Synchronization – Life cycle of a thread – Using thread methods.
Types of errors: Exceptions – Syntax of exception handling code – Multiple catch statements – Using finally statements – Throwing our own exceptions – Using exceptions for debugging. Preparing to write applets – Applet lifecycle – Creating an executable applet – Designing a web page – Applet tag – Adding applet to HTML file – Running the Applet.
L = 45 T = 15 Total = 60
TEXT BOOKS
1. E.Balagurusamy, ‘Object Oriented Programming with C++’, Second edition, Tata McGraw Hill, 2003.
2. E.Balagurusamy, ‘Programming with JAVA – A Primer’, Second edition, Tata McGraw Hill, 2003.
REFERENCE BOOKS
1. Herbert Schildt, ‘C++ - The Complete Reference’, Tata McGraw Hill, 1997.
2. Bjarne Stroustrup, ‘The C++ Programming Language’, Addison Wesley, 2000.
3. John .R .Hubbard, ‘Schaums Outline Programming with C++’, Tata McGraw Hill, 2003.
4. Kris Jasma, ‘Java Programming – A Complete Reference’, Galgotia publication, 1994.
EmoticonEmoticon