Between this week and last, the final two assessments have been opened for us to view and get started on.

The first is TMA05.  On the surface, this is about online communications, particularly Web 2.0 methods.  In reality, the first section is about creating multimedia presentations and a structured plan to any presentation, and the second section is about giving and getting constructive criticism.  I couldn’t even tell you what the third part was about.  It’s the Sense section, and when I went to set up my folders for TMA05, I found that I’d already set them up and completed the Sense program.  I didn’t remember doing it, but the comments which were in it were clearly my comments, everything worked correctly, and the written portions of the answer even seemed correct.  I haven’t had any alcohol for the last six months or so, so it wasn’t my drunk self chipping in.  I must have done it after a long study session when I was half asleep.  (My drunk self commonly chips in with projects, but it’s typically not so helpful.)

Having already had to do a multimedia presentation for a previous MOOC, I was prepared for this one, and got it down with a minimum of fuss.  (I did cheat, however, by deciding that the module’s outdated and unsupported tool of choice, Picasa, sucked rotten eggs, and used PowerPoint, instead, which still sucks rotten eggs, but for entirely different reasons not relating to it being generally unusable.  The cheating was clearly documented in my TMA, for those worried about it.)  There’s a lot of complaining going on over this task.  Like, a lot a lot. A lot.  Bunch of whiners.  Close your eyes and think of Student Finance England, guys.

Multimedia presentations are the modern world’s version of oral reports: Nobody likes doing them, nobody likes watching them, and nobody likes marking them, but there’s a limited amount of creativity in the world of education, and while it’s a half-arsed attempt at something different, at least it is a little different.

I don’t have the ability to get on with the feedback bit yet.  I’ve had my presentation up for a week, now, and am still the only person in my tutor group with it done.  I have to wait until after two others finish theirs, then catch up to the point where they can critique mine.  Here’s hoping there’s enough criticism to go around come the due date.

The EMA is also TMA06 for this presentation of TU100.  Instead of a 40% passing mark, it’s actually just a 30% pass, so long as my total average for the module is 40%.  If I didn’t submit iCMA57 or TMA05 and got a 30% on TMA06, I’d still finish the module with 73%.  Since TMA06 has 250 marks (with 40 of them being “at large” skills points), I only need to scrape together 75 marks to pass, and a distinction is a bit less than three times that.  The Sense and maths/spreadsheet portions combine for 90 marks, so I could pack the module away if I wanted at this point.

The other 120 marks are spread out over summarising and report writing, study reflection in the context of comparing learning outcomes to employment, and two questions which are really nothing more than regular TMA questions on Block 5 (about database storage and arguing academic points).  I’ve got somewhere in the neighbourhood of 40 marks to blow and still get a distinction, so I may as well give it a shot.  But it’s frankly a bit like what my dad called weeing in a dark suit.  I’ll get a warm feeling, but nobody will really notice.

At the last tutorial I went to, we received an update on the Stage 2 modules for Q62 (and Q67) which are being retired within the next few years.  Some changes are excitingly small, and others are large enough to make me change my plans.

Probably the biggest news is what isn’t changing.  M250 – Object Oriented Java Programming is almost certainly being replaced with another Java module, and might even still be called M250.  This is good news for me, because I was worried after taking the Learn to Code for Data Analysis MOOC on OpenLearn and the news that TM112 included Python that a new Python module would be replacing M250.  I don’t care one way or the other if they teach using Python or Java, object-oriented is object-oriented to me at this point, and the skills seem fairly transferable.  But I’d prefer to have a more mature module than a complete tear-down which would be required by switching to Python.  Hopefully they’ll be able to preserve quite a bit of the existing material and give it a good update in the process.

The largest change is probably happening to the Networking path for Q62.  T216 currently takes 50% of the Stage 2 modules, and is reportedly very difficult.  There are so many great things to study at Stage 2 that I had recently made the decision that I just couldn’t justify the full 60 credits required for it, and so was going to take four programming and developer based modules, instead, and just certify in networking on my own time.

That’s no longer necessary.  T216 is being split into two 30 credit modules, with the first half being taught in Stage 2, and the second half in Stage 3.  Given the effort level reportedly required, this seems like a good idea.  Most importantly, it makes the networking path much more flexible.

It’s not the only module being shrunk, though.  T215, which was the only other 60 credit module in Stage 2, is also becoming a 30 credit module.  The other 30 credits aren’t be replaced, however, as there was apparently a lot of redundancy already with an existing Stage 3 module.  This updates the module and removes the redundancy.

