From dcc6641256ad3327a00f0f3da5627901ac54a59b Mon Sep 17 00:00:00 2001 From: "W. Trevor King" Date: Fri, 23 Mar 2012 16:12:08 -0400 Subject: [PATCH] Add pygrader post. --- posts/Gentoo_overlay.mdwn | 2 ++ posts/pygrader.mdwn | 54 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 posts/pygrader.mdwn diff --git a/posts/Gentoo_overlay.mdwn b/posts/Gentoo_overlay.mdwn index d3a27a2..88ac37b 100644 --- a/posts/Gentoo_overlay.mdwn +++ b/posts/Gentoo_overlay.mdwn @@ -45,6 +45,8 @@ personal `layman.xml`). The overlay is a fairly strange mix: (my [[h5config]] package) - dev-python/pgp-mime (my [[pgp-mime]] package) +- dev-python/pygrader + (my [[pygrader]] package) - dev-python/pymodbus ([pymodbus](http://code.google.com/p/pymodbus/)) - deb-python/pypid diff --git a/posts/pygrader.mdwn b/posts/pygrader.mdwn new file mode 100644 index 0000000..95441a1 --- /dev/null +++ b/posts/pygrader.mdwn @@ -0,0 +1,54 @@ +[[!template id=gitrepo repo=pygrader]] + +The last two courses I've TAd at Drexel have been scientific computing +courses where the students are writing code to solve homework +problems. When they're done, they email the homework to me, and I +grade it and email them back their grade and comments. I've played +around with developing a few grading frameworks over the years (a few +years back, one of the big intro courses kept the grades in an Excel +file on a [Samba][] share, and I wrote a script to automatically sync +local comma-separated-variable data with that spreadsheet. Yuck :p), +so I figured this was my change to polish up some old scripts into a +sensible system to help me stay organized. This system is pygrader. + +During the polishing phase, I was searching around looking for prior +art ;), and found that Alex Heitzmann had already created [pygrade][], +which is the name I under which I had originally developed my own +project. While they are both grade databases written in [[Python]], +Alex's project focuses on providing a more integrated grading +environment and sharing grading responsibilities among multiple +graders. + +Pygrader don't support multiple graders (yet), and it doesn't spawn +editors or GUIs to help you browse through submissions or assigning +grades. It does pull submissions from your email inbox (or from +[procmail][]), automatically drop them into a +`student/assignment/mail` mailbox, extract any [MIME][] attachments +into the `student/assignment/` directory (without clobbers, with +proper timestamps), and leave you to get to work (all via the +`mailpipe` command). + +When you're done grading, pygrader can email (`email`) your grades and +comments back to the students, signing or encrypting with [[pgp-mime]] +if either party has configured a [[PGP]] key. It can also email a +tab-delimited table of grades to the professors to keep them up to +speed. + +While you're grading, pygrader can search for ungraded assignments, or +for grades that have not yet been sent to students (`todo`). It can +also check for resubmissions, where new submissions come in response +to earlier grades. + +The `README` is posted on the [PyPI page][pypi]. + +[Samba]: http://www.samba.org/ +[pygrade]: http://code.google.com/p/pygrade/ +[procmail]: http://www.procmail.org/ +[MIME]: http://en.wikipedia.org/wiki/MIME +[pypi]: http://pypi.python.org/pypi/pgp-mime/ + +[[!tag tags/code]] +[[!tag tags/linux]] +[[!tag tags/programming]] +[[!tag tags/pypi]] +[[!tag tags/python]] -- 2.26.2