Skip to main content

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.

We’ve also used a variety of things for the code camps. Here are a few.

And then some general resources that I should look at eventually.

As I worked on those lists, I came up with a few more resources that are worth revisiting broadly.

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.