Another largish change is that a new TM254 – Software Engineering module is being introduced.  (Final module code is pending … And everything else, really.)  This includes parts of both M256 and M258, and I imagine replaces both of them … But I’m not entirely clear on this last part.

So here’s the summary of changes:

Stage 1:

TU100 My digital life – Final presentation being taught now, being replaced by TM111 Introduction to computing and information technology 1 (30 credits) and TM112 Introduction to computing and information technology 2 (30 credits)

Stage 2:

M250 Object-oriented Java programming – Final presentation October 2017, replacement also probably M250, or another Java module

T215 Communication and information technologies – Final presentation October 2017, replacement an unnamed 30 credit module

T216 Cisco networking (CCNA) – Final presentation October 2017, replacement TM257 at Stage 2, and TM357 at Stage 3

M256 Software development with Java – Final presentation February 2018, full or partial replacement by TM254 Software engineering

M258 IT project and service management – Final presentation October 2018, full or partial replacement by TM254 Software engineering

Stage 3:

Currently unknown, aside from the addition of TM357 as the second half of the Cisco networking module.

As I’ve said, all this will change my plans.  I had been expecting to take M250, M269, M256 and TT284 (Web technologies, which I think is also just going to be refreshed similar to M250) at Stage 2, and self studying the CCNA.  Now I think I’d like to take M250, M269, TM254 and TM257.  Stage 3 is nearly half a decade away at this point, so I’m not going to worry about it just now.

Completely unrelated, I’ve got my TMA04 submitted.  The topics covered are statistical analysis, creating graphs, determining averages, personal/professional development planning, loops and lists in Sense, and report research & writing.  And probably also referencing.

In US terms, I’d give my report all of a solid C-, but that’s difficult to translate into the OU model.  I also intentionally broke the rules for the PDP section, as I’m not going to lie and pretend the ticky-box method of self reflection is useful for me, so I expect to lose a huge chunk of points for that, but it’s only worth 10 marks anyway.

If it were me grading, I’d take 10 marks off my report, 5 marks off my PDP, none off the Sense stuff, and I’ve probably forgotten 2 marks worth of stuff on the statistical analysis.  Additionally, my tutor seems to take points off the 20 skills marks in direct proportion to marks taken off the rest of the assessment, so that’s another 2 marks off.  All together, I’d score me an 81 on this one.  It makes me wonder how badly I’d have to do in order to fail an assessment.

Edit 2017/2/24: TMA04 results came back last week.  Somehow I scored another 100%.  I can’t really say that this is good news, though, because it highlights how vastly different my expectations are from my tutor’s expectations.  I can’t truly calibrate my expectations with the OU’s until the EMA comes back, but it seems as though there needs to be a large shift.

Edit 2017/4/3: T216 module descriptions now indicate that T216 is being split into TM257 and TM258, both at Stage 2.  As networking once again requires half of the Stage 2 modules, there’s no flexibility to it, and frankly no point to me taking it.  Books off eBay it is!

Edit 2017/8/29: T216’s replacement is now showing as Stage2/Stage3 again.  TM257 and TM357.  Boy do they like change!

The waiting is over, the official launch date is tomorrow, and all my ducks are in a row.  Well, I have no ducks, so I’ve neatly arranged my stationery just so, instead.

I have little to add to my status from the last post.  I did finish with all of Block 1 before the start date, our tutor forums have opened, and nearly all communications with fellow students outside the Facebook group has stopped!  I hadn’t really expected that last one, so it’s just lucky that I jumped into the FB group, even though I’ve stopped using FB apart from that.  The Early Bird Café forum was always going to close before the module started, but I’d assumed that student chatter would migrate over to the students association forum for TU100, instead.  Apparently it’s a bit tough for some to find.  (That site makes my kitchen junk drawer look like a hospital.)

I’ve used that forum to revive another student’s great idea.  (I don’t want to post the student’s name, as I haven’t checked if it should be broadcast all over the internet for no good reason.)  The idea was to have some programming challenges in Sense.  Someone runs into a problem while writing code, finds a creative solution for it, then challenges other students to see what solutions they can come up with to satisfy the same problem.  Students who get stuck can then check the challenger’s code to see what they did.

The original challenge involved adding SenseBoard functionality to a number guessing game, which was awesome.  (A SenseBoard is an Arduino-based input/ouput device for Sense.  They’ve stopped selling them, but the Digital Sandbox for Scratch is the closest I’ve found for it.)

My first challenge involved making a custom score counter of arbitrary digits, which was probably the most difficult part of my Jet Bike Steve game.  In Scratch, I used cloned sprites and a lot of modal maths for the digits.  Sense doesn’t allow this solution, so I have to stamp the digits, instead.  My initial solution used the maths from my Scratch solution, held individual digits in a list, and then stamped the list.

