New Module: Writing Assignment

Events happening in the community are now at Drupal community events on www.drupal.org.
kyle_mathews's picture

Hi everyone. I've been working for several months now on a new social learning module for Drupal called “Writing Assignment.” This module will make it simple for a teacher to assign students to write on a topic and then for the writing to be read, commented on, and rated by other students. I think the code is to a point where I can show it to other people and not feel too embarrassed :>

I'm writing this module as part of a research project I'm involved with at Brigham Young University. We are studying the effect of using web2.0 type technologies in the classroom.

This semester we are using Drupal for two sections of a class as a trial run for us. You can see the site here: http://isyscore.byu.edu/drupal We decided not to use the DrupalED distribution (sorry Bill!) as it wasn't quite what we wanted but many of the features we included we're inspired by DrupalED.

Onto the module:

The core principle in our research and in creating this module is that students learn best if they teach what they learn. This module is an easy way to make students teacher/learners.

The basic workflow for this module is as follows:

  1. Teacher creates writing assignment
  2. Students create writing which is associated with the writing assignment
  3. Students comment on and rate fellow students writing
  4. All writings are copied to each student's blog where they become part of the classroom knowledge base
  5. Teacher use comments and ratings for grading.

See also the attached screenshots for a visual walk through.

Some sample use cases the module supports (or will support):

  1. Teacher x wants to assign students to write a 500 word essay due every week on Friday at 8pm. At the beginning of the semester she creates a writing assignment node for every week of the semester. As the semester goes on, assignments are automatically activated and ended.
  2. Teacher p wants his students to turn in a rough draft a week before the final paper is due. He also wants each student to comment on other papers and rank the rough drafts according to a rubric he's created. He creates a writing assignment with a starting and ending date, a grading rubric, and sets the number of reviews per student to 3 and sets the type of review to “Students rate and comment on writing.”
  3. Teacher y wants his students at the beginning of class to write a review of last nights readings. He creates a writing assignment with his questions, a grading rubric, and assigns students to grade 4 assignments using the rubric. After the class has begun, he clicks “start assignment” on the Writing Assignment admin page. Once he's seen that every student has submitted an assignment, he initiates the private message telling the students which writing nodes to grade. Once the students are done grading, he ends the assignment. Later he copies the average grade given for each student to his grading sheet.

Existing Features

  • completely integrated with organic groups
  • sophisticated access control based on state of the assignment: active, reviewing, ended
    • e.g. if assignment = active, students can create/edit an assignment, but only view their assignment. if assignment = reviewing, students can only view the writings assigned to them to review but can't view/edit their writing. And so forth
  • Writing assignments are copied to student's blog at completion of the assignment.
  • Assignments are organized by taxonomy

Future Features

  • Start and end assignments automatically
  • Teacher can set a required word count – e.g. Assignment must have 500 words
  • Simplified user interface for teacher/student
  • Teachers can create scoring rubric for student to use while grading content
  • Report page for each writing assignment listing average rating for each student
  • Create default views for displaying finished assignments
  • Choose between using regular email or the Drupal's internal private messaging system.
  • (way out in the future) – Create inline commenting module like the one Jack Slocum built for Wordpress -- I think a system like that would be brilliant for commenting on papers such as use case #2 above.

Feedback Please

I'd love to hear feedback the module. What other use cases would you like it to support? What other features does it need? Is there anyone who could help review/write code? (This my first time writing in PHP / Drupal so I'm sure my code is sub-par in places)

Also, this module is part of a research project. If you use this module in a classroom, we'd love to hear back about your experiences.

Download the module from its project page.

Module work is sponsored by the Kevin and Debra Rollins Center for Ebusiness

AttachmentSize
create_writing_assignment.jpg101.91 KB
assignment_administration.jpg160.47 KB
review_message.jpg61.21 KB
copied_to_blogs.jpg91.19 KB

Comments

This sounds great!

bonobo's picture

This sounds great!

And no need to apologize for not using DrupalEd -- it is definitely not a one-size-fits-all solution -- heck, there are even times when we don't use DrupalEd as our starting point :)

The rubric functionality you describe sounds very useful -- how far along is that?

RE the inline commenting module: have you seen the work going on with the Annotate module? That could actually get you all the way there.

I'll try and get a chance to install this and go over it -- this sounds like great work!

Cheers,

Bill


FunnyMonkey
Tools for Teachers

The rubric functionality is,

kyle_mathews's picture

The rubric functionality is, I think, third in line. I've been writing the code kinda fast and loose so I want to do some general code cleanup, refactoring, write some unit tests, etc. But I think the rubric functionality should be fairly straight forward to implement so it'll be along fairly soon.

