Designing modules for fast, formative feedback

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
mathieso's picture

Hi all,

Like to get some ideas for a set of modules I'm going to (re)implement.

The science

Learning science tells us that fast, frequent, formative feedback is a Good Thing. Formative means the goal is not evaluation of the student, but helping the student learn. So:

  • Students get details about what they did right and wrong.
  • Students are able to resubmit until they get it right.
  • Each exercise is chance for a conversation between student and reviewer.

"Fast" means that submitted solutions are assessed within a day or so. "Frequent" means there are, say, 40 exercises per semester that are evaluated. This work load means that the evaluation system has to be fast and easy for the instructor/reviewer.

Current system

CoreDogs has a system like this. http://coredogs.com/article/feedback-system is a quick description of it. In sum:

  • There are many exercises embedded in a virtual textbook.
  • Student enter solutions into the textbook.
  • Reviewer(s) evaluate the solutions, using an interface that removes every possible click, keystroke, and cognitive context switch. E.g., clickable rubrics for each exercise.
  • Students get feedback, and can resubmit. A conversation builds up, as students resubmit, and reviewers reevaluate.

I wrote several modules to implement the system. They're not great code, but they work. To prove that, I've attached a number of partial screen shots from CoreDogs to this post.

There are other aspects to this, e.g., student progress is evaluated constantly, making possible interesting data analyses. The exercise system makes a natural eportfolio possible. CoreDogs implements that through a "make public" flag students can add to solutions. CoreDogs gives students URLs they can email to other humans (e.g., recruiters), who can see solutions students have made public.

The Grand Plan

Imagine a Drupal distro with a bunch o' modules that helped individuals or small teams of authors write online textbooks based on learning science principles. The distro would include the feedback system, support for deep learning, outcome-based learning (think Learning By Design), and other things.

As part of this, I plan to redo the feedback modules in D7. Changes might include:

  • Improve the reviewer workflow even more.
  • Improve the exercise creator workflow, to make the creating and editing of content and rubrics easier.
  • Improve the feedback reporting system.
    • Add a way for instructors to enter a timeline for their expectations of student progress. Students can compare themselves to the timeline. Instructors could see who is falling behind.
    • Let students compare themselves to each other, as well as the timeline.
    • Add a badge system for students. There is a nascent one already - you can see it in one of the attached screen shots.
  • Integrate with a group system of some sort, so that reports are over the right comparison groups. Use OG? Maybe, maybe not.

Other changes will happen, too, like improving the lesson creation workflow. But the feedback system is central to everything.

Current goal

There are two:

What features should be in the new feedback system?

The above, yes. But the current system has no grading part to it. Other instructors would want that.

What else should be part of the system? What reports?

Architecture

Like to figure out a good architecture for this. For example, there might be separate modules for:

  • Managing groups (classes, sections, whatever)
  • Creating exercises
  • Allowing students to submit solutions in various ways. Text, photos from a cell phone,...
  • Evaluation
  • Reporting
  • ?