Within one or two hours, somebody had completely bested my design by using string slicing, which I didn’t even know was available in Sense or Scratch!  How did I not know that!?  (Because I hadn’t finished reading the programming guide, I later discovered.)  But once he mentioned he did it without maths, I realised I could split my score digits into a list without any maths.  This next revision of the challenge solution was much more optimised than my first, but still not as slick as string slicing.  But the student who used it is already on his final year of the degree (and probably read the guide at some point), so I don’t feel too bad at being shown up, and I learned two great techniques thanks to him.  And that’s the idea of the challenges.

One reason I felt this was necessary was the dismal state of the Sense Programming Guide that comes with the TU100 materials.  And ‘dismal’ may be generous.  In fact, the fiery hellish abyss of computational programming pedagogy might be generous.

It’s not actually bad, I suppose, as it isn’t wrong.  It just doesn’t fit the brief.  According to a paper presented at a symposium detailing the reasons for TU100 and Sense’s existance (Richards et al, 2012, p. 584), one of the main failings of previous OU introductory programming modules was failure to engage students with experimentation.

What they’ve done is assembled a great tool box in Sense and the SenseBoard, and then forgot to actually encourage experimentation, or put another way, to teach the students how to experiment.

Much of the Programming Guide is direct instructions of which buttons to push.  When it comes for explorative activities, the exercises are only open so far as to find the “correct” answer to a limited scenario.  There are no open-ended exercises of any kind in the guide.  It actively discourages experimentation.

It does, however, go over string slicing, so I didn’t have to discover that on my own.  It was more fun, engaging, and easily remembered that way, though.

Reference: M. Richards, M. Petra, and A. Bandara (2012) ‘Starting with Ubicomp: using the senseboard to introduce computing’, SIGCSE ’12 Proceedings of the 43rd ACM technical symposium on Computer Science Education, pp. 583-588.

As some have said in my TU100 forums, it’s my last week of freedom!  After this, it’s all deadlines and regret.  (Which isn’t a huge lateral step, as it would have been mostly regret if I hadn’t started the degree.)

Before the big start, let’s take stock: Where am I?  Well, mostly I’m done.  Okay, not with the whole module, but I’m on track to being finished with the first block (of six) before the first day of the module.  In a word, that’s terrible!  For oh so many reasons:

  • I honestly didn’t want to get very far ahead.  I was thinking that being about a week ahead would help me smooth out any emergencies that came up.  (I’ve got a wife with a medical condition that sees me in A&E for about twenty hours a year, typically on a Friday night, doing my best to worry more about her being doubled over in pain than laughing at the drunks who can’t keep from sliding out of their chairs, I’ve got a baby who wants to practice parkour before he can walk, and a six-year-old who very commonly needs emergency snuggles.  Unavoidables happen.)
  • I’m kind of running out of things to study.  Problems worth having, right?  But my study habits have proven effective, so the last thing I wanted to do was to destroy them by letting up.  I might not be able to find this steam again for this module if I take my foot off the … Petrol?  Do you guys even have that saying over here?  I’ll settle with accelerator.  I didn’t want to take my foot off the accelerator.  I don’t know how that makes it steam, but that’s what I don’t want to run out of, so acceleratoring it is.
  • What happens if I actually do run out of things?  If I’m “done” by, say, February, but there are little bits and pieces that aren’t available until May, how will I find the motivation to go back and do them?  For example, TMA02 requires you to use TMA01’s tutor feedback.  So before I can put TMA02’s first draft down, I have to have submitted TMA01, waited for its deadline to pass, wait for it to be assessed and marked, and then I can start it.  And then draft, draft again, and then maybe a draft or two.  And then draft.  And finally submit TMA02.  And then wish I’d given it a few more drafts.  But all the material for it will be ages out of mind again.

And keep in mind, all of this is while doing other computer science MOOCs on the side.  Those ones, in fairness, I’m not really giving my full attention.  I’m watching the lectures, I’m doing the activities and exercises, I’m handing in the assessments, but I’m not taking notes, doing extra reading, researching questions I have, or studying them, I’m just doing them.  Like high school.  Just showing up and doing what I’m told.  (I have a nagging feeling that didn’t turn out so well …)

So one solution I’m thinking of is increasing my study intensity.  Which one do I worry about more?  Burning out by taking on too much, or losing interest by getting bored with insufficient materials?

I have a feeling in a few years I’m going to think back on this decision quite wistfully, that my biggest study problem was not having enough to study.

