During this past SIGCSE, I was involved in a couple of discussions about how one finds CS teaching materials on the web. At one point, the conversation turned to how one goes about
publishing these materials.
The background for this discussion was
base-sixteen.org - a website that I'm working on to catalog (and organize, somewhat) the CS teaching resources that are available on the internet. The question was whether or not this should be a "catalog" (with links to resources that were hosted elsewhere) or a "repository" (which hosts the material on the same site).
There are pros and cons to each approach:
- Because a repository keeps a local copy, the resource will still be available even if the original site goes away. However, this local copy will be out-of-date if the original site is updated (unless the repository is updated as well).
- A catalog has the opposite problem. It will always point to the most recent version, but if the site goes away then the resource will no longer be available (unless it was cached elsewhere).
There are other issues as well, such as whether or not a repository has the legal right to host some material, but the main concern in this discussion was for dealing with materials that are here-today, gone-tomorrow.
This is a particular problem for things like syllabuses and lesson plans because these materials are often hosted on a university (or college, or high school) website which is managed by someone other than the instructor creating the materials. When the new school year rolls along, the webmaster might decide to clean out all the old "outdated" files. Even if the teacher is in control of their part of the website, when they move on or switch schools the materials will go away with the person (hopefully to reappear somewhere else, but the link is still dead).
There are a number of different approaches for dealing with this, but I was interested primarily in the "webmaster deleted my files" problem because this is something that can usually be avoided by simply publishing the documents on the web yourself.
Of course, creating a website to host a few documents is way too much money and work, but there are far easier (and free!) ways to be in control of your published documents. Companies like
DropBox and
SpiderOak allow you to host and share documents in the cloud, or you could publish directly from web-document editors like
Google Docs.
I created a small document that summarizes some of the ways you can publish your documents on the web:
https://docs.google.com/document/pub?id=1QRBBrU9ac8A0SSkhx0HKTtvj21Ja-ynMetY2rj_0hcQ
(Isn't that a great URL? Well, that's one of the downsides of having someone else host your material ^_^)
It's published as a Google Doc (rather than in this blog post) so that I can edit and update it as I discover new services. If you have a preferred way of publishing that I don't mention, please let me know so that I can update the document.