Вы находитесь на странице: 1из 10

Lovely Professional University, Punjab

Course Code CAP202 Course Category Course Title OBJECT ORIENTED PROGRAMMING Courses with conceptual focus Course Planner 14498::Sumit Gupta Lectures 3.0 Tutorials Practicals Credits 0.0 0.0 3.0

TextBooks Sr No T-1 Title C++: The Complete Reference Reference Books Sr No R-1 R-2 R-3 Other Reading Sr No OR-1 Journals articles as Compulsary reading (specific articles, complete reference) http://www.drdobbs.com/cpp , Title Let us C++ Author Kanetkar Edition 2nd 6th 3rd Year 2002 2013 2002 Publisher Name BPB Publication Tata McGraw Hill Pearson Author Herbert Schildt Edition 4th Year 2003 Publisher Name Tata McGraw Hill, India

Object Oriented Programming with C E. Balagurusamy ++ C++ Programming Language Bjarne Stroustrup

Relevant Websites Sr No RW-1 RW-2 RW-3 RW-4 RW-5 RW-6 RW-7 RW-8 RW-9 RW-10 (Web address) (only if relevant to the course) www.cplusplus.com/doc/tutorial http://www.cprogramming.com/tutorial/c++-tutorial.html www.tutorialspoint.com/cplusplus/cpp_loop_types.htm www.cplusplus.com/doc/tutorial/arrays/ www.cppforschool.com/tutorial/basic.html www.cprogramming.com/tutorial/operator_overloading.html www.tutorialspoint.com/cplusplus/cpp_inheritance.htm www.cplusplus.com/doc/tutorial/polymorphism/ www.cprogramming.com/tutorial/exceptions.html www.cplusplus.com/doc/tutorial/templates/ Salient Features C++ Tutorial Functions Control Structures in C++ Arrays Basics of C++ Operator Overloading Inheritance Polymorphism Exception Handling Templates

Audio Visual Aids Sr No AV-1 AV-2 AV-3 (AV aids) (only if relevant to the course) http://freevideolectures.com/Course/2514/C++-Programming http://videolectures.net/stanfordcs106bw08_schwarz_lec27/ http://www.learnerstv.com/Free-Computers-Video-lectures-ltv161-Page1.htm Salient Features Video Lectures on C++ Video Tutorials C++ Tutorial for Beginners

Software/Equipments/Databases Sr No SW-1 Virtual Labs Sr No VL-1 (VL) (only if relevant to the course) http://www.vlab.co.in/institute_detail.php?ins=004 Salient Features Virtual Lab for Programming (S/E/D) (only if relevant to the course) Turbo C++ Salient Features Fast Compilation and Global Optimization

LTP week distribution: (LTP Weeks) Weeks before MTE Weeks After MTE Spill Over 7 7 3

Detailed Plan For Lectures


Week Number Lecture Number Broad Topic(Sub Topic) Chapters/Sections of Text/reference books Other Readings, Lecture Description Relevant Websites, Audio Visual Aids, software and Virtual Labs RW-1 Study about data as a critical element in Oops Learning Outcomes Pedagogical Tool Demonstration/ Case Study / Images / animation / ppt etc. Planned

Week 1

Lecture 1

Principles of OOP's(Introduction)

T-1:Chap 11 R-2:Chap 1 T-1:Chap 11 R-2:Chap 1

Student should learn Discussion about characterizing the Objects

Principles of OOP's(Procedural Vs Object Oriented Programming)

AV-3

Study about functions in Student should learn Discussion POP and data in Oops about how to implement real world problems using objects Study about binding of data and functions together Study about accessing members of the Class Student should learn Discussion about declaring of data and functions Student should learn about basic runtime entities in oops Discussion

Principles of OOP's(Classes)

T-1:Chap 11 R-2:Chap 1 T-1:Chap 11 R-2:Chap 1

Principles of OOP's(Object)

Week 1

Lecture 2

Principles of OOP's(Data Abstraction)

T-1:Chap 11 R-2:Chap 1