Okay, then, what have I done?

Block one is allegedly about “Myself” in relation to a digital world.  I don’t recall reading anything about me, really.  I may have missed it.  I haven’t been asked my opinion on much, either, except how much more awesome the writing skills of teenagers have become due to digital technologies.  (Err …)

The first part is allegedly about making students aware of the digital nature of our world around them, but is really about making sure we can simultaneously read and think.  Go me!

The second part is allegedly about the history of computers from a curiously narrow context: The four generations of computer hardware, spanning their entire history … From the mid 1940’s to the late 1970’s.  (Also some maths about exponential growth and binary counting.) Really the second part is about taking notes.  (Mental note: NEVER AGAIN WITH THE SPRAY DIAGRAM! IT IS THE DEVIL!) (Mental notes are not covered in this part.)

The third part is allegedly about HTML and markup, but is actually about … Well, no.  It’s actually about HTML and markup.  Well done, guys.  (It also has a critical process for evaluating sources.)

The fourth part is allegedly about how digital communications technologies make the world smaller, but is really about forcing you to play with a terribly dated Java applet that someone is waaaaaay too proud of, that basically amounts to a graphical TraceRT and a minor security violation all in one!  Yay!  (There are other and better tools.  Good luck to all the tutors who have to fight with students to disable their Java security settings!)  There’s a very (very) bad primer on TCP/IP, as well.

The fifth part is part of the programming guide.  The less said about this here, the better.  I’m not a fan.

And the sixth part is … Well, I’m supposed to find out tonight.  It’s allegedly about wireless and mobile networking, but is probably really about … Iunno, maybe someone’s recipe for guacamole.  It’s hard to keep track.

I’ll have to write more about the programming guide tomorrow.  As this is the second-to-last presentation of this module, it won’t really benefit anybody, but my recommendation is to skip it and study a children’s Scratch MOOC, instead.  (See previous blog entries.)

Technically, the first module for my degree course will start 1 October.  But that’s a Saturday.  Who starts anything on a Saturday?  Heck, even weekends start Friday night.

So there are realistically two other dates which combine for a ‘soft start’ to the module, ahead of the 1 October hard start.  These dates are the Module Website Live/Open date, and the date materials are received.  One might think that this would be one or two days after the Materials Despatch date, but often materials seem to be received the day before this date, so who knows.

The website open date for TU100 this year is 6 September, and the Materials Despatch date is 9 September.  Since that’s a Friday, I expect that the materials will probably show up the following Tuesday.  So I’m going to call the Soft Start date for TU100 this year 13 September.  We’ll call that three weeks away.

So what’s happened lately, and what’s going to happen?

Yesterday, our Introduction Forums opened.  They’re rather hard to find, though.  The site they’re on is called “Student Support Forums” allegedly under the Student Planner.  But I can’t actually find a link to the Student Planner anywhere.  That’s one of the major flaws of the OU: They keep coming up with great new ideas, but they don’t remove all the old ideas, so it’s kind of like trying to find your way through a really old London hotel that’s been cobbled together from a few other buildings.  You can’t necessarily get to the next room by walking in a straight line.  It may require you to go back up the hall, take a lift down, over a hallway, take a half flight of stairs to a mezzanine, and then swing across a chasm to the room.

Anyway, don’t lose your link, or you’ll never find your way back to the Student Support Forums.  I think it’s because they’ve opened them before opening our website.

The Introduction Forums have been positively flooded.  There’s several dozen posts already for Computing & IT, and only the Psychology forum comes close to the same number.  And the Psychology intro forum looks like someone’s kicked over an ant hill.  There’s hundreds of conversations all over the place, so I don’t know if it’s lots of different people talking, or the same three creating a new thread every time they have a new thought.  I suspect the former, however, as I’ve read that Psychology had the largest intake of new students every year.

This kicked off a new spate of new Facebook groups. I think that’s really a good thing, though.  Because if each of these groups has a slightly different flavour, it’s going to be easier to find one that works for me and my specific needs.

It also brought up a topic which had been brought up a few times in the past couple of weeks: Sense.  Once again, Sense is the customised version of Scratch developed specifically for TU100.  Our Introduction Forum moderator sort of warned everybody that they’d damage their brains if they downloaded Scratch, and that they’d be risking eternal damnation if they downloaded Sense from the OU before the Official Grand High Link from the Module Website opened.

Which is rubbish.  Download Sense and play with it.  It’s not as good as modern Scratch, but it’s fun.  If you want a more useful language that’s still exactly as simple, download Scratch or use the cloud version.  Heck, download Scratch 1.4, which is nearly identical to Sense except for TU100 specific things.  If you want to know what to do with Sense, search for tutorials on Scratch 1.4.  Or, y’know, wait for the soft start.

