MCA II SEMESTER FACULTY NAME - Ms. Shikha Singh COURSE CODE MCA-104 PAPER NAME- Object L T/P CREDIT INTERNAL EXTERNAL MARKS Oriented Programming in 4 4 MARKS 60 C++ 40 METHODS OF TEACHING: PRIMARILY LECTURES, CASE STUDIES AND ASSIGNMENTS The Course would revolve around Theory with case studies Examples. Assignments would involve analysis of Problems and to find the best suitable information system. Most of the session would start with the lecture, which in turn would lead to problem solving. PRE-REQUISITE (S) FOR THE COURSE: Data Structure Concept Real Programming Experience with C Language UNIT-III of MCA-102 should be finished before start of Unit-IV of this paper COURSE OBJECTIVE After covering the core C++ in about 25 lectures the course shall aim to acquaint the students about advanced features of the language the following features are as suggested guideline for the teacher. Copy constructor, Deep and shallow coping, assignment operator and destructors, when the programmer must implement these Static and late binding. Run time and compile time polymorphism, virtual functions and VTABLE Implementing ADT with C++ classes. Stacks Queues and Linked Lists as cases Implementing Trees and Graph and all comparison based sorting algorithms Function objects and call backs Templates and Generics Stack Queues should be implemented in the practicals Extensive coverage of all the three components of STL namely containers, iterators and algorithms through suitable practical caseletts Final case study could be an application making extensive handling files streams classes LEARNING OUTCOME: At the end of this course students should be able to: Think logically and critically to solve problems, explain conclusions, and evaluate evidence or critique the thinking of self and others. Identify, analyze, and document the requirement specifications for typical software projects and design techniques to create a solution to the problem. Apply software development techniques that use the correct syntax and semantics of a programming language to write the source code to implement and test/debug a specified design. METHOD OF ASSESSMENT (As Per G. G. S. I. P. University , New Delhi) Sl. No CRITERIA Marks 1 Class Test – I 15 2 3 Class Test – II ((Individual Term Paper/Written Assignment/Project/Conduct of Practical and Practical File /OB Practical and Practical file) Individual Presentation/Viva-Voce/Group Discussion 15 10 Lect ure No Description Pedagogy (Lecture, Cases, Role Play, Labs) Lecture Planned Week No. L-1 OOP Paradigm: Comparison of Programming paradigms 1 L-2 Characteristics of Object-Oriented Programming Languages, Object-based programming languages 1 L-3 C++: Brief History of C++, Structure of a C++ program, Difference between C and C++ 1 L-4 cin, cout, new, delete operators, ANSI/ISO Standard C++, Comments, Working with Variables and const Qualifiers 1 L-5 Enumeration, Arrays and Pointer. 2 L-6 Implementing oops concepts in c++ Objects, Classes, Encapsulation 2 L-7 Data Abstraction, Inheritance, Polymorphism 2 L-8 Dynamic Binding, Message Passing, Default Parameter Value 2 L-9 Using Reference variables with Functions 3 L-10 Abstract data types, Class Component, Object & Class, 3 L-11 Constructors Default 3 Remarks A. R. Venugopal, Rajkumar, and T. Ravishanker “Mastering C++”, TMH, 1997 A. R. Venugopal, Rajkumar, and T. Ravishanker “Mastering C++”, TMH, 1997 A. R. Venugopal, Rajkumar, and T. Ravishanker “Mastering C++”, TMH, 1997 A. R. Venugopal, Rajkumar, and T. Ravishanker “Mastering C++”, TMH, 1997 A. R. Venugopal, Rajkumar, and T. Ravishanker “Mastering C++”, TMH, 1997 A. R. Venugopal, Rajkumar, and T. Ravishanker “Mastering C++”, TMH, 1997 A. R. Venugopal, Rajkumar, and T. Ravishanker “Mastering C++”, TMH, 1997 A. R. Venugopal, Rajkumar, and T. Ravishanker “Mastering C++”, TMH, 1997 A. R. Venugopal, Rajkumar, and T. Ravishanker “Mastering C++”, TMH, 1997 A. R. Venugopal, Rajkumar, and T. Ravishanker “Mastering C++”, TMH, 1997 A. R. Venugopal, Rajkumar, and T. Ravishanker “Mastering C++”, TMH, 1997 L-12 Copy Constructor, Assignment operator deep and shallow coping 3 L-13 Access modifiers – private, public and protected 4 L-14 Implementing Class Functions within Class declaration or outside the Class declaration. instantiation of objects, Scope resolution operator 4 L-15 Working with Friend Functions 4 L-16 Using Static Class members. Understanding Compile Time Polymorphism function overloading 4 L-17 Rules of Operator Overloading (Unary and Binary) as member function/friend function, Implementation of operator overloading of Arithmetic Operators 5 L-18 Overloading Output/Input, Prefix/ Postfix Increment and decrement Operators 5 L-19 Overloading comparison operators, Assignment, subscript and function call Operator , concepts of namespaces. 5 L-20 Inheritance: Inheritance, Types of Inheritance 5 L-21 Abstract Classes, Ambiguity resolution using scope resolution operator 6 L-22 Aggregation, composition vs classification hierarchies 6 L-23 Overriding inheritance methods, Constructors and Destructor in derived classes. Multiple Inheritance 6 A. R. Venugopal, Rajkumar, and T. Ravishanker “Mastering C++”, TMH, 1997 S. B. Lippman and J. Lajoie, “C++ Primer”, 3rd Edition, Addison Wesley, 2000 S. B. Lippman and J. Lajoie, “C++ Primer”, 3rd Edition, Addison Wesley, 2000 S. B. Lippman and J. Lajoie, “C++ Primer”, 3rd Edition, Addison Wesley, 2000 S. B. Lippman and J. Lajoie, “C++ Primer”, 3rd Edition, Addison Wesley, 2000 S. B. Lippman and J. Lajoie, “C++ Primer”, 3rd Edition, Addison Wesley, 2000 S. B. Lippman and J. Lajoie, “C++ Primer”, 3rd Edition, Addison Wesley, 2000 S. B. Lippman and J. Lajoie, “C++ Primer”, 3rd Edition, Addison Wesley, 2000 S. B. Lippman and J. Lajoie, “C++ Primer”, 3rd Edition, Addison Wesley, 2000 S. B. Lippman and J. Lajoie, “C++ Primer”, 3rd Edition, Addison Wesley, 2000 S. B. Lippman and J. Lajoie, “C++ Primer”, 3rd Edition, Addison Wesley, 2000 S. B. Lippman and J. Lajoie, “C++ Primer”, 3rd Edition, Addison Wesley, 2000 L-24 Virtual base class 6 L-25 Polymorphism: Polymorphism, Type Polymorphism – compile time and runtime of 7 L-26 Understanding Dynamic polymorphism: Pointer to objects 7 L-27 Virtual Functions (concept of VTABLE) , pure virtual functions, Abstract Class 7 L-28 Advanced Input/Output, Exception Handling and Manipulating strings, Using istream / ostream member functions 7 L-29 Using Manipulators, Functions Manipulator 8 L-30 Understanding Implementation of Files, Writing and Reading Objects. 8 L-31 Understanding of working and implementation of Exception Handling 8 L-32 Generic Programming: and mastering STL Understanding Generic Functions 8 L-33 implementation of searching sorting algorithm. Overloading of Function Templates 9 L-34 Understanding Class Templates Implementation of Generic stack 9 L-35 linked lists: singly and doubly linked lists Creating using 9 S. B. Lippman and J. Lajoie, “C++ Primer”, 3rd Edition, Addison Wesley, 2000 Bjarne Stroustrup , “The C++ Programming Language”, Addison Welsley, 3rd Ed. Bjarne Stroustrup , “The C++ Programming Language”, Addison Welsley, 3rd Ed. Bjarne Stroustrup , “The C++ Programming Language”, Addison Welsley, 3rd Ed. Bjarne Stroustrup , “The C++ Programming Language”, Addison Welsley, 3rd Ed. Bjarne Stroustrup , “The C++ Programming Language”, Addison Welsley, 3rd Ed. Bjarne Stroustrup , “The C++ Programming Language”, Addison Welsley, 3rd Ed. Bjarne Stroustrup , “The C++ Programming Language”, Addison Welsley, 3rd Ed. Bjarne Stroustrup , “The C++ Programming Language”, Addison Welsley, 3rd Ed. Bjarne Stroustrup , “The C++ Programming Language”, Addison Welsley, 3rd Ed. Bjarne Stroustrup , “The C++ Programming Language”, Addison Welsley, 3rd Ed. Nell Dale, “C++ Plus Data Structure”, Jones and Bartlett, 4th Ed., 2010. L-36 Binary Search Tree basic operations 9 L-37 Understanding Inheritance with Generic Class 10 L-38 Standard Template Library:– Understanding Components of Standard Template Library 10 L-39 Working of Containers, Algorithms, Iterators and Other STL Elements 10 L-40 Implementation of Sequence and Associative containers for different Algorithms using their Iterator Understanding of Algorithms Requiring Operations on the element using function objects Implementing graph algorithm dfs, bfs, minimum spanning tree , dijkastra etc using STL 10 L-43 Revision 11 L-44 Revision 11 L-45 Revision 12 L-41 L-42 11 11 Nell Dale, “C++ Plus Data Structure”, Jones and Bartlett, 4th Ed., 2010 Nell Dale, “C++ Plus Data Structure”, Jones and Bartlett, 4th Ed., 2010 Nell Dale, “C++ Plus Data Structure”, Jones and Bartlett, 4th Ed., 2010 Nell Dale, “C++ Plus Data Structure”, Jones and Bartlett, 4th Ed., 2010 Nell Dale, “C++ Plus Data Structure”, Jones and Bartlett, 4th Ed., 2010 Nell Dale, “C++ Plus Data Structure”, Jones and Bartlett, 4th Ed., 2010 Nell Dale, “C++ Plus Data Structure”, Jones and Bartlett, 4th Ed., 2010 Nell Dale, “C++ Plus Data Structure”, Jones and Bartlett, 4th Ed., 2010 Nell Dale, “C++ Plus Data Structure”, Jones and Bartlett, 4th Ed., 2010 Nell Dale, “C++ Plus Data Structure”, Jones and Bartlett, 4th Ed., 2010 BOOK BANK 1. A. R. Venugopal, Rajkumar, and T. Ravishanker “Mastering C++”, TMH, 1997. 2. S. B. Lippman and J. Lajoie, “C++ Primer”, 3rd Edition, Addison Wesley, 2000. 3. Bruce Eckel, “Thinking in C++”, President, Mindview Inc., Prentice Hall, 2nd Ed ESSENTIAL READINGS: 1. Bjarne Stroustrup , “The C++ Programming Language”, Addison Welsley, 3rd Ed REFERENCES: 1. 2. 3. 4. 5. Steven C. Lawlor, “The Art of Programming Computer Science with C++”, Vikas Publication. Schildt Herbert, “C++: The Complete Reference”, Tata McGraw Hill, 4th Ed., 1999. Behrouz A. Forouan, Richrad F. Gilberg, Computer Science - A Structural Approach Using C++”, Cengage Learning, 2004. Nell Dale, “C++ Plus Data Structure”, Jones and Bartlett, 4th Ed., 2010. Nell Dale, Chips Weens, “Programming and Problem Solving with C++”, Jones and Bartlett , 5th Ed., 2010 JOURNALS / MAGAZINES: ADDITIONAL INPUTS 1. Vikalpa, Journal of IIM Ahmedabad 2. Management Review, Publication of IIM Bangalore 3. Decision, Journal of IIM Calcutta 4. Indian Management, Journal of AIMA, New Delhi 5. Harvard Business Review 6. Various Business magazines such as Business India, Business Today, Business Standard Faculty Ms Shikha Singh