Tuesday, April 22, 2014

Answering some Questions about OER

This week I was asked by a reporter at my school newspaper about Open Educational Resources. I wrote up my responses to her, and figured in the spirit of openness, I'd share them here. The reporter's questions are in bold.  For those who don't know, WAMAP is the same platform as MyOpenMath, and the one that people at my school are more familiar with.

Firstly, what made you interested in creating an online textbook, and was it difficult to do?

The first book I did, for Math 107, came about because I was teaching the course online.  I really hated that my students were paying $150 for the book in a terminal course they really didn't want to take anyway, especially since it is a topics course and I was only using about half the book.  Somewhere around 2008 I moved the homework for the course online in WAMAP, so I wasn't even using the text for homework questions anymore, and that cost really seemed ridiculous.  I figured I could write a decent replacement for the chapters I was using, so I sat down and did it.  I can't remember how long that first version took, but it wasn't too horribly long.  I started using it, and figured I might as well share it in case anyone else would find it useful.  Over the years, I've added several more chapters, some totally by myself, and some by building off of work given to me by other faculty at other schools.  I was able to do a refinement and add some more chapters as part of the Open Course Library grant (described better below).

The second book I worked on together with Melonie Rasmussen, for Math 141 and 142, was connected with the Open Course Library grant from the state community college system.  The grant was technically for building a course using existing open resources, not writing a book, but we couldn't find anything existing we liked, and Melonie and I had always wanted to write a free book for that course, so we figured it was a good opportunity to do it.  That grant gave us each 1 course release from teaching for a year.  The first draft for the book for 141 took me about 6 weeks of 2-3 hours a night at Starbucks, and about the same for the 142 book.  Melonie put in a comparable amount of time revising, adding "try it now" problems, etc.  Luckily, we were able to use existing WAMAP questions for homework - we didn't end up adding exercises to the book for several months.

So was it difficult?  Yeah, it was :)  But the effort we put in meant that other faculty at Pierce, Green River CC, Shoreline CC, UCLA, Scottsdale CC, etc. didn't have to put in that same effort; they could simply take what we created, make any changes they needed to fit their college's course, and start using it.  And that's exactly what's happened.   The 141/142 book has saved students around the country at least $500,000, probably quite a bit more.

Also, do you feel that your textbook works just as well as a print book?

To be clear, open doesn't have to be an online vs. print thing.  Many students do buy bound printed copies of our open text, which is sold in the bookstore, or available on Amazon for $15.  And some students assigned commercial texts decide to buy ebook versions of them.  The issue is really commercial vs open:  $100+ print and $60+ ebook, vs ~$15 print and free ebook.

To the question, I certainly do think it works just as well as a commercial text, though obviously I'm a biased source :)   Luckily I have some data to back that up.  For the 107 book, I only have a little data (about 450 students), but it's shown a steady (but not statistically significant) increase in student success for students using that text.

For the 141/142 text, we compared about 5000 students from Pierce, Green River, and Shoreline using the text in 2011-2013 to about 5000 students who had used a commercial text the years prior, and saw no statistically significant difference in success rates.  I'd love to be able to say we saw a huge jump in success, but frankly, I'm fine with no change since we saved those students $300K in the process.

There's a lot of data out there for other math courses and courses outside math, and all of it seems to suggest that students can do just as well, often better, with open resources than with commercial texts.  I think there are two main reasons:
1) Students have access to the materials day 1, so they're not getting behind on their homework or reading while waiting for their financial aid check to come in.
2) The instructors often have collected and customized the materials to exactly target their desired course outcomes.  This also means the instructor is more connected to and excited about the material, since they have some ownership of it.

Finally, do you feel that OER would be possible for all kinds of courses?
Of course it would be possible, but not everyone has the time or ambition to create a book for the fun of it :)  Happily, a lot of progress has been made in existing open resources, but whether they are sufficient for faculty is a different question.

I generally see that there are 3 kinds of instructors:

The first are the makers - the people who like to create unique learning experiences for students.  These folks are really well suited to OER, and are probably perfectly happy to just not use a book at all.  Particularly in disciplines like social sciences and humanities, I know some instructors have chosen to ditch a traditional text altogether, feeling they can create a more meaningful experience for students by combining readings and articles from a variety of sources.