RE the annotate module. I actually had run across the annotate module before but I hadn't realized Clemens was ambitious as he was. I thought it was just a small simple module but you're right, it looks like he's doing exactly what I wanted. Marginalia especially looks very cool.

Kyle Mathews

Kyle Mathews

Rubrics separate module?

dwees's picture

Rubrics could be a node that one associates with another node type, essentially a review. Then the rubric itself, or the total score from a rubric could be piped into a person's Gradebook automatically. Thus, you could allow Rubrics on anything!

Some possible uses:

  1. Student creates a writing assignment (or project) and you use the rubric to assess them.
  2. Student creates their 'home page', and you use the rubric to assess their understanding of xhtml/css.
  3. Student uploads their Flash movie, and ...

If the Rubric is itself a separate module, then all of this is possible.

Does this make sense?

Dave

Thinking along the same lines

bonobo's picture

A generalizable tool that allowed a rubric to be applied to/evaluate any node type would be great.

We did some brainstorming along these lines a while back when we were working on the Gradebook -- I'll look up those notes and see what's still relevant --

Cheers,

Bill


FunnyMonkey
Tools for Teachers

I was thinking of something

kyle_mathews's picture

I was thinking of something much simpler for the rubric. Basically, the students would just use the 5-star rating module. The rubric the teacher would define (1 star = "", 2 stars = "" etc.) and then the rubric would show up as students grade each other's writings.

But I like the idea of making a generalized tool for evaluating nodes. It'd be silly to spend the effort coding a tool and not make it of more general use. I think it'd be fairly easy to make a tool that'd fit my module's needs as well as serve the other uses Dwees is suggesting.

Kyle Mathews

Kyle Mathews

Rubric view

dwees's picture

Here's an example of a rubric that teachers might want to be able to use to grade web pages.

http://www.uwstout.edu/soe/profdev/webpagerubric.html

Notice that with each criteria are associated a number of levels (with points for those levels) and comments about what is required to achieve those levels.

How I envision this is like so:

  1. A teacher creates a rubric with as much detail as they like and as many criteria as they want.
  2. A teacher creates an assignment and assigns a rubric to associate with that assignment.
  3. A student completes the assignment with the ability to read the rubric associated with that assignment.
  4. The teacher looks at the student assignment and using the pre-chosen rubric, grades the assignment, the total grade of which shows up in the teacher's gradebook (if the site includes that module).

It sounds like a great

scor's picture

It sounds like a great module! I would suggest that you create/upload this module on drupal.org, so that you can benefit of the drupal.org visibillity, the issue queue etc... more people will notice your new module, try it and report bugs/feature requests to the issue queue.

Releasing the code

kyle_mathews's picture

That's definitely my next step. The module is just now getting into any sorta working order. I'm applying for cvs access today so hopefully it'll be released sometime next week. I still have a bit more cleanup to do with the code before then, after all, I want my module to be a gold star module. :>

Kyle Mathews

Kyle Mathews

Well done...

amariotti's picture

Looks very cool, I'm definitely going to check this one out as I start developing our college website. Nice to see another "Utahn" using Drupal!

Andrew (amariotti)
Education Institutions Group: a group about building any and all school websites on Drupal.

Andrew (amariotti)

major changes in writing module

kyle_mathews's picture

I've started making some major changes to writing module. I'll write more when I have time (and the code is moved along a bit more). Basically, I've decided the architecture of the first iteration of the writing module was inflexible -- to the point I decided it'd be easier to throw it out and start over. I've decided to build the writing module around workflow_ng to allow maximum flexibility when designing an assignment workflow.

Kyle Mathews

Kyle Mathews

about your writing module

ashiwebi's picture

I am new in drupal.I am using your assignment module .I created access control for student,teacher.The problem I am facing in
that teacher can create the writing assignment but in student section there is no option of submit writing.Help me in that.Any access control permission we need to give or any other setting we need to check.

Status of project

adamtyoung's picture

Hello,
Excellent ideas for this module. I am wondering though, if there is some other place to download / try it? I see that the version on the project page was submitted in Dec 07. Again, thanks for the work, looking forward to trying the module.

A Young
SFU CODE

Project stalled

kyle_mathews's picture

I'm really sorry but I'm not working now on the Writing Assignment module. I'm a student working as a part-time research assistant. Coding is just one of the things I do for my job and since January/Feburary I've been busy with other stuff.

This summer I'll be working full-time on my Google Summer of Code project, so this fall would be the earliest I could start up again on the writing assignment module. I commented above that I started a rewrite -- this is about 1/4 finished -- does anyone want to take over the code? I'll definitely invest the time to get you up to speed on my ideas and code. I'd love to see the module finished but just don't have time right now.

Any takers?

--Kyle Mathews

Kyle Mathews

Drupal in Education

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: