Wednesday 31 August 2022

Object Oriented Programming with C++ | BICTE | Syllabus | Second Semester

 

Course Title: Object Oriented Programming with C++

Course No. : ICT. Ed. 426                                                         Nature of course: Theoretical + Practical

Level: B.Ed.                                                                                         Credit Hour:  3 hours (2T+1P)

Semester: Second                                                                                  Teaching Hour: 80hours (32+48)

           

1.              Course Description

 

The aim of the course is 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++. Students are more engaged in laboratory work to exaction of programing experiments rather than theoretical concept.

2.     General Objectives

Following are the general objective of this course:

·       To acquaint the student with fundamentals object oriented paradigms and programming style in C++ programming language.

·       To develop the skill on apply object oriented programming concept in programming.

·       To enable a student in explore the new software development paradigms.

 

3.              Course Outlines: 

Specific Objectives

Contents

·       Compare procedure and object oriented programming concept

·        Describe the feature of object oriented programming.

·       List out the C++ compilers

·       Compare coding structure of C and C++.

·       Demonstrate the C++ programming styles.

Unit 1: Concept of Object Oriented Programming (12)

1.1     Programming Languages and Software Crisis

1.2     Procedure Vs Object Oriented Programming Language 

1.3     Feature of Object Oriented Programming

1.4     Popular Object Oriented Programming Language and features

1.5     Advantage and Disadvantage of OOPs

1.6     Introduction of C++ and Compilers

1.7     Programming Structure in C++

1.8     Comparison on C and C++

1.9     Additional Data types, token in C++

1.10   Insertion and Extraction Operators

Practical Works:

·       Install the compiler of C++.

·       Use Insertion and Extraction Operator.

·       Compare the C and C++ Compiler and structure  

·       Explain the Object and Class

·       Define Data member and Member function.

·       Define inline member function.

·       Use array in member function and objects.

·       Define static and friends function.

·       Explain constructor and destructors.

Unit 2: Object and Class (16)  

2.1     Concept of Object and Class

2.2     Define Data Member and Member Function

2.3     Create object and access Member Function

2.4     Making outer function inline

2.5     Array with in Class

2.6     Array of Objects

2.7     Static Data Member and Static Function

2.8     Friends Functions

2.9     Concept of Constructor and Destructor

2.10   Empty, Parameterized and Copy constructor

2.11   Define Destructor

Practical Works:

·       Create class and objects with data member and member function. 

·       Declare and define member function and data member with visibility.

·       Create static function

·       Create friend functions.

·       Create different types of constructors

·       Explore the concept of constructor and Destructors.

·       Apply Binary operator and unary operator overloading.

·       Describe data conversion methods.

Unit 3: Operator Overloading  (12)

3.1  Concept of Operator Overloading

3.2  Defining Operator Overloading

3.3  Rules of Operating Overloading

3.4  Unary Operator Overloading

3.5  Return types in overloading function

3.6  Binary Operator Overloading

3.7  Manipulation String using Operator Overloading

3.8  New and Delete Operator Overloading

3.9  Data Conversion

Practical Works:

·       Create unary operator overloading.

·       Apply different types of operator overloading function return methods.

·       Apply binary operator overloading.

·       Create Data conversion methods

·       Explore the concept of inheritance

·       Describe the base class and access specifier .

·       Apply single, multiple, multilevel inheritance.

·       Use constructor in Derived class. 

Unit 4: Inheritance (12)

4.1  Concept of Inheritance

4.2  Base and Derived Class

4.3  Private, Public and Protected Specifier

4.4  Derived class declaration

4.5  Member function overriding

4.6  Single, Multiple, multilevel and hybrid Inheritance

4.7    Ambiguity problems in inheritance

4.8  Constructor in Derived Class

4.9  Extending operator overloading in derived class

Practical Works:

·       Create single level inheritance.

·        Create multiple inheritance.

·       Create multilevel inheritance.

·       Check the ambiguity problems. 

·       Revision concept of pointer.

·       Identify need of virtual function.

·       Describe Virtual function.

·       Describe the Pure virtual function. 

·       Describe the Abstract and container class

 

Unit 5: Virtual Function and Polymorphism   (8)       

5.1  Concept of Pointer

5.2  Need of virtual function

5.3  Definition of Virtual Function

5.4  Pure Virtual function

5.5  Abstract Class

5.6  Container class

Practical Works:

·       Create virtual function.

·       Create pure virtual function.

·       Create Abstract and container class.

·       Explain concept of template.

·       Define function template and class template.

·       Apply error handling in programming. 

·       Apply the different exception handling methods.

 

Unit 6: Template and Exception Handling  (8)

6.1  Concept of Template

6.2  Function overloading and problems

6.3  Function Template

6.4  Overloading function template

6.5  Class Template 

6.6  Derived class template

6.7  Concept of error handling

6.8  Basic of exception handling

6.9  Exception handling mechanism: throw, catch and try

Practical Works:

·       Create and apply function template.

·       Create and apply template class. 

·       Apply try, catch and throw methods in program. 

·       Describe the concept the procedure oriented paradigms.