Course Title: CS002x Programming in Scratch
Provider: Harvey Mudd College via edX
Price: Free
Level: Introductory (suited to children)
Effort: 6 hours per week for 6 weeks, commencing on a set date
Prerequisites: None
Completion awards: Verified Certificate for USD$49

About the course:
This is not at all a bad course.  It’s well-suited to children, or really just about any ability level.  The children do need to be able to understand a fair amount of logic.  It’s a bit much for my 6-year-old son, even though he enjoys using Scratch.  (His ability level is simply knowing that command blocks are instructions for sprites, and lists of command blocks can be strung together.)

The course is described as a computer science course, but I really can’t feel like that’s justified. It’s a tour of Scratch’s capabilities, but doesn’t often describe theory or reasons for much.  There is an excellent amount of work with iteration, however.  One brief section also compares Scratch to industry standard programming languages, to show how the learning can be applied outside the Scratch environment.

Aside from it using Scratch, there was no prior indication that it was aimed at children, which it really is.  As Open University’s TU100 uses Sense, an off-shoot of pre-1.4 Scratch, there’s no reason to believe that a computer science course which uses Scratch must be a de facto children’s course.  There were plenty of students across many abilities and ages, so the discussion forums were a bit uneven at best.

The tour of Scratch begins with Scratch as the idealogical descendant of Logo incorporating a turtle graphics system.  This was bizarrely effective, because I was able to recall line-for-line programmes I wrote in Logo back in 1986 or ’87 after two weeks of lessons during elementary maths.  I reproduced it with just the addition of colour.

It winds past variables, iteration (as mentioned above), input, sprite-interaction, if-then-else logic, more iteration, functions, external calls, and even implies recursion with sprite clones.  Okay, for me, it took about 10 or 11 hours to get through everything but the final project, but that’s quite a list, and I can easily see it taking a young student a few weeks to get through that all.  But they will get through it all.  It’s all very logically laid out, it’s interesting, fun, and cool to keep them engaged, there are always lots of examples, and the progress made is a great confidence builder.

One confusing aspect is that the course has been adapted from some other curriculum, so it occasionally refers to weeks or other structures not present in the online, self-paced course.  It’s easy enough to ignore, but raises questions of how thoroughly prepared it is.

Two questions you might have for me are why did I take it, and what did I learn.

As stated, TU100 at the Open University, my first degree course module, uses Sense, which is based on Scratch.  Though I’ve played with Scratch before, and been impressed by it, I haven’t done anything in depth with it.  I was unaware of its true capabilities.  In a way, it’s a bit of a tragedy that I did that.

Scratch 1.6 is amazing.  It has functions, clones, lists, recursion … It’s great.  Sense, based on 1.4 or before, does not have clones, has no in-built stack for handling recursion data, and has to use calls for functions.  It appears as though it does have lists, in a custom solution.  I haven’t used it yet, so I’m still not sure.  I’m just lamenting that if I want to do recursion, I’ll have to use those lists to build my own stack.  Every. Single. Time.

And what did I learn?  Plenty!  One of my favourite moments was when I was polishing up my final project, and I wanted a custom score counter.  I searched the Internet for a Scratch solution, but couldn’t find anything that worked the way I wanted.  The closest I found was one which had a pre-set number of digits, with a separate sprite for each digit.  I realised that I could use recursion to call new clones of a single sprite to dynamically create as many digits as I wanted.

Another great moment is when I wanted to re-write a Rock-Paper-Scissors demo to include Rock-Paper-Scissors-Lizard-Spock.  The course wanted an If statement for each of the possible outcomes.  With Rock-Paper-Scissors, that’s just 6 possibilities.  With Spock and Lizard in the mix, it goes up to 15, and that’s already annoying.  So I diagrammed out the possibilities, saw a pattern, applied some modal maths, and realised there were really only three possible outcomes after said application.

So here are a couple of the things I created.  You can look inside any of the programmes to see how I did them, keeping in mind that I was learning as I went, so it’s not always the most logical way in the simpler programmes.

Jet Bike Steve: You Win Some, You Jetsam (Final project) WASD or arrow keys, up, W, or space to fire. 10 points per second survived, 10 points per star shot or collected, 25 points per bomb shot, and 50 points per guided-missile shot.

Derpa Deadfish (a game for my oldest boy)  You can go down, right, or left, but can only float up. Collect worms, avoid sharks (or turn them off), and use the safe-zone pad at the bottom.