Introduction
Plagiarism has been of concern to instructors in universities for many years.
With the boom in computer science, many universities provide one or more
computer-related courses. Some courses may require students to learn and write
computer programs. A serious problem then arises ó the plagiarism of
programming assignments ó since copying programs from someone else as
oneís own is an easy task for the students. The simplest way is to substitute the
variable names or function names with different names and change the sequence
of the declaration statements of variables. These actions can easily escape the
eyes of instructors or markers. In fact, it is very difficult and time-consuming for
markers to find those plagiarized programs from a large set of programs. The
218 S. C. Ng, S. O. Choy and R. Kwan
markers can usually only find the careless mistakes made by absent-minded
students who may forget to change the name of the authors or leave some
serious mistakes in their programs.
The case is even worse for the markers to detect plagiarism of programs in a
distance-learning environment if students are allowed to submit their work after
the due dates because markers may have to mark assignments over quite a long
period of time. Sometimes, more than one marker is responsible for marking the
same set of student work. In these situations, plagiarism is more difficult to
detect. A powerful and flexible system is required to search for plagiarized
programs among a set of programs and distinguish the unintended similarities.
The traditional ways for detecting plagiarism include metrics-based and
structurally-based plagiarism systems. These systems mainly depend on the
number of occurrences of the variables and the operators. They convert the
program into a stream of tokens and then compare these token streams to find
common segments. The more advanced systems, such as JPlag (Malpohl 2002;
Prechelt et al. 2000), use the ìGreedy String Tilingî algorithm to check the
similarity of the source programs.
This chapter introduces a new method that uses parse tree to check for
program similarities. For each programming assignment, the source program can
be parsed into a tree structure for checking the syntax. The characteristics of the
parse tree (Sebesta 1999) structure are studied and will be applied to detect
plagiarism. For each programming assignment, the source program will be
parsed into a tree structure for checking the syntax. The parse tree is then broken
down into several sub-trees according to the program structure. These sub-trees
are compared and a score is assigned in relation to their similarities. The system
also provides three different levels of comparisons ó file-to-file, file-todirectory and directory-to-directory comparisons.
Many research and implementation studies have been carried out on
electronic and online assignment submission and management (Thomas 1998,
Thomas and Carswell 2000, Jones and Behrens 2003, Baillie-de Byl, P. 2004).
However, most of the proposed solutions have focused mainly on administrative
efficiency in collection and distribution of assignments. Very limited attention
has been given to how to mark the assignments effectively and correctly.
Our integrated assessment system provides a flexible way and a userfriendly interface for markers to evaluate and test studentsí programs. Markers
can check for program similarities for a batch of computer programs submitted
by students, compile individual programs or run a batch of programming
assignments with the given test cases. At the end of the testing phase, an
An Intelligent Online Assessment System for Programming Courses 219
individual report for each student is available for the marker to review and add
comments.
บทนำ
การขโมยความคิดได้รับความกังวลกับอาจารย์ในมหาวิทยาลัยเป็นเวลาหลายปี .
กับบูมในวิทยาศาสตร์คอมพิวเตอร์ , มหาวิทยาลัยต่าง ๆ ให้หนึ่งหรือมากกว่าหนึ่ง
คอมพิวเตอร์ที่เกี่ยวข้องกับหลักสูตร บางหลักสูตรอาจต้องให้นักเรียนเรียนรู้และเขียน
โปรแกรมคอมพิวเตอร์ ปัญหาร้ายแรง แล้วเกิดóการขโมยความคิดของ
โปรแกรมงานóตั้งแต่คัดลอกโปรแกรมจากคนอื่นเป็น
หนึ่งí s เองเป็นงานง่ายสำหรับนักเรียน วิธีที่ง่ายที่สุดคือการใช้ตัวแปรชื่อ
หรือฟังก์ชันชื่อกับชื่อที่แตกต่างกันและเปลี่ยนลำดับ
ของการประกาศงบของตัวแปร การกระทำเหล่านี้สามารถหลบหนี
สายตาของอาจารย์ หรือเครื่องหมาย ในความเป็นจริงมันเป็นเรื่องยากมากและใช้เวลานานสำหรับ
เครื่องหมาย เพื่อหาผู้ลอกแบบโปรแกรมจากชุดใหญ่ของโปรแกรม218 . C .
ng S . O . เพลงฉ่อย และอาร์ ควาน
เครื่องหมายมักจะสามารถหาข้อผิดพลาดประมาททำให้นักเรียนเหม่อลอย
ใครอาจลืมเปลี่ยนชื่อของผู้เขียนหรือทิ้ง
ผิดพลาดร้ายแรงในโปรแกรมของพวกเขา เป็นเรื่องแย่สำหรับเครื่องหมายที่จะตรวจจับการขโมยความคิดของโปรแกรมใน
ระยะทาง สภาพแวดล้อมการเรียนรู้ ถ้านักเรียนได้รับอนุญาตให้ส่งงานของพวกเขาหลังจากที่
เนื่องจากวันที่ เพราะเครื่องหมายอาจต้องมาร์คมอบหมายมาค่อนข้างนาน
ระยะเวลา บางครั้งมากกว่าหนึ่งเครื่องหมายเป็นเครื่องหมาย
ชุดเดียวกันของงานนักเรียน ในสถานการณ์เหล่านี้ , การขโมยความคิดเป็นเรื่องยากมาก
ติดตาม ระบบที่มีประสิทธิภาพและมีความยืดหยุ่นเป็นสิ่งจำเป็นเพื่อค้นหา plagiarized
โปรแกรมในชุดของโปรแกรมและการแยกแยะความเหมือนที่ไม่ได้ตั้งใจ
วิธีแบบดั้งเดิมสำหรับการตรวจจับการขโมยความคิด ได้แก่ ตัวชี้วัด ตามโครงสร้างและตาม
การขโมยความคิดระบบ ระบบเหล่านี้ส่วนใหญ่ขึ้นอยู่กับ
จำนวนการเกิดขึ้นของตัวแปรและผู้ประกอบการ พวกเขาแปลง
โปรแกรมเข้าสู่กระแสของสัญญาณกระแสสัญญาณเหล่านี้แล้วเปรียบเทียบหา
กลุ่มทั่วไป ระบบขั้นสูงมากขึ้นเช่น jplag ( malpohl 2002 ;
prechelt et al . 2000 )ใช้ìโลภข้อความกระเบื้องขั้นตอนวิธีîตรวจสอบความเหมือนของโปรแกรมแหล่ง
.
บทนี้ได้เสนอวิธีใหม่ที่ใช้แยกต้นไม้เพื่อตรวจสอบ
ความคล้ายคลึงกันของโปรแกรม สำหรับแต่ละโปรแกรมงานโปรแกรมแหล่งสามารถ
สามารถแยกวิเคราะห์ในโครงสร้างต้นไม้เพื่อตรวจสอบวากยสัมพันธ์ ลักษณะของ
แยกต้นไม้ ( sebesta 1999 ) โครงสร้าง มีการศึกษาและจะถูกใช้เพื่อตรวจหา
การขโมยความคิด สำหรับแต่ละโปรแกรมงานโปรแกรมแหล่งจะ
แจงในโครงสร้างต้นไม้เพื่อตรวจสอบวากยสัมพันธ์ ที่แยกต้นไม้แล้วหัก
ลงต้นไม้ย่อยต่าง ๆตามโครงสร้างของโปรแกรม เหล่านี้ย่อยต้นไม้
เปรียบเทียบและคะแนนที่ได้รับมอบหมายเกี่ยวกับความคล้ายคลึงกันของพวกเขา ระบบ
นอกจากนี้ยังมีที่แตกต่างกันสามระดับของการเปรียบเทียบóไฟล์ไปยังแฟ้ม , แฟ้มและไดเรกทอรี todirectory การเปรียบเทียบไดเรกทอรี การศึกษาวิจัยและการดำเนินงานหลาย
ได้ดําเนินการในออนไลน์และส่งการบ้าน
อิเล็กทรอนิกส์และการจัดการ ( Thomas 1998
โทมัสและคาร์สเวล 2000 , โจนส์และ Default 2003 เบล์ลี่ เดอ byl , P .
แต่ 2004 ) ,ส่วนใหญ่ของการนำเสนอโซลูชั่นได้ เพื่อเน้นประสิทธิภาพการบริหาร
ในการเก็บและการกระจายของที่ได้รับมอบหมาย จำกัด ( มหาชน ) ได้รับความสนใจมาก
วิธีการทำเครื่องหมายที่ได้รับมอบหมายได้อย่างมีประสิทธิภาพและถูกต้อง
ของเราบูรณาการระบบการประเมินให้วิธีที่ยืดหยุ่นและมีอินเตอร์เฟซที่ซอร์เฟรนด์ลี่สำหรับเครื่องหมายเพื่อประเมินและทดสอบนักเรียนíโปรแกรม เครื่องหมาย
สามารถตรวจสอบความคล้ายโปรแกรมชุดของโปรแกรมคอมพิวเตอร์ส่ง
นักเรียนรวบรวมแต่ละโปรแกรมหรือเรียกใช้ชุดของโปรแกรม
งานกับให้ทดสอบกรณี ที่ส่วนท้ายของขั้นตอนการทดสอบ ,
อัจฉริยะออนไลน์ ระบบการประเมินหลักสูตรการเขียนโปรแกรม 219
รายงานส่วนบุคคลสำหรับนักเรียนแต่ละคนสามารถใช้ได้สำหรับเครื่องหมายเพื่อทบทวนและเพิ่ม
แสดงความคิดเห็น
การแปล กรุณารอสักครู่..