·       Describe Object oriented paradigms.

·       Analysis complexity in software development.

·       Describe object oriented analysis and design methods.

Unit 7: Object Oriented System Development (6)       

7.1  Procedure oriented paradigms

7.2  Procedure oriented development Tools

7.3  Object Oriented Paradigms 

7.4  Object-Oriented Programming as a New Paradigm

7.5  Computation as Simulation

7.6  Coping with Complexity’s

7.7  Reusable Software

7.8  Object-Oriented analysis and  Design

Practical Works:

Case study on comparison of procedure and object oriented paradigms.

.

·       Create console application using C++.

 

Unit 8: Project (6)

Develop simple Application using (6) C++ with the feature of class, object, inheritance, polymorphism and encapsulation.                 

 

4.     Instructional Techniques

The instructional techniques for this course are divided into two groups.  First group consists of general instructional techniques applicable to most of the units. The second group consists of specific instructional techniques applicable to particular units.

 

 

4.1 General Techniques

Reading materials will be provided to students in each unit. Lecture, Discussion, use of multi-media projector, brain storming are used in all units.

4.2 Specific Instructional Techniques

Demonstration is an essential instructional technique for all units in this course during teaching learning process. Specifically, demonstration with practical works will be specific instructional technique in this course. The details of suggested instructional techniques are presented below:

Units

Activities

Unit 1:

Concept of Object Oriented Programming

·    Select and Install the different compiler of C++.

·    Demonstrate the programming structure of C++.

·    Compare the other program provide the assignment for understanding of objects oriented paradigms.

·    Monitoring of students' work by reaching each student and providing feedback for improvement

·    Presentation by students followed by peers' comments and teacher's feedback

Unit 2:

Object and Class

·    Demonstrate class and object creation methods in C++.

·    Demonstrate the methods and attributes in Class and access from objects.

·    Demonstrate the different types of methods such as inline, statics and friends.

·    Lab work in pairs in different tasks assigned by the teacher

·    Monitoring of students' work by reaching each pair and providing feedback for improvement

·    Presentation by students followed by peers' comments and teacher's feedback

Unit 3:

Operator Overloading

·    Demonstrate the unary and binary operator overloading methods.

·    Lab work in pairs in different tasks assigned by the teacher

·    Monitoring of students' work by reaching each student and providing feedback for improvement

·    Presentation by students followed by peers' comments and teacher's feedback

Unit 4:

Inheritance

·    Demonstrate the single, multiple and multilevel inheritance and applied into C++.

·    Lab work in pairs in different tasks assigned by the teacher.

·    Monitoring of students' work by reaching each student and providing feedback for improvement

·    Presentation by students followed by peers' comments and teacher's feedback

Unit 5:

Virtual Function and Polymorphism  

·    Demonstrate the virtual and pure virtual functions and application.

·    Demonstrate the abstract and container class.

·    Lab work in pairs in different tasks assigned by the teacher.

·    Monitoring of students' work by reaching each student and providing feedback for improvement

·    Presentation by students followed by peers' comments and teacher's feedback

Unit 6:

Template and Exception Handling 

·    Demonstrate the template function and class.

·    Demonstrate the exception handling concept in OOPs with reference C++.

·    Monitoring of students' work by reaching each student and providing feedback for improvement

·    Presentation by students followed by peers' comments and teacher's feedback

Unit 8: Project

·    Develop console application applied with OOPs Concepts.

 

5.     Evaluation :

Internal Assessment

External Practical Exam/Viva

Semester Examination

Total Marks

40 Points

20 Points

40 Points

100 Points

Note: Students must pass separately in internal assessment, external practical exam and semester examination.

5.1   Internal Evaluation (40 Points):

Internal evaluation will be conducted by subject teacher based on following criteria:

1)     Class Attendance                                                                                 5 points

2)     Learning activities and class performance                                            5 points

3)     First assignment ( written assignment)                                        10 points

4)     Second assignment (Case Study/project work with presentation )    10 points

5)     Terminal Examination                                                                                10 Points

Total                                                                                        40 Points

5.2        Semester Examination (40 Points) 

Examination Division, Dean office will conduct final examination at the end of semester.

1)     Objective question (Multiple choice 10 questions x 1mark)   10 Points

2)     Subjective answer questions  (6 questions x 5 marks)            30 Points

Total                                                                                 40 Points

 

5.3  External Practical Exam/Viva (20 Points):

Examination Division, Dean Office will conduct final practical examination at the end of semester.

 

5.              Recommended books and References materials (including relevant published articles in national and international journals)

 

Recommended books:

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

BaralDayasar&BaralDiwakar(2010), Secrete of Object Orientd Programming in C++, Kathmandu, BhundipuranPrakashan (Unit 1-8).

 

References materials:

Robert Lafore(2003), Object Oriented Programming in Turbo C++, Galgotia Publications Ltd. India, 2003 (Unit 1-8).

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

Lippman, S.B., Lajoie. J., C++ Primer, 3rd Ed., Addison Wesley, 1998

 

No comments:

Post a Comment