C++ Programming 2nd semester syllabus of CTEVT Diploma

C++ Programming 2nd semester syllabus of CTEVT Diploma : 

Here is the syllabus of the Object Oriented Programming syllabus of second semester (2nd semester) CTEVT Diploma Nepal. This course deals to develop the skill on thinking about computation and problem solving in Object Oriented Paradigms. The course helps the students to discover the basic concepts of object oriented programming concept such as object, class, inheritance, polymorphism, abstraction and encapsulation and apply in C++.



Syllabus of 2nd semester C++ Programming of CTEVT Diploma is : 

Unit 1: Object Oriented Programming [4 Hours]

1.1. Overview of structured programming approach, problems with structured programming

1.2. Basics of object oriented programming

     - Procedure Oriented Programming 

     - Object Oriented Programming 

     - Procedure oriented versus Object oriented programming

1.3 Characteristics of object oriented programming languages: object, class, data abstraction, polymorphism, overloading, encapsulation and inheritance 

1.4 Object oriented languages 

1.5 Advantage and Disadvantage of OOP

 

Unit 2 : Introduction to C++  [2 Hours]

2.1 History and Evolution of C++ 

2.2 Features of C++ 

2.3 Structure of C++ 

2.4 C++ Vs C

 

Unit 3 : C++ Language Basic [7 Hours]

3.1 Character set, tokens (keywords, identifiers, operators)

3.2 Commenting 

3.3 Variable declaration 

3.4 Data type 

3.5 Type Conversion and promotion rules 

3.6 Input / Output basics 

3.7 Preprocessor directives 

3.8 Control structures 

3.9 Array, Pointer, String

 3.10 Dynamic memory allocation 

3.11 Functions

        - Function overloading

        - Default argument 

        - Inline function  

        - Pass by reference  

        - Return by reference

3.12 const construct 

3.13 Structure and Unions

 

Unit 4 : Object and Class [8 Hours]

4.1 Class syntax (similarities with structures) 

4.2 Data Encapsulation (public, private modifiers) 

4.3 Object and the member access 

4.4 Defining member function (inside and outside of the class) 

4.5 Constructor and Destructor 4.6 Objects as function arguments 

4.7 Returning objects from functions (nameless object) 

4.8 Array of objects 4.9 Pointer to objects 

4.10 Dynamic memory allocation for objects and object array 

4.11 This pointer (returning object using this pointer) 

4.12 Static data and function members 

4.13 Constant data member of a class 

4.14 Constant member functions and constant objects 

4.15 Friend function and friend class 

 

Unit 4 : Overloading Operators [4 Hours]

5.1 Overloadable operators 

5.2 Syntax of operator overloading 

5.3 Unary operator overloading 

5.4 Binary operator overloading 

5.5 Operator overloading using member operator functions (unary and binary)

5.6 Operator overloading using friend operator functions (unary and binary) 

5.7 Fundamentals of Operator Overloading, Restriction on operator overloading

 

Unit 6 : Inheritance [5 Hours]

6.1 Base and derived class (definition with diagrams) 

6.2 protected access specifier (show whole class syntax including protected) 

6.3 Syntax of derived class declaration (visibility modes) 

6.4 Types of inheritance 

     - Single 

     - Multiple 

     - Hierarchical 

     - Multilevel 

6.5 Scope of inherited member functions and variables 

6.6 Constructors in derived and base class 

6.7 Destructor in Derived and base class 

6.8 Member function and data overriding 

6.9 Ambiguity in member access in overriding members 

6.10 Virtual base class

 

Unit 7 : Virtual Function [3 Hours]

7.1 Pointer to derived class object 

7.2 Array of pointers to derived class objects with function overriding 

7.3 Need of virtual functions 

7.4 Virtual functions definition 

7.5 Pure Virtual functions and Abstract classes 

7.6 Virtual Destructor

 

Unit 8 : Input/output Streams and Files [6 Hours]

8.1 Input/output Stream class hierarchy 

8.2 Unformatted Input/output 

8.3 Formatted Input/output 

     - ios Stream class member functions and flags 

     - Standard manipulators 

     - User defined manipulators 

8.4 File I/O with streams 

8.5 File stream class hierarchy 

8.6 Operations on files 

8.7 ASCII and Binary files 

8.8 Opening file, file modes and closing files 

8.9 File read/write using stream and using read & write function

8.10 File pointers and their manipulators 

8.11 Testing for errors during file operations

 

Unit 9 : Templates [3 Hours]

9.1 Function Template 

9.2 Overloading function template 

     - Overloading with functions 

     - Overloading with other template 

9.3 Class Template 

9.4 Function definition outside of the class template

 

Unit 10 : Exception Handling [3 Hours]

10.1 Introduction to Exception. 

10.2 Benefits of Exception handling. 

10.3 Try and catch block. 

10.4 Throw statement. 

10.5 Pre-defined exceptions in C++. 

10.6 Writing custom Exception class. 

10.7 Stack Unwinding

 

C++ Programming 2nd semester Practical of CTEVT Diploma : 

1. Write a program with the structured components of the C++ language 

2. Demonstrate a simple class and its implementation 

3. Create classes for data types such as complex no, date, time, distance etc and implement them in a program 

4. Demonstrate constructors and destructors along with the objects

 5. Apply static and constant member functions and data 

6. Apply friends functions to act as bridge between the objects 

7. Write to overload different operators 

8. Write program to convert data from user defined to fundamental data and vice versa, and user defined to user defined type 

9. Write program to inherit the base class to add new functionality in the base class 

10. Apply virtual functions pointer to objects in program 

11. Demonstrate binary and ASCII file manipulation 

12. Write a program to create and use function and class templates

 13. Write a program to illustrate exception handling

 

C++ Programming 2nd semester Reference Book of CTEVT Diploma : 

1. Balagurusamy, E. (2013). Object oriented programming with C++. New Delhi: Tata McGraw-Hill 

2. Robert Lafore(2003), Object Oriented Programming in Turbo C++, Galgotia Publications Ltd. India, 2003 

3. Schildt, H. (2003). C++: the complete reference (4th ed). New York: McGraw-Hill.

 

 

 


Post a Comment

0 Comments