Max. Marks: 100.00 Course Objectives: The course enables the students to 1. Define the concepts of object oriented Programming. 2. Understand the concept of classes, Inheritance, Polymorphism and conditional statements. 3. Demonstrate the understanding of concepts by implementing them to practical problems. 4. Differentiate between structured programming and object oriented programming. 5. Evaluate the understanding of the concepts by applying them to problems in different domains. 6. Construct cases and new ideas where the knowledge of object oriented programming can be implemented. Course Outcomes(COs): Learning Outcome (at course level) Learning and teaching strategies Assessment Strategies CO19. Define the concepts of object oriented programming language CO20. Understand the basic features of object oriented programming and apply them through C++/Java language. CO21. Implement knowledge of object oriented programming solution of practical problems. CO22. Compare and contrast the object oriented & non object oriented approaches to obtain solutions CO23. Evaluate the pros and cons of using oops and apply it to problems in different domains. CO24. Develop computer application based project using oops. Approach in teaching: Interactive Lectures, Tutorials, Demonstration, Team teaching, Quiz Learning activities for the students: Self-learning assignments, Effective questions, Giving tasks, Field practical · Assignment · Written test in classroom · Classroom activity · Multiple choice questions Semester End Examination
Evolution of OOP, OOP Paradigm, advantages of OOP, Comparison between functional programming and OOP Approach, characteristics of object oriented language. Introduction to C++, Identifier and keywords, constants, C++ operators, type conversion, Variable declaration, statements, expressions, input and output.
Conditional expression loop statements, breaking control statements, Classes and objects, constructors and destructors, operator overloading, inheritance, Virtual Function, friend function, Static function, Assignment and copy initialization, this pointer, dynamic type information and polymorphism
C++ streams, console stream classes, formatted and unformatted console I/O operations, manipulators, File streams, classes file modes file pointers and manipulations file I/O, Exception handling, Defining function, types of functions templates, function templates, dynamic memory allocation.
OOP in Java – Characteristics of Java – The Java Environment – Java Source File -Structure – Compilation. Fundamental Programming Structures in Java – Defining classes in Java – constructors, methods -access specifiers – static members -Comments, Data Types, Variables, Operators, Control Flow, Arrays , Packages – JavaDoc comments.
Inheritance – Super classes- sub classes, abstract classes and methods- final methods and classes – Interfaces, Exception Handling- Types of Exceptions, try-catch block, multiple catch-block, nested try blocks, nested try block, throw, throws, finally keywords, Custom exceptions, Threads, Thread Life-Cycle, Thread Priority, Garbage Collection, Basics of event handling- AWT Basics, Java Event Classes and Listener Classes, Types of Components, Adapter Classes.