Study about wrapping up Student should learn Discussion of Data about representing essential details with no explanations Study about hiding details in class RW-7 Introduction to the concept of reusability Introduction to make of use One name many forms Know about run time polymorphism Understanding about Hiding of details in class Student should learn about using existing features of the class Discussion

Principles of OOP's(Encapsulation)

T-1:Chap 11 R-2:Chap 1 T-1:Chap 11 R-2:Chap 1 T-1:Chap 11 R-2:Chap 1

Principles of OOP's(Inheritance)

Demonstration

Principles of OOP's (Polymorphism)

RW-8

Student should learn Demonstration about using same function name multiple times in a class Student should learn to Demonstration know which method to be executed at runtime Lecture by Demonstration Discussion

Principles of OOP's(Dynamic Binding) Principles of OOP's(Message Passing) Lecture 3 Principles of OOP's(Object Oriented Languages)

T-1:Chap 11 R-2:Chap 1 T-1:Chap 11 R-2:Chap 1 R-2:Chap 1

Study about the Students should learn Communication between how to pass data from the Objects one object to another Study about the important features of Object Oriented Programming Student should learn about encapsulation inheritance and polymorphism

Principles of OOP's(Object Based Languages) Basics of C++(A Brief History of C & C++) Basics of C++(C Vs C++)

R-2:Chap 1

Study about Student should learn encapsulation and object how object plays an identity important role RW-5 Introduction to the evolution of C and C Plus Plus Difference between C and C Plus Plus How to create C Plus Plus Program RW-5 How to compile and execute C Plus Plus Program

Discussion

T-1:Chap 1 & 11 R-2:Chap 1

Student will learn about Discussion how C and C Plus Plus came into existence Student should learn how OOPS differs from Pop Discussion

Week 2

Lecture 4

Basics of C++(A Simple C++ Program) Basics of C++(Compiling & Linking)

T-1:Chap 11 R-2:Chap 2 T-1:Chap 1 R-2:Chap 2

Student should learn Demonstration about writing programs in C Plus Plus Student should learn Lecture using about the methods to Demonstrations execute programs using turbo c Demonstration

Lecture 5

Basics of C++(Tokens)

R-2:Chap 3

Introduction to basic unit Student should learn of a Program about the smallest unit of the program Introduction to the reserve words Knowledge about the words having predefined meaning

Basics of C++(Keywords)

R-2:Chap 3

Lecture with Demonstrations

Week 2

Lecture 5

Basics of C++(Identifiers & Constants)

T-1:Chap 2

Introduction to Variables Knowledge about the and Constants values that cannot be changed during execution Study about space taken Knowledge about by the variable in allocation of memory memory space to variables Study about giving alternate name to the variable RW-3 Knowledge about duplicate name for variables

Demonstration

Lecture 6

Basics of C++(Data Types)

T-1:Chap 2

Demonstration

Basics of C++(Reference Variables) Week 3 Lecture 7 Basics of C++(Decision Making & Control Structures)

T-1:Chap 2

Demonstration

T-1:Chap 3

Introduction about Student should learn executing a single about execution of statement multiple times various conditional statements Introduction about Student should learn executing a single about execution of statement multiple times various conditional statements Study about Student should learn manipulation of different about different variables variables can be operated using operators Accessing outside variables Student should learn about accessing of outside data members inside the class Student should learn about changing of addresses of variables

Demonstration

Lecture 8

Basics of C++(Decision Making & Control Structures)

T-1:Chap 3

RW-3

Demonstration

Lecture 9

Basics of C++(Operators in C++)

T-1:Chap 2

RW-6

Demonstration

Week 4

Lecture 10

Basics of C++(Scope Resolution Operator)

T-1:Chap 12

Lecture with Demonstrations

Basics of C++(Member Dereferencing Operators) Lecture 11 Classes and Objects(Defining member functions) Classes and Objects(Nesting of member functions)

R-2:Chap 3

Study about deletion of references RW-2 Making use of methods in C plus plus

Demonstration

T-1:Chap 6

Student should learn to Demonstrations use multiple statements with in a single name Demonstration

R-2:Chap 5

Study about using Understanding of function inside Function declaring and using function within a function Study about using Understanding of function inside Function declaring and using function within a function Accessing the personal members of the class