The second group are folks that want a complete textbook for any of a variety of reasons, often driven by a course that needs a strong reference text.  For them, things have come a HUGE way in the last few years.  When I released by first version of my 107 text, it was one of the very few open texts out there (and one of a very few that would be considered mainstream).  Since then, tons of grant-funded projects have released really high quality OER material for a ton of disciplines.  There are now dozens of courses that have high quality complete open textbooks available, and there are dozens more in the pipeline.  Math now has open textbooks for almost every course.

The third group are folks that rely on publisher materials.  Usually when we adopt a commercial book, the publisher will supply us with complete solutions manuals, test banks, powerpoint slides, online homework systems, etc.  Some faculty rely heavily on this kind of material, and as you can imagine, most open textbooks don't come with this kind of stuff.

We've tried to address some of that in math through WAMAP, an open online homework system for math that can be used with open textbooks.

The open textbook organization OpenStax College got enough grant funding for their project that they're trying to build some of those ancillary materials for the books they're creating, and is teaming up with commercial companies for the online exercises.

There are also efforts, like the Open Course Library and the Kaleidoscope Project, that have worked on developing "complete courses" using open resources, in the hopes of filling some of those needs.  The Open Course Library had mixed results, with some courses being very useful, and some not so much.  The Kaleidoscope Project courses were created a bit differently, with a stronger focus on adoption.  Some of them have been quite successful in adoption beyond the original creators, partly because of the services of the company providing support for the project.  (disclosure:  I've been on leave working with that company for the last year).

Tuesday, March 11, 2014

A Practical Overview of LTI

A Practical Overview of LTI v1.1
Learning Tools Interoperability (LTI) is a standard developed by IMS Global to facilitate integration of learning tools with learning management systems.  At its essence, LTI is a security protocol, built on top of OAuth that provides a method for a secure trusted launch of a learning tool sharing some course and user information from the LMS to the tool.  This post will the basics of working with LTI, as well as explore some practical considerations that arise in various use cases.
Getting Started
At the core of LTI is the consumer key and secret.  These act like a username and password, and are typically agreed on by the LMS and tool via phone, email, or other such process.  When the tool is set up in the LMS, the administrator or teacher will provide the key, secret, and launch URL.  When launched, the LMS sends a POST request to the launch URL containing a number of parameters, including the consumer key and a signature created by OAuth using the parameters and the secret.  When the tool receives the POST, it can use OAuth to verify the signature using the secret, thereby ensuring the parameters were not tampered with or sent from someone not knowing the secret.
The actual process of doing the signatures is laid out well in sample code for several common languages provided by IMS on Google code.
In the POST, the consumer key is sent as oauth_consumer_key
Use Case 1:  LTI as a glorified link
If a tool did not actually need any data from the consumer, and the LTI link is really acting like a glorified link, the tool could completely ignore the key, secret, and POST parameters altogether.
Use Case 2:  Course Level connection
A tool like Tegrity might want to list all the Tegrity recordings for a specific course when launched.  For that, they need to link the LMS course with their local course identifier.  This is done through the launch parameter context_id, which provides a unique identifier from the LMS for the course section.  This parameter is recommended, not required, but is usually sent.  This is often used in combination with context_title, a description or title for the course, and/or context_label, which is a short label or name for the course (like MA151).
To determine if the user should having editing rights, the tool can look at the parameter roles, which provides a list of roles for the user.  Consult the specs or sample code for how to make sense of this field.
If the tool needs to connect LMS users with user accounts on the tool, then the parameter user_id can be used.  Name can sometimes be obtained from lis_person_name_given, lis_person_name_family, and/or lis_person_name_full.   Be aware some LMSs send none of this information depending on link configuration.
Tool Workflow:
  • Use oauth_consumer_key and context_id to look up the course in local DB
    • If found, direct the user into the connected tool resource
    • If not found, create a tool resource, and record the connection in local DB
    • If user accounts are need:  Use oauth_consumer_key and user_id to look up user in local DB
      • If found, login that user
      • If not found, create a new user account, record in local DB, and login that user
Use Case 3:  Ephemeral links
In the previous case, there would normally be only one link from the LMS to the tool.  Some tools, like Etherpad, are intended to be used multiple times in a course, with each link taking the user to a separate Etherpad document.  In this case, there is typically no need or desire for the links to persist (point to the same document) if the course on the LMS is copied.  For this purpose, the resource_link_id parameter can be use.  This ID is unique for each placement of the tool in a course, so can be used to connect an LMS link with a unique item on the tool.
Tool Workflow:
  • Use oauth_consumer_key and resource_link_id to look up link placement in local DB
    • If found, direct user to the appropriate tool page
    • If not found:
      • If the tool is something like Etherpad, where a new link should point to a new blank resource
        • Create a new blank resource, record the connection in local DB
        • Direct user to blank resource
        • If the tool is something like a content reader, with a set of content items that can be linked to
          • Provide a GUI for a user (with instructor role) to select a content item from a list.
          • On selection, record the connection in local DB
          • Direct user to that resource
Use Case 4:  Persistent content links
A tool like a textbook reader, assessment system, or learning object repository may wish to set up links in the LMS which point to a content item on the tool, for which those links will continue to point to the same item if the course on the LMS is copied.  There are two ways to do this, though the specific approach that can be used depends on the LMS.
Approach 1:  Use query strings on the launch URL to indicate the content item.  This approach works in Canvas, Moodle, Desire2Learn, and BlackBoard (see caveat below). 
Approach 2:  Use custom parameters.  These get sent with POST parameters as custom_{name}.  This approach works in BlackBoard (again, see caveat below).  I’m not sure about D2L and Moodle, but it does not work in Canvas.
BlackBoard caveat:  Bb only allows custom parameters or link-specific URLs to be specified when using the “this link is to a Tool Provider” option for web links, and only when the credentials are set up by the instructor.  When a system-wide tool is set up, the options to specify the link or custom parameters is hidden.  Likewise, if a tool is set up using Bb’s tool provider and tool placement mechanism (which adds the tool to the content building menus), URL and custom fields cannot be specified.  This makes it essentially impossible to have a system-wide tool and have persistent content-specific links.
Canvas addendum:  Canvas has an LTI extension called content selection.  Using this, the instructor creates a new LTI tool placement, the tool is called and provides a way for the instructor to select a content item.  The tool then returns a unique URL to Canvas which gets stored as the launch URL.  This provides a way to have a GUI for setting up persistent content links.
Tool Workflow:  (not including Canvas extension)
  • If the tool wants to provide a user-customizable version of the indicated resource, on first launch the tool could make a copy of the indicated resource, and record an ephemeral link placement (with the downside that the customized version will not be retained on an LMS course copy) or some other approach
  • Direct user to the indicated resource
Use Case 5:  Grade return
Tools that deliver assessments may want to return a score to the LMS.  The LMS will indicate it’s willing to accept a score by sending lis_result_sourcedid, which is a unique identifier that the LMS can use to determine both the user and link, and lis_outcome_service_url, a URL the tool uses for sending back the score to the LMS.  The details of the format can be pulled from the spec or sample code.
In Canvas, tool placements are only gradable if they are set up as Assignments and a point value is assigned.
In Blackboard, unfortunately if web links are used for tool launches and the tool credentials are set up system-wide, there is no way for an instructor to indicate that a link is gradable, which is frustrating for tools that need persistent content links.
I have not had a chance to test grade return setup in D2L or Moodle.
Tool Workflow:
  • Record the lis_result_sourcedid and lis_outcome_service_url when the link is launched in local DB, associated with tool resource and user.
  • When the grade needs to be updated, use those fields to return the grade to the LMS
Use Case 6:  Lots of content links
A content reader might want to provide an LTI link for each chapter of the text, or an assessment system might want to set up links for each assignment.  For a teacher to have to create these would be very time consuming and difficult if a list of unique URLs have to essentially be copy-pasted in.
To address this, the Common Cartridge format provides a means for importing LTI links.  The details are beyond what I’m going to go into here, but I will address some of the challenges.
In Canvas, this process works well, though if a system-wide key and secret have already been set up, the instructor will have to delete the tool created during the import process.  Canvas has added extensions to the specs that allow the common cartridge to indicate if an item is intended to be gradable and the points possible.
In Blackboard, this process works fine.  The LTI links come in as web links with the “this link is to a tool provider” option.  Unfortunately, as above, if the tool credentials are set up system-wide, there is no way for an instructor to indicate that a link is gradable.  Even if the tool credentials are set up in the course, there is no way to indicate in the cartridge that the item is gradable or the points possible, so the instructor still will need to manually make those changes for every link.
In Desire2Learn, this process does not appear to work at all.
In Moodle, this process worked when I tried it in Moodle 1.9.  I haven’t tried it in Moodle 2.x yet, nor have I explored the grade return setup.