Course Title: 6.00.1x Introduction to Computer Science and Programming Using Python
Provider: MIT via edX
Price: Free
Level: Introductory
Effort: 15 hours per week, 9 weeks (really 8 weeks and 1 day) — about 120 hours
Prerequisites: Basic algebra, aptitude for mathematics, prior coding experience helpful
Completion awards: Verified Certificate ($49) with at least 55% course marks, and 3 credits “Academic credit” through Charter Oak State College (65% course marks and $100 in addition to the verified certificate)

About the course:
This course is heavy on the “Introduction” and “programming using Python” portions of its title, and somewhat lighter on the “computer science” section, but it does a credible job of each.

It dovetails beautifully with the Systematic Program Design series I reviewed a few months back.  On one hand, this course gives object-oriented context to the basic principles in the SPD course, and provides a great roadmap of what’s next.  On the other, the SPD course fills in a lot of the data structure and raw theory gaps in the MITx intro course, as well as showing recursive design in a much more powerful light.  Taken together, they really feel like solid first steps into really understanding what’s going on under the hood, and how to direct the processes.

This edX course is an updated and platform-specific version of the MIT Open Courseware teachings on the same topic.  I flipped back and forth between the 2011 version and this one for at least half of the course, so some of the specifics I remember may actually be from the OCW course.  It’s difficult to choose a favourite lecturer between Profs. Grimson and Guttag; they both present the lectures with humour and clarity that’s easy to follow.  The bite-sized pieces of the edX course are generally better, but the poor “finger exercise” knowledge checks count against it.

To help students gauge their comprehension of the material, these finger exercises are interspersed between lecture segments.  Often, though, it seems like they’re just there to make busy work, as they’re not checking knowledge that’s useful, they’re just exercises that test nothing so much as your patience.  The worst of these are when they test concepts not in the lectures, which is defended by the TAs as inspiring independent study.  This excuse is somewhat undercut by the text on some finger exercises which states not to get too frustrated with a concept, as it’s explained in a later lecture.  If it’s explained later, then clearly that’s where we’re supposed to learn it, not through independent study, or they wouldn’t ever explain it.

There are so many concepts taught (well) through this course, I really can’t pull out a list.  In general, there’s a lot of coding principles, such as operators and operands, expressions, variables, calls, specific data structures, loops, recursion, conditionals, etc.  Discussion of address pointing supports lessons on mutability and cloning. Functions and objects, heirarchies.  There’s a fair bit to do with abstraction, though I feel this is handled better in SPD.  On the other hand, this course did a much better job of exploring algorithm complexity and costs.

Among the most useful (to me) portions of the course were the problem sets.  These were typically program problems you were let loose on to solve however you wish. Well, that’s how it was on the OCW version of the course.  In the edX version, which grades your programs and therefore has a very narrow interpretation of success, you mostly had to solve the problems how they wished.  It was really frustrating after the freedom of the OCW problem sets, especially when the same problem sets from one couldn’t be used on the other, and one case where the accepted solution technically required a different answer than what the problem description requested.

The required time for this course is way off.  First of all, this is not a self-paced course, and each “week” is released serially.  However, though it takes eight weeks before the content is all dished out, there’s really only six and a half weeks of content.  There’s a two week break between the third and fourth week releases, and the midterm exam is then inserted AFTER the fourth week begins, so it’s not to allow time for that.  Then the last week and a half are likewise empty of content, aside from the final exam.  (The final half week isn’t really useful, feels tacked on to advertise the next course, and falls well short of the OpenLearn data science introductions.)

The time you spend is then split three ways: Time watching the lectures and doing the exercises, time doing the problem sets, and time researching and revising.  If all the problem sets were written lucidly, I’d estimate about 10 hours per week, or about 65 hours.  Poor writing on the problem sets (similar to the above issues with poorly written finger exercises, but with an emphasis on the required solution differing from the requested solution) probably expand it to roughly 12 hours per week, or around 80 hours.  This is very close to the 50 to 80 hours of the SPD course, but I feel the SPD course is more informative of computer science, and less frustrating.

I think if I had it to do over, I’d do the OCW version instead of the edX version, just because it’s easier to evaluate my progress on my own than to have a computer do it.  Oh, the irony.

All of the people with whom I’ve interacted on this journey, both in my first module and on the way to getting there, have been genuine, helpful, and friendly people.  Nowhere is this more true than my tutor group.  Which is a shame, since I can’t find a way to make fun of them.