Lecture 12

Classes and Objects(Nesting of member functions)

R-2:Chap 5

Demonstration

Classes and Objects(Private member functions)

R-2:Chap 5

Understanding of using Lecture by the private variables Demonstration and methods of the class Demonstration

Week 5

Lecture 13

Classes and Objects(Memory Allocation of objects)

T-1:Chap 13

Study about how objects Learn how to declare acquire memory and make use of Objects

Week 5

Lecture 13

Classes and Objects(A Sample C+ + Program with class) Classes and Objects(The Main Function)

T-1:Chap 12 T-1:Chap 6 RW-5

Creating Programs in C plus plus

Learn how to create Lecture by Programs using turbo C Demonstration

How to start the Learn about initiating Demonstration execution of the Program the execution of the in C plus plus Program in C plus plus Understanding about Learn how to declare Demonstration how to declare a function functions to execute the task of some specific type Using different Modifiers for accessing the data Learn about private public protected members of the class Demonstration

Lecture 14

Classes and Objects(Function Prototyping)

T-1:Chap 6

Classes and Objects(Access specifiers) Lecture 15 Classes and Objects(Call by Value & Call by Reference) Classes and Objects(Inline Functions) Classes and Objects(Friend functions)

T-1:Chap 12

T-1:Chap 6

Study about how to pass Knowledge about data and address to passing of values and function addresses to functions Study about how to reduce the overheads using Inline functions Study about accessing function of one class in other Study about how functions makes use of Objects Quiz,Test,Mini project 1 RW-4 Introduction about how to store data of same type Introduction about how to store data of same type L19 Study about retaining the value of a variable L20 Revision L21 Revision L19 Study about retaining the value of a variable L20 Revision L21 Revision

Demonstration

Week 6

Lecture 16

T-1:Chap 12

Student should learn Demonstration about how to make less overhead calls Learn accessing the function of one in another for some specific functionality Demonstration

T-1:Chap 12

Lecture 17

Classes and Objects(Objects as function arguments)

T-1:Chap 12

Learn how to use Demonstration objects as arguments to Functions Knowledge about Demonstration storing and accessing of data of same type with in a single name Understanding about how to access the values of same type under single name Student should learn about how to preserve the value of a data member Lecture with Demonstration

Lecture 18 Week 7 Lecture 19 Classes and Objects(Arrays within class) T-1:Chap 4

Classes and Objects(Arrays within a Class)

T-1:Chap 4

RW-5

Classes and Objects(Static Data Members & Functions)

T-1:Chap 12

Demonstration

Lecture 20

Classes and Objects(Static Data Members & Functions)

T-1:Chap 12

Student should learn about how to preserve the value of a data member

Demonstration

Week 7

Lecture 21

Classes and Objects(Static Data Members & Functions)

T-1:Chap 12

L19 Study about retaining the value of a variable L20 Revision L21 Revision

Student should learn about how to preserve the value of a data member

Demonstration

MID-TERM
Week 8 Lecture 22 Constructors and Destructors (Constructors) Constructors and Destructors (Parameterized constructors) T-1:Chap 11 AV-1 Study about initialization Knowledge about of objects initialization of Data Members of the Class Study about passing of arguments to Constructors Knowledge about creating methods having same name as the class and with arguments Knowledge about releasing the memory occupied by the object Understanding about how to create a new Constructor from the existing one Understanding about multiple Constructors Know about Constructors with default arguments Demonstration

T-1:Chap 12

Lecture with Demonstration

Lecture 23

Constructors and Destructors (Destructors in C++) Constructors and Destructors(Copy Constructor and Dynamic Constructor)

T-1:Chap 11

Study about destroying of objects Study about creating a new constructor from existing RW-5 Study about multiple Constructors Study about passing default arguments to Constructors

Demonstration

T-1:Chap 14

Demonstration

Lecture 24

Constructors and Destructors (Concept of Multiple Constructors) Constructors and Destructors (Constructors with Default Arguments) Constructors and Destructors (Dynamic Initialization of Objects)

T-1:Chap 11 T-1:Chap 11

Demonstration Demonstration

T-1:Chap 11

Study about initialization Student should learn of Objects about initialization of objects at runtime RW-6 AV-3

Lecture with Demonstration

Week 9

Lecture 25

Constructors and Destructors (Defining operator Overloading) Constructors and Destructors (Overloading Unary Operator)

T-1:Chap 15 R-2:Chap 7 T-1:Chap 15 R-2:Chap 7

Study about using single Student should learn to Demonstration operator with different overlaod unary and data types binary opertor Study about Overloading Student should learn to Demonstration of Single Operator overload a single operator on multiple data types Study about Overloading Student should learn to Demonstration of Binary Operator overload a binary operator on multiple data types Study about how to convert one data type to another Study about the guidelines and rules for overloading Understanding about conversion of Data Types Understanding about rules for Operator Overloading Lecture with Demonstration Demonstration

Lecture 26

Constructors and Destructors (Overloading Binary Operator)

T-1:Chap 15 R-2:Chap 7

Lecture 27

Constructors and Destructors(Type Conversion) Constructors and Destructors (Rules for Overloading Operators)

T-1:Chap 15 R-2:Chap 7 T-1:Chap 15 R-2:Chap 7

Week 10

Lecture 28

Inheritance and Polymorphism (Defining Derived Classes) Inheritance and Polymorphism (Single Inheritance)

T-1:Chap 16 R-2:Chap 8 T-1:Chap 16 R-2:Chap 8 T-1:Chap 16 R-2:Chap 8

RW-5 RW-7

Study about the concept of reusability Study about how to derive a class from a class Study about how to derive a class from derived class Quiz,Test,Mini project 2

Student should learn to Demonstration create a new class from existing Student should learn to Demonstration make use of one base class Student should learn to Demonstration use two base classes on of which is derived from another Student should learn to Demonstration use single base class Student should learn to Demonstration use multiple base classes Know about hybrid Inheritance Demonstration

Lecture 29

Inheritance and Polymorphism (Multilevel Inheritance)

Lecture 30 Week 11 Lecture 31 Inheritance and Polymorphism (Hierarchical Inheritance) Inheritance and Polymorphism (Multiple Inheritance) Inheritance and Polymorphism (Hybrid Inheritance) Inheritance and Polymorphism (Virtual Base Classes) T-1:Chap 16 R-2:Chap 8 T-1:Chap 16 R-2:Chap 8 T-1:Chap 16 R-2:Chap 8 T-1:Chap 16 R-2:Chap 8

Study about how to derive multiple classes from a single class Study about inheriting features of multiple classes in to one Study about hybrid Inheritance Study about inheriting parent and nonparent classes Study about classes for which object cannot be created Study about location indicators

Lecture 32

Lecture 33

Student should learn to Demonstration implement features of base as well as non base class Student should learn to Demonstration implement the classes without objects Student should learn Demonstration how to locate a member of the class

Week 12

Lecture 34

Inheritance and Polymorphism (Abstract Classes) Inheritance and Polymorphism (Pointer to Object) Inheritance and Polymorphism (This Pointer)

T-1:Chap 16 R-2:Chap 8 T-1:Chap 13

T-1:Chap 13

Study about Student should learn Demonstration differentiating between differentiating between local and global variable variables with same name Study about location indicators RW-8 Study about protecting the function to be redefined in a derived class Study about function equated to zero Study about compile time and run time polymorphism Student should learn Demonstration locating derived classes Student should learn Demonstration not to provide a second definition to a function Learn about how Demonstration function can be equated to zero Learn about Polymorphism Demonstration

Lecture 35 Lecture 36

Inheritance and Polymorphism (Pointer to Derived Class) Inheritance and Polymorphism (Virtual Function)

T-1:Chap 13 T-1:Chap 17

Inheritance and Polymorphism (Pure Virtual Function) Week 13 Lecture 37 Inheritance and Polymorphism (Early Vs Late Binding)

T-1:Chap 17

T-1:Chap 17

Week 13

Lecture 38