They would need interfaces to each other (user interfaces is a separate issue - I'm talking about code interfaces). For example, there might be a standard way of representing a solution:

  • Ref to exercise entity
  • Ref to student entity
  • State - unsubmitted, waiting for review, reviewed
  • Solution history
  • ...

Thoughts?

Does anyone care?

I've done a lot of work by myself on this over the last few years, and will continue. But I don't know if the broader Drupal community cares about it.

I'm interested in everything from general reactions, to ideas for features ("I would like it to...."), to architecture thoughts. E.g., if there are already standards for representing exercises (e.g., SCORMy things), let me know.

Or anything else you'd like to say.

I'm not looking for commitments to help, just reactions.

Thoughts?

Kieran

Comments

Might be a good place to join efforts

btopro's picture

This might be a good place for us to join efforts. I've got a lot of the architecture done for how to structure classes / groups in elms. I'm working on featurizing things currently and these exercises sound like they'd be a great thing to be able to turn on for a course space. The architecture isn't there yet for D7 so either I'd recommend sticking with rebuilding what you've done in D6 around Context / Spaces / Views / CCK / OG / Features. Then once it's setup to work off of that base then porting it to D7 shouldn't be as big a deal.

Just a thought, would highly recommend at least structuring things around Spaces / OG / Features as it sets the stage for a sustainable course architecture long term and could be shared more easily.

Thnx. I'll think about the

mathieso's picture

Thnx.

I'll think about the D6/D7 issue. A D7 feature is the ability to create an entity type in code with just one attrib, an id. Then use the admin interface to add fields, no coding. Views integration, although I'm still working on that.

I haven't made any final decisions, though.

Kieran


Kieran Mathieson
kieran@dolfinity.com

Requirements analysis/use cases

mathieso's picture

A different topic. When you were ELMSing, did you put together a list of use cases, or some other form of requirements analysis?

K


Kieran Mathieson
kieran@dolfinity.com

If you're building a platform

btopro's picture

If you're building a platform I'd honestly still be dev'ing in 6 with an eye towards 7. Drupal commons, open atrium, elms and a bunch of others are all still 6 and will probably upgrade in the next 6 months or so. If you're not writing a lot of custom code i'd say go 6, if you plan on writing a bunch of glue / new modules then might want to consider 7. Depends on your release schedule / if your using this in-house and then contributing or not. I'm in a unique situation with elms because while we use something in-house called elms, the public distribution is a ground-up rebuild of our architecture. We're not currently using the distribution but the plan is to backport UI enhancements / module selection from the distribution, pilot a few courses in the distribution soon, and then in a few months transition to the distribution in a staged manner based on requirements of individual courses.

As for analysis, it's hit or miss as to when we do. A lot of the tools I've built have been based on looking at what I considered a broken process / workflow and suggesting an improvement to it based on building a prototype system. This is where tools like the Outline Designer came from. On the other hand, tools like the Assignment Studio and Open Studio are based on direct requirements gathering from faculty / staff. So it's a mixed bag. The Reaction functionality that I'm working on now is more of somewhere in between where I've heard people describe the need for "commenting" but when they describe it it's something beyond traditional commenting. So it's a mix of formal and informal analysis.

A lot of times I'll throw up a distro or a group of modules in a rough form to get a reaction as to whether or not i'm thinking in the same direction as the "client". That's always proven to be the most successful in talking on the same page about rather abstract concepts like user workflows.

Reaction module?

mathieso's picture

The Reaction functionality that I'm working on now

Is that written up anywhere?


Kieran Mathieson
kieran@dolfinity.com

Outside of my notebook,

btopro's picture

Outside of my notebook, whiteboard, thoughts in my head, and a little bit of packaged feature code no not yet. I hope to have it in the next version of elms. Currently working on a flexible user import feature via feeds (https://drupal.psu.edu/blog/235) then it's back to the other features being functional at some level and working on UX for content creators.

Is building a limited LMS realistic?

mastoll's picture

This thread has me excited and scared.

I'm investigating how I might integrate an existing online productivity tool into my Drupal site and build up LMS-type functionality around it, limiting the use of the system to specific learning-unit objectives. I've just been trying to work through the use case description. The tool exists currently as a very open-ended, creative tool for communicating sequenced content. I.e., students might use it to tell a story, communicate their ideas, present their investigation results, etc. I don't know what platform it's built on, perhaps all flash, so I don't know how I would interface it with Drupal yet. In front of this, workflow wise, would be class set-up, lesson set-up, and student login and selection from multiple lesson options. Then, student work would be available for formative feedback while in progress, submitted for sumative assessment, then either returned for revision or published for general public display. Instructors would need gradebook-like capabilities.

I really appreciate @mathieo's Grand Plan, I can comment on features, and I Care hugely. I would love to make use of such a set of modules. Given that it's not shiny-packaged that way yet, do you have an update on the re-development of your modules?

And, who thinks I'm taking on too much, I who haven't touched my Drupal site in about nine months and who almost never create or modify back-end code (I'm pretty good with CSS and HTML, but not php)?

Progress

mathieso's picture

There's a short story at http://coredogs.com/article/tale-two-students for current project directions.

I integrated fast formative feedback into CoreDogs. It works well. See http://coredogs.com/article/feedback-system for some info, and http://coredogs.com/blog/does-doing-exercises-improve-grades for some pretty graphs. Check the videos in the blog for more on design.

I've started working on http://flippedtextbook.com, to make the shiny packaged version. Working s-l-o-w-l-y. Sign up if you want - email me to let me know you want to mess around with content creation.

Feel free to pass this info around.

Kieran


Kieran Mathieson
kieran@dolfinity.com