A couple of weeks before the module started, I logged into my preferred Facebook discussion group (meaning the only one where anybody ever actually talked).  The group had practically exploded with a bizarre new game.  Someone would post a full name and title, like Mr. Edward Nitworth or Dr. Candace Merryweather, and other people would either whole-heartedly agree with said name (“Me too!” or “Yup!”) or completely ignore the thread, and find a different random name with which to agree.  The agreements were occasionally supplemented with a town name.

After about ten minutes of confusion and trying to decide if I was enough of a follower to just post name at random to see what would happen, I finally saw the word ‘Tutor’.  Ah!  We’d been assigned tutors, and people were finding their fellow tutees.

I was pleasantly surprised when I checked my tutor’s name on the module website and then checked back on the FB group.  Most of the half-dozen or so fellow students with my tutor were fairly well known to me, and on par with my activity level pre-module.  I’d hoped that this activity level would continue through to our tutor group.

That … That hasn’t happened. At all.  I have dreams of another tutor group where the students crowd-source help from the other students, and clarity is offered by the tutor as necessary.  Of information from one source not being contradicted twice by the same source. Of a forum that feels in some way more like a virtual learning environment than a virtual bank lobby.

Sadly, that tutor group is not mine.  If I had to, I’d guess that mythical tutor group was in Scotland.  Those guys seem to be having a blast.  And free wall planners.

It’s actually not bad, as I prefer getting my head down and getting on with it.  It’s just much more isolation than was implied in the brochures.  Certainly I think others will have difficulty engaging as a result.  As an example, only three students aside from me have started any threads in our forum.  Only one other student and I have started more than one thread.  Something certainly seems to be missing.  Any hopes that things would pick up after the face-to-face tutorial have gone unrealised.

I worry a bit about the students who are not engaging.  I try to read all of the blogs of students on this presentation (I’m following 24 of them), and a lot of them are struggling with little things.  For many, it’s concepts of binary or base maths.  For others, it’s something much more basic, like where to even begin the TMA.  Everybody struggled a bit starting with those concepts, so we can all help by talking about what helped us.  But nobody’s asking.  All I can do is keep trying to engage, and see who follows suit.  It’s going a bit better on the Facebook forums, at least.

It does remind me of something I saw someone say on The Student Room, though saber if I can find it again.  It was that the Open University was specifically designed so that anybody can start a degree, but that doesn’t mean everybody will finish it.  That just seems such a shame, because I think it’s attainable for everyone.

My first OU (… and TU100) tutorial was last night.  I had intended to go to a face-to-face tutorial for my first one.  The trouble is that my tutor group’s introduction to the module isn’t until about two weeks after the beginning of the module, and I’m about nine weeks ahead at this point.  So online it is!

Now, I’m not going to characterise the tutorial as worthless.  I will, however, say that it held no worth to me.  Or, really, anybody who can read.  Because basically, they just read to us a very few select snippets from the TU100 guide.

And it took. two. hours.  Weeeell … Okay, it took like one hour, and a whooooole lot of dead air between tutors asking, “Any questions?”  It may have gone on longer than two hours, but by then my options were to log off or stab my hand to alleviate boredom.

The tutors were able to add value by making pie charts that added visual data to the written data, so again, great for those who can’t read … Except it was inaccurate.  iCMA 57 is the only Interactive Computer-Marked Assessment which will impact our final score.  It counts for a grand-whopping total of 4%, but the pie-chart listed it at 3%.  I asked for clarification on this and whether or not iCMA 57 must be passed at 40%, even though it only accounts for 3% or 4% of the final score, and they went off to seek clarification.  (They later returned to re-read what I had read them, and clarification was not achieved.)  I’ll talk about the iCMAs a bit later, but the student reaction to them has been kind of disheartening.

There were 36 participants.  I can’t remember if that was 34 students and 2 tutors, or 36 students and 2 tutors.  But the point is, it wasn’t a whole lot.  Or at least it doesn’t seem like a whole lot for the only online introduction tutorial for a module with 2500 students.

There were no tea breaks, which I found unacceptable.  Indeed, it’s entirely possible that my question about iCMA 57 was answered, but I was heating up the kettle at the time.  So apologies if that’s the case.  You know what?  No.  This is tea.  No apologies!

So will I be back? You betcha!  At least to the TMA01 tutorial.  If that’s equally devoid of new content, I’ll be giving the rest of them a miss.  Indeed, I’ve already decided there’s no amount of content worth me hopping on a train or searching for parking, so f2f’s are right out.  Actually, if it involved searching for parking, the entire degree might just be right out.  The OU’s motto shouldn’t be “Learn and Live”, it should be, “No parking required.”