Working with Files and Streams(C ++ Streams) Working with Files and Streams(C ++ Stream Classes) Working with Files and Streams (Classes for File Stream Operation) Working with Files and Streams (Opening & Closing Files)

T-1:Chap 20 R-2:Chap 10 T-1:Chap 20 R-2:Chap 10 T-1:Chap 20 R-2:Chap 10 T-1:Chap 21 R-2:Chap 11 T-1:Chap 21 R-2:Chap 11 T-1:Chap 21 R-2:Chap 11 T-1:Chap 21 R-2:Chap 11 T-1:Chap 21 R-2:Chap 11

AV-1 AV-3

Study about File Handling concepts Study about Input and Output stream Study about read and write operations to be performed on files

Learn about how to Discussion implement file handling concept and its features Learn about how to Discussion implement file handling concept and its features Learn about operations Discussion on file Demonstration

Study about reading and Learn about how to writing after opening the open and close a file file and then closing it

Lecture 39

Working with Files and Streams (Detection of End of File) Working with Files and Streams (More about Open( ): File modes)

Study about locating the Learn about how to Demonstration position of the file locate the end of the file Study about read, write and readwrite modes AV-3 Study about location indicators in files Study about performing various operations on files Learn about the Demonstration different modes of files Understand about Demonstration manipulation of data in files Understand about how to implement file handling concept and its features Demonstration

Week 14

Lecture 40

Working with Files and Streams (File pointer & manipulator) Working with Files and Streams (Sequential Input & output Operation) Working with Files and Streams (Updating a File : Random Access)

T-1:Chap 21 R-2:Chap 11

Study about accessing of Student should learn data from a file at a about updating of data random position within a file at random position L40 Passing of data to the application at run time L41 Revision L42 Revision L40 Passing of data to the application at run time L41 Revision L42 Revision L40 Passing of data to the application at run time L41 Revision L42 Revision

Demonstration

Working with Files and Streams (Command Line Arguments)

T-1:Chap 21 R-2:Chap 11

Student should learn Demonstration about passing of data to files at run time

Lecture 41

Working with Files and Streams (Command Line Arguments)

T-1:Chap 21 R-2:Chap 11

Student should learn Demonstration about passing of data to files at run time

Lecture 42

Working with Files and Streams (Command Line Arguments)

T-1:Chap 21 R-2:Chap 11

Student should learn Demonstration about passing of data to files at run time

SPILL OVER
Week 15 Lecture 43 Lecture 44 Spill Over Spill Over

Week 15

Lecture 45

Spill Over

Scheme for CA:


Component Quiz,Test,Mini project Frequency 2 Total :Out Of 3 Each Marks Total Marks 10 10 20 20

Details of Academic Task(s)


AT No. Objective Topic of the Academic Task Nature of Academic Task (group/individuals/field work Individual Evaluation Mode Allottment / submission Week 5/6

Quiz,Test,Mini project 1

To assess the learning and grasping ability of students

Basics of C++, Classes and Objects, Functions

Based on student performance (scores) Each question will be multiple of 5. Total marks will be 30. Based on student performance (scores) Each question will be of 1 mark. Total marks will be 30 30 Marks (Mid Term report- 5 marks, End Term report- 15 marks, Viva / presentation10 marks)

Quiz,Test,Mini project 2

To assess the Basics of C++, Classes and Objects, Functions, Constructors, knowledge gained Inheritance during regular study

Individual

9 / 10

Quiz,Test,Mini project 3

To assess the A mini-project would be given to a single or group of students knowledge and (max 2 students) and students would be required to apply all the programming skills programming concepts learnt throughout the term. acquired in complete term

Group

3 / 11

List of suggested topics for term paper[at least 15] (Student to spend about 15 hrs on any one specified term paper) Sr. No. Topic 1 SuperMarket Billing Project 2 Tic Tac Toe Game Project 3 Students Report Card Project 4 Bricks Game Project 5 Electronic Voting System 6 Restaurant Billing

7 Snake and Ladder Game Project 8 Library Management System Project 9 ATM System Project 10 Travelling Agency 11 Fee Management 12 Mobile Billing 13 Electricity Bill Calculation 14 Hotel Management System 15 Library Management System