The Role of Programming Paradigms Inbuilding Projects

Procedure oriented and object oriented programming paradigms have been extensively used in the industry to develop real world applications since from several years. Procedure oriented programming languages are suitable for building system software's where as object oriented programming is suitable for developing application software's. Traditionally, students used to develop two different course projects by using two different programming paradigms in successive semesters. Many times, students were not able to realize differences between two different approaches of solving a common problem. In order to address this issue,we present our experience of developing course project by using two different programming paradigms. In this course project activity, students develop the real world application using procedure oriented programming at the earlier semester. In the later semester, students develop the same application by using object oriented approach. By this, student will realize importance of solving a common problem by using top down as well as bottom up approaches. Improvement in the program outcomes compared with the traditional approach justifies the effectiveness of incorporating the new approach.


Introduction
Procedure oriented and object oriented programming paradigms have been extensively used in the industry to develop real world applications since from several years.Procedure oriented programming languages are suitable for building system software's where as object oriented programming is suitable for developing application software's.Traditionally, students used to develop two different course projects by using two different programming paradigms in successive semesters.Many times, students were not able to realize differences between two different approaches of solving a common problem.In order to address this issue, we present our experience of developing course project by using two different programming paradigms.In this course project activity, students develop the real world application using procedure oriented programming at the earlier semester.In the later semester, students develop the same application by using object oriented approach.By this, student will realize importance of solving a common problem by using top down as well as bottom up approaches.Improvement in the program outcomes compared with the traditional approach justifies the effectiveness of incorporating the new approach.
Procedure oriented programming, object oriented programming.
Huge number of programming languages introduced over the last fifty years, the key issues in programming education remain the same and choosing appropriate programming language is still challenging.Different paradigms represent fundamentally different approaches to build a solution for problems using programming.Two of the most important programming paradigms are the procedural and the object-oriented paradigms.
A procedural paradigm is that which specifies a series of well-structured steps and procedures within its programming context to compose a program.It contains a systematic order of statements, functions and commands to complete a computational task or program [1].Procedural programming is referred as imperative programming and top down programming language.Some of procedural languages include: Fortran, COBOL and C, which have been around since the 1960s and 70s.
To perform certain actions and how to interact with other elements of the program.Objects are the basic units of object-oriented programming.A simple example of an object would be a person.Logically, you would expect a person to have a name [2].This would be considered a property of the person.You would also expect a person to be able to do something, such as walking.This would be considered a method of the person.key aspect of object-oriented programming is the use of classes.A class is a blueprint of an object.You can think of a class as a concept, and the object as the embodiment of that concept.Students study both types of programming languages in their curriculum.The choice of the programming language and the corresponding programming paradigm is critical for developer .To address this we made an attempt by having common problem statement for both type of programming languages and check the effectiveness of learning programming languages and importance of choosing programming paradigms.
Data structure and algorithm with c is a basic building block of computer science in which students study efficiency of different data structure and algorithms.The course was designed with the following out comes.
i. Discuss the C language features and analyze the differences between recursive and iterative programming.
ii. Analyze the role of data structures in structuring and manipulating data and implement them using array or list representation.
iii.Discuss the properties, operations, applications, strengths and weaknesses of the different data structures and their effect on algorithms iv.Analyze, interpret and compare various sorting, searching and graph algorithms and perform efficiency analysis v. Discuss the file structures and storage management for efficient access of data vi.Choose appropriate data structures needed for modeling a given simple application and implement them This subject had six credits of which one credit was for self study.As a course project component, students were asked to carry out the projects by choosing their own problem statements in a group of four.During first two weeks students came up with problem statements, in a next two weeks students analysed the defined problem statement and selected appropriate data structures and designed modules required.The next four weeks were dedicated for implementing and analysis.After completion of the project students were asked to prepare report according to IEEE standard.The assessment methodology was as follows.
Object oriented programming with C++/JAVA course is studied after Data structure and algorithm in curriculum.This course emphasizes more on features of OOP and importance of OOP in current industry [3].The course was designed with the following out comes.
1. Describe basic features of Object Oriented Programming Language.
2. Apply the principles of encapsulation, inheritance, polymorphism and message passing techniques to implement a solution for any given problem specification.Students had used structures to create user defined data types and every function was independent, they communicated with each other irrespective of user defined data types.In this project we had only two structures one for product and the second one for billing all functionality were achieved using function which were independent and cud communicate with each other.Students had top down approach and had poor design, structures were used minimal and more procedures were used and resulting in inefficient code.This project had algorithm for converting any given text to cipher text with brute force method.Students cud not design structure as there were no real word entities involved so students solved this using top down approach using C programming .Students had unique code table for every character while encrypting, and using same unique code table the decryption was also done they had designed the system by using less memory and in an efficient manner but to tell this was efficient we had to perform same in OOPlanguage.Problem statement was changed to have more complexity and to bring in OOP concepts in project, but the procedure for encrypting message was not changed.New problem statement was a message box which had two entities sender and receiver.Now the message sent and received by users were encrypted using same algorithm.This project now had two realworld instance sender and receiver with its own attributes and functions.As same procedure was followed for encrypting and decrypting efficiency of the project was still same.

References
Below graphs (fig 11 and 12) shows increase in attainment of b-1-B i.e Identify data requirements of a problem/system which was attained by better design of objects and structures.It has also helped the students to analyzing and choosing appropriate algorithm for any given problem which was achieved in a-2-B and c-3-B.Reviews were conducted at each phase of project which enhanced the soft skills which can be seen in attainment of g-2-A and g-2-B.
This activity helped the students to understand the strength and weaknesses of programming paradigms and the importance of choosing programming paradigm for any given problem.Students have a wrong assumption that OOP languages have upper hand over procedure languages.To make students understand the importance of both type of languages.We made an attempt by having same problem statement for both programming language courses and we found students had better understanding of both paradigms with practical knowledge rather than an memorized answer.

Fig
Fig 1.Snapshot of procedure program

Fig 7 .
Fig 7.Snapshot of procedure program

Fig 9 .
Fig 9.Snapshot of Object oriented program

Fig
Fig 11 Attainment graph of PI Procedure Oriented Course

Table .
Data Strictures and algorithm (DSA) course project was developed using C program which is a

Table 6 PI code and its attainment for Object Oriented Course(OOP)
Fig 12 Attainment graph of PI Object Oriented Course