This document discusses Moodle plugins developed at Harbin Institute of Technology to improve programming courses, including an Online Judge plugin to automatically grade submissions, a Moss plagiarism plugin to detect cheating, and a GitHub plugin to integrate a git repository with Moodle assignments. It provides example architectures and case studies on how these plugins have benefited both teachers and students.
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Moodle Plugins for Highly Efficient Programming Courses
1. Moodle Plugins for Highly
Efficient Programming Courses
Sun Zhigang, Su Xiaohong, Zhu
Ning, and Cheng Yanyu
Harbin Institute of Technology
2. Who am I
Sun Zhigang (孙志岗)
sunner@gmail.com
Maintainer of Moodle Simplified-Chinese
language package
Associate Professor, School of CS, Harbin
Institute of Technology, China
Senior Product Designer, NetEase Inc.
(NASDAQ:NTES)
3. My Moodle Site
Name: 乐学网 (Enjoy learning)
http://cms.hit.edu.cn
Founded in 2005
300+ courses, 20k+ users
Some of them are outside HIT
One of the biggest Moodle sites in China
6. Judge Result
Multi-
testcase
s with
different Hint for wrong
points answer
7. Case Study – Online Judge
Teachers love it
One teacher faces 400+ students, no burden
Students love it
“Feel like playing online game”
Try again and again to get higher grade
Submitted up to 816 times for one assignment and
finally conquered it
8. Average grades of Professor Guo's C
language course in last 7 sememters
95.0
90.0
Applying online 89.6
judge from here
86.6
85.0 83.7
Average grade
80.0
75.3
75.0
70.3
70.0
67.2 67.8
65.0
60.0
2007 fall 2008 spring 2009 spring 2009 fall 2010 spring 2010 fall 2011 spring
9. Moss - Measure Of Software Similarity
Developed by Alex Aiken from Stanford
Supports C, C++, Java, C#, Python, Visual
Basic, JavaScript… more than 20
Also supports plain text
Can ignore framework codes
Free for non-commercial use
11. Moss Plagiarism Plugin for Moodle
Additional features
Confirmation
As previous page
Support of pdf, doc, docx, rtf and odt
documents
History
Compare with unenrolled students
Multi-configures
Separate files with wildcard
12. Case Study - Moss
Less students do cheating
Teachers get
complain in the first half time
praise in the second half time
91.7% students support to use Moss in the
following courses
13. Github Assignment
Github Moodle
Manage source codes Manage students and
Track progress groups
Collaboration Manage grades
Publish Other teaching activities
14. Github Assignment
Collect github usernames and repository
URLs
Group members can share repository
Synchronize commit histories
Statistic workload
Direct links to github pages those teachers
& students may concern
Inherits standard functions of assignment
type, such as grading
16. Case Study – Github assignment
Problems in course projects
Rush only in last minutes
Not all group members involved
Github + Moodle’s solution
Must commit code into github
Grade in moodle upon git logs
Github + Moodle’s problem
Git is not easy for newcomers
Can not cure procrastination