Some notes on open educational resources for computer science
This week, I’m in a Grinnell College workshop on Using Open Educational
Resources
hosted by the amazing Liz Rodrigues [1] and the spirit of the
now-departed [3] Rachel Schnepper.
One of our assignments is to gather and reflect on positive and negative OERs [4] for our subject. This musing is an attempt to narrate my experiments. Do not expect a comprehensive exploration of these issues.
There wasn’t a firm definition of OER on day one, although Liz did talk about online learning objects, which she said must be online, interactive, reusable, specific to skills rather than courses, and inclusive of assessment materials [5]. I’m not sure whether or not Liz wanted us to look more generally at OER or more specifically at open learning objects. We’ll see what appears on the sites she suggests.
I started at OER Commons. Their search tool is not encouraging, since I can’t figure out which subject to choose for Computer Science. The options are Applied Science (maybe), Arts and Humanities (nope), Business and Communication (I hope not), Career and Technical Education (not the CS that I teach), Education (nope), English Language Arts (nope), History (nope), Law (nope), Life Science (I hope note; if computers become alive, we’re all in trouble [6]), Mathematics (maybe), Physical Science (perhaps, but Middle Son does keep reminding me that we’re not a Physical Science), or Social Science (nope).
We’ll let’s not restrict the search at all. What do we get? The first
few things that come along are Berkeley’s Structure and Interpretation
of Computer Programs
, which I know to be based on Abelson and Sussman
and Sussman’s book of the same name.
Most people refer to that book as SICP
; it is available as an open
text with a CC-BY-SA [8] license. I love SICP, but it’s not the text
I’d use for our intro course.
Anyway, back one of the instances of the Berkeley
course.
The label [9] says that the level is Community College / Lower Division
.
Um … that’s questionable. SICP is a beautiful book, but it does
require some sophistication. Okay, let’s follow the View Resource
link. Oh joy, OER Commons uses frames. And, um, all I get is a generic
Berkeley Webcast and Legacy Course Capture Content
page. Perhaps
that’s because Berkeley took down much of their online content after
an ADA complaint.
Things are not looking good for OER Commons.
I do know about a wide variety of free [10] CS textbooks and resources beyond SICP. My colleagues at Luther (and elsewhere) have released a nice book on Python entitled How to Think Like a Computer Scientist, which is licensed under a GNU Free Documentation License, and is accompanied by a cool online book platform that I think they also make available for free. Hal Abelson and others have written a nice book on computers and society entitled Blown to Bits, which is available under a CC-BY-NC-SA license [11].
What else is there on OER Commons? Oh, there’s an exercise for high
school students on Solving Playground Network Problems
. It will be useful
for our code camp this summer. But it’s also misclassified: It’s listed
as text/html, but it’s a PDF.
I did discover that OER Commons classifies CS as
Applied Science
. Let’s see what else they have in the CS
subcategory.
Of the first twenty or so results, only The Programming Historian
seems
interesting, and nothing seems relevant to what I teach. Let’s narrow
the search to college-level courses. Oh, I see, there’s no College
.
There’s either Community College / Lower Division
or College /
Upper Division
. Wonderful. The Lower Division stuff focuses too
much on Python. The Upper Division stuff is either the Programming
Historian, Python stuff, or full courses. Nope, not useful. Time
to move on to another site.
What else did Liz suggest? There’s Open SUNY, but that seems to be mostly textbooks.
I have not been all that successful yet and I’ve spent much more time exploring [15] than you’ve spent reading. So let me focus on OERs (or OER-like things) that I already know about. Here are some that I’ve used in the past.
- Michael Hartl’s Ruby on Rails Tutorial in CSC 321. Free, but not open.
- Eric S. Raymond’s The Art of Unix Programming in CSC 282. Creative Commons Attribution-NoDerivs 1.0 license, with the additional proviso that the right to publish it on paper for sale or other for-profit use is reserved to Pearson Education.
- Robert Mecklenburg’s Managing Projects with GNU Make in CSC 282. GNU Free Documentation License 1.2.
- R. Kent Dybvig’s The Scheme Programming Language in CSC 151. Free, but not open.
We’ve also used a variety of things for the code camps. Here are a few.
- Balch et al’s Creative Computing. CC BY-SA.
- Bell et al’s CS Unplugged. CC BY-NC-SA.
And then some general resources that I should look at eventually.
- Paul Graham’s On Lisp.
General resource. Probably free, not open. - Matthias Felleisen et al.’s How to Design Programs, 2nd Edition.
- Matthew Butterick’s Beautiful Racket. Free, not open.
- Shriram Krishnamurthi’s Programming and Programming Languages.
- Jeff Erickson’s Algorithms, Etc.. CC-BY-NC-SA.
- Steven Skiena’s Algorithms Lectures
As I worked on those lists, I came up with a few more resources that are worth revisiting broadly.
- O’Reilly Open books http://www.oreilly.com/openbook/, mostly CC.
- ACM Classics Library: http://dl.acm.org/classics.cfm.
- I should revisit ACM student membership and what Safari access it provides. The books on Safari are not open, but affordability is an issue to consider.
That’s enough on textbooks. Let’s move on to other CS resources. What about ensemble / Computing Portal. I see for now that Search is unavailable. I’ll look later.
CS-POGIL is a very different kind of resource. It’s not learning objects. It’s not readings/videos. It’s POGIL [16] activities for a wide variety of CS courses. Peer Instruction for CS provides another kind of resource. There’s Colleen Lewis’s CS Teaching Tips. I should spend some time on all of them.
The wonderful rabbit hole that is the World Wide Web led me
to Walden’s Paths, which
looks a lot like what I tried to have my first set of Grinnell
research students build, something that actually follows Vannevar
Bush’s model of hypertext
from As We May Think
.
I may have to look at that more [18].
Here’s how I’m seeing OERs, at least for CS. Some OERs are content-based (e.g., textbooks and readings). Some OERs are general tools (e.g., Walden’s Paths). Some OERs are CS-specific tools (e.g., Eclipse). Some OERs are teaching methodologies (e.g., the CS POGIL site). Some OERs are small things, such as images, that can contribute to any and all of these. I seem least inclined to use content-based OERs, but might explore some of the other kinds of OERs.
But wait! I’d like to prioritize accessibility more in my teaching. I should explore content-based OERs for teaching Web accessibility. Perhaps I’ll come back to those in my final report [19]. I might also look at that Programming Historian stuff.
[1] Liz is bravely teaching Tutorial in her second year at Grinnell [2], sat in on CSC 105 last year, hopes to teach it in a future year, and is a future candidate for honorary member of the CS department. She may not be in Becky Yoose’s position, but she’s potentially a successor for Becky’s role as librarian who bridges to CS.
[2] At least I think it’s her second year. I don’t count well at my age. And I don’t know how to count her prior time at Grinnell.
[3] From Grinnell, not from this mortal plane.
[4] OER is the TLA for Open Educational Resource
.
[5] That is, a way for a student or educator to assess whether or how well the student has mastered the desired skill.
[6] Artificial life, or alife, is pretty cool. And I do have a new colleague who studies alife. Maybe CS is a Life Science [7]!
[7] No, not really.
[8] A Creative Commons license that requires that you provide attribution and requires that you share under the same license, but otherwise frees you to do almost anything.
[9] Meta-data.
[10] Often free as in beer, not free as in dom. But sometimes free and open.
[11] NC stands for Noncommercial
[12]. You should know the rest of the
letter pairs.
[12] In contrast, ND stands for No derivative works
[14].
[14] Why do the folks at Creative Commons use North Dakotans as the standard for restrictive use?
[15] And writing up my explorations.
[16] Process-Oriented Guided-Inquiry Learning [17]
[17] Usually written without the necessary hyphens.
[18] I know that I’ve looked at Walden’s Paths before. But it’s been a long long time.
[19] Hmmm … that’s not a bad idea. My final report can be Incorporating
Open Educational Resources for Teaching About Accessibility in CS Courses
.
I know about the UW stuff. Our guest speaker mentioned others.
Original version published 2017-07-11.
Version 1.0.1 of 2017-07-12.