Is there any way this checking task could be automated ? So that more time can be spent focusing on a student's weaknesses or poor formatting habits ?
As mentioned by other posters, YES.
We've done it.
You can program this stuff in word, although I find the programming environment in VBA etc. horrible to deal with and debugging is a pain.
We did this for our regional "Assessment Tasks" and was always our hope, as is yours, that it could be funded to be done more frequently such that teachers can focus on student learning needs instead of assessing our failures after the topics have been completed.
Three languages we did the development work:
Perl, Visual Basic 6, Python
Of the three development languages we used, we/I found Python the easier fit of the lot.
Perl: Really too difficult for me to understand how it could be used, had it working for assessing Microsoft Excel and couldn't get it working for Word.
Visual Basic 6: Much easier to use / develop in than Perl or Python but we ran into a lot of memory problems/limitations on my development machine that caused instability and we lost confidence in its marking (i.e. there were times we'd run the program twice
on the same set of files and get different results) We were marking 500+ papers at a time so this could be a factor.
Our Problem VB6, Office2000 revolved around office leaking(?) memory so after X number of documents we were not sure whether the marking was valid or not.
Python: We eventually went to Python to automate make the assessments (Microsoft Word, Microsoft Excel, and Microsoft Access) due to a number of reasons.
a. It has a nice integration with automating Microsoft/Windows programs.
b. It had a much better Regular Expression library than VB
c. It did not have the memory problems as VB6 so we could run it on the whole suite of submitted documents.
If someone is really interested, then email me on
firstname.lastname@example.org and I can pull up the archives and see if I can post the files somewhere.
Caveats. It does take a while to get into a new programming language (whether Visual Basic or Python, or .NET Framework ?) It also takes a while to find out all the methods/functions you can call in Microsoft Word to reveal the information you are looking to
use for assessment.
Sample code always helps, so the invitation above. I didn't write the MS Access stuff we used, that was Pulu 'Anau, so I cannot confirm whether I have any of those source for distribution.
I have not tried IronPython nor automation on Office 2003 so cannot comment on whether it is simplified/complicated or other.
The only major issue we've had with the automated assessment (as I recall were:)
* MS Excel. It is really tough to do the Excel assessment without requiring students to make entries into specific cell/regions.
* "Control Characters" inserted into Word Documents may not be visibly assessable but will programatically provide a different result. For example, one of our assessment tasks used a 'scanned/ocr'd" document as the 'source.' Most people view their word document
in Document View and it took us a long time to figure out that the OCR'd document had a 'drop-cap' type of formatting such that the 1st visible paragraph was actually 2. The program picked up the difference but it took us a long time to reconcile that what
we saw on the screen was incorrect.
There are many ways to pick up most of what you want to assess students in their Word Processing skillsets, it just takes going through the exercise and the programming to find the different paths for finding the answer.