Activity Surveillance and Hawthorne Effect to Prevent Programming Plagiarism

,


INTRODUCTION
In programming course, programming assignments and projects are conducted to asses students' performance. One of the main problems in this assessment is in dealing with students who copy and modify programs. This problem is especially out of control when the number of students in the courses is high, as it will be very difficult to detect this plagiarism.
With rampant increment in plagiarism phenomena (Joy and Luck, 1999;Sheard and Dick, 2003) necessary efforts should be taken to provide a conducive environment that encourages students to develop their programming skills (Cogan and Gurwitz, 2009;Sani et al., (2009). Since it is so easy to copy and edit a computer program, students would find it is tempting to get involve in plagiarism activity.
This study suggests a method that observes students progress in building program in their programming environment. A surveillance system is proposed in an Integrated Development Environment (IDE). This study discusses issues on plagiarism, Hawthorne effect and some approaches to deal with plagiarism. Then the design and architecture of the system is brought forward. Some of the system interface and results will be discussed. Finally the research concludes the study. (Joy and Luck, 1999;Daly and Horgan, 2005;Spinellis et al., 2007) have identified plagiarism issues in many perspectives. Unacknowledged copying of documents or programs is considered as an act of plagiarism. The widespread plagiarism scenario faced by instructors' at all educational levels is due to two reasons: Increasing facilities that students have for accessing to on-line resources and the huge number of work, project or report-based assessment of courses that need to be evaluated by instructors. Stewart-Gardiner et al. (2001) raise interesting issues regarding collaboration and plagiarism. These include the breaking point between collaboration and plagiarism. While many educators feel that collaboration belongs only in a very few upper division programming courses, others have experience to show that early collaboration broadens the learning of students, to become more effective professional individuals. They find out that a blend of the two styles is best for students and can reduce plagiarism. Spinellis et al. (2007) agree with the blended approach in dealing with plagiarism. They do not only evaluate students' work in terms of originality, but also understanding, learning, fairness, difficulty, fun and interest as a result of collaboration with other students. They propose Jarpeb, a system that creates individually randomized assignments, grades the students' programs and allows students to submit their grade through the web. The results indicate that the system contributes to the reduction of plagiarism, increases the understanding and learning of the course subject while also increasing the perceived fairness, fun and interest of the learners.

Related work: Researchers
Hawthorne effect is a phenomenon where a study subject's behavior or study outcomes are altered as a result of the subject's awareness of being under observation (Mangione-Smith et al., 2002). This phenomenon was originally identified at the Hawthorne Works Plant of the Western Electric Company in Chicago. Several studies were conducted at this plant between the years 1924 and 1932 in order to identify working conditions that would increase the productivity of the employed by the plant. The investigators found that worker productivity increased regardless of working conditions when the workers knew they were under observation. For example, both more light and less light in the workroom resulted in improved performance when workers were aware that their productivity was being measured. Approach in surveillance system: The approach to deal with plagiarism in programming assignment needs suitable methodology and technique in which different modes will be used to gather data and suitable to various states and conditions. With the availability of more complex technique of data collection, observation study especially via embedded system is seen as more effective (El-Mousa and Al-Suyyagh, 2010; Rath and Meher, 2006;Rath and Dehuri, 2006). The development of instrument to deal with plagiarism in this study considers some important factors in physical specifications. The approach will cover both observational and prevention aspects.
Observational approach requires observational technique that monitors the programming activity conducted by students which fulfill the following features. First, a student programming environment: the system should consider the study environment including attentive to issues on students' learning capacity and their learning style. Student needs an easily-used and maintained programming environment. As such, the development of programming activity information collection function in an embedded Integrated Development Environment (IDE) will be one advantage due to the capacity and availability of the software itself. The surveillance software in a Java programming environment is intended to record the identified programming activity during students' Java program development.
Next, a non-experimental setting: experimental setting emphasizes variable manipulation which resultsin experimental environment constraint. Among the major flaws in experimental setting is that subjects' behaviors are distorted from their normal ones. On the other hand, non-experimental setting explores the phenomenon being studied and is very suitable if the information regarding the study are very limited. By using this setting, the study findings could be generalized into a bigger group instead of certain group representation. The integrated observation function in an IDE environment also allows for exploratory data collection.
Then, observational data collection: data collection technique plays the most critical part and identifies the purpose of study (Taylor-Powell and Steele, 1996). In this context, observation is made when the students are developing their program. In this technique, the response is not determined by subject's needs and capability in giving information.
Finally, non-intrusive methodology: intrusive observation would influence subject's performance whereas manual data collection is not efficient at all. Therefore, a non-intrusive approach is applied. Hidden data collection is conducted to observe programming students' behavior. Among the recorded information is the number of compilation they are conducting and this information is gathered without them knowing.
In preventive approach, the software development takes into account the encouragement effect on student attitude. Instead of compulsory attitude change, students are encouraged to perform well in their assignment and fulfill their responsibility in spending sufficient time and effort in programming activity. The prevention approach is conducted by monitoring students' programming activity. They realize that their action is recorded and controlled. Two aspects are considered in this approach: effect towards observation and Hawthorne effect.
First, effect towards observation: students need to be given full information on study planning and the intended result of the prevention tool. The psychological impact would be created based on what the subjects think on real world. Subject's knowledge or their own expectation on the study purpose and their own desire to be seen as good subject in researcher's eye would result in action that follows researcher's needs. In this situation, the students will commit in normal programming activity such as typing, debugging and implementing their program. It is the role of course instructor in disseminating information regarding the study planning clearly at the beginning of the course.
Second, Hawthorne effect: an open programming activity pooling technique through observation would influence subject's behavior. Hawthorne effect is exploited in student's environment to maximize the surveillance system function as a preventive approach on plagiarism activity. Although the recording of process information is hidden, a report is generated at the end of each programming session that informs student development process. The report is presented in a simple and meaningful way to encourage student spend their own time in programming activity.

MATERIALS AND METHODS
The surveillance system is implemented in such a way that no significant change is observed in the available working environment. Surveillance system will produce two file types: activity log (special file) and backup file. Activity log file is created to keep programming activity log information as reference purposes if more information is needed. Backup file (*.bak) is created to save the program writing record. The surveillance function is developed by fulfilling certain criteria as summarized in Table 1.
In the proposed approach, each student in the programming course is supplied with surveillance system. It is developed in a Java programming environment which enables recording the identified programming activity during program development. The software is equipped with programming activities supervision function. Each time students are working on the programming assignment, the system will be able to record the activity. Even though the observation function has been implemented in the system's environment, basically no obvious changes have been made on the present programming interface environment. The function was built transparently with recording, analytic and programming activity sequence display functions. Figure 1 shows the environment of the surveillance system called DwiCoder.  Programming activity is recorded in hidden manner and the information is kept in a special file called log file. These data are kept in separate files and are created uniquely for every program source. They have a standard format and treated as raw data in programming study. Observation function also produces one writing text file which stores program text when it is compiled for the first time. This file is built as a backup file if source file suffers some damage. Figure 2 displays the model of the whole system. In the observation function, programming activity record is created based on a standard format. Three main attributes are provided: Date, time and programming code. This requirement is important because one programming session might pass a time frame with changing dates. Data is recorded following to the treatment of activity, state transition in document program and main programming activity (Fig. 3). In the sequence, program source would first be built (state "N"), followed by compilation and save process (state "C" and "S"). Next, program will be executed (state "E1") while state "E2" marks the end of program execution. Program file will be closed (state "X") when program session ends and program file will probably be opened (state "O") again if the programmer want to resume his/her programming process. Compilation, save and execution process perhaps will occur repeatedly in every programming session. Programmer may end each session in four main situations: After compilation or save, after implementation process, when a document is created and when a document is opened.

RESULTS
DwiCoder presents the programming activity log in a sequence format. The format allows for displaying as much information as possible that can be analyzed according to the content of activity log. The observation function captures specific and general observation of students' programming behavior based on their programming activity basis.
A data set that represents a metric of programmer oriented behavior is generated by the system. This metric fall into four categories that measure different aspects in the programming procedure: Time profile, compilation and implementation activity, mistake measurement and program solution equality. Table 2 lists the metric. Percentage of program equality from the whole solution The system generates a time graph, one of its display tools to show activity sequence which occurred. All information of necessity is displayed in the sequence of time. Graphical display format (Fig. 4) is produced so that the recorded data could be interpreted easily to follow four main phases: Writing, compilation, implementation and modification. Definition of each phase is adapted fully from program compilation, implemented and modification classification (Takada et al., 1994).
This report generating function is one of DwiCoder's menu choices so that student can see their programming progress and print their program as an evidence purpose. Figure 4 also shows an example of the report for a program. With the richness and systematic recorded information, the report is expected to give an encouragement for students to be more responsible on their work. The report shows that one of the expectations in the programming assignment is sufficient time and compilation number was fulfilled in developing the program in these three activities: Compilation, execution and modification. This report display is not only useful for research use on programming even may serve as a self reporting mechanism. Students are able to monitor their own progress and check whether they fulfill the assessment criteria.
This surveillance system has the ability to record any activity based on programmers' selection on related menus only. It is more difficult to consider programmer's mind which is not related to programming activities or leave his/her programming environment without closing the programming session. As such, a security mechanism is built behind the scenes in DwiCoder to identify keyboard activity. It will close the programming session automatically if there is no reaction from programmer when a warning message appears, as in Fig. 5. It is found to be effective in reducing time recording for activities not belong to programming log.

DISCUSSION
DwiCoder is a surveillance system that employs observation and prevention approach. The former approach enables for monitoring the programming activity conducted by students that consider their learning capacity in an integrated development environment. Hidden data collection is conducted to observe the programmers' behavior. The later approach takes into account the encouragement effect on student attitude. Instead of compulsory attitude change, students are encouraged to perform well in their assignment and fulfill their responsibility in spending enough time in programming activity.
The Hawthorne effect phenomenon is a result of a careful setting to the environment. Assuming an increment in student performance resulting merely from instructor attention to them is among the mistakes in the usage of the term (Gottfredson, 2005). Remarkable improvements in students' performance might be contributed by various factors such as conducive and enjoyable laboratory environment in which students are willing to spend long time to complete the assignment, students' personal goals of obtaining their degree with flying colors, or careful attention to their performance since the first day in that semester.
To achieve the desired result in programming course, course instructor plays an important role. Not only depending on the surveillance system, it is important for instructor to keep varying the course to keep it from getting stale. Such changes might involve instructor's approach in presenting material and collaborating with other students (Spinellis et al., 2007;Stewart-Gardiner et al., 2001). The new and innovative method in marking students' assignment would probably change and improve student's learning style and behavior to spend enough time to develop the program. A reasonable change would cause an improvement in student learning especially when they perceive that the instructor is giving them attention that seems special.
With the ability to record complex data in programming, the surveillance system gives an advantage to implement observational study as compared to experimental study previously done. The inclusion of data collection function in present environment brought to by DwiCoder is not a new approach, tools such as AESOP and Mother are able to gather information to monitor student's behavior online (Kivi et al., 1998).
There are various tools and systems for automatic detection of plagiarism in programming projects. JPlag and Turnitin use similarity index as an evidence of plagiarism. Daly and Horgan (2005) present a technique for detecting plagiarism in computer code, which has the advantage of distinguishing between the originator and the copiers and handling a large group studying programming in an automated learning environment.
DwiCoder appears to be a better method for collecting information on subject's behavior due to its ability to be carried out in a non-experiment environment and does not require subject intervention. The programmer's action and response in the programming environment such as pressing the keyboard or calling on certain menus could be detected. This approach implies a self reporting technique which might expose some element of bias. In future, monitoring on some non-programming activity domains like eating, drinking or opening email could be included as an enhancement of the system.

CONCLUSION
This study proposes a surveillance system called DwiCoder to handle plagiarism problem in programming projects. It applies observation and preventive approach to monitor students' programming activity and to promote good practice in spending enough time in programming activity.
DwiCoder provides a learning environment in which student's programming activity will be continuously under observation and their behavior is under control; therefore the environment is an effective prevention method in tackling plagiarism. Apart from that, this system affords to give enough evidence on student's effort to resolve their assignment.