## MST124 TMA01 and TM129 Block 1 (Robotics)

I submitted my TMA01 quite early for MST124.  I’m really fond of my chances with it.  I’ve gone over it a few times and have a few questions about presentation, but over-all, it’s good.  That’s the advantage to TMAs on a maths module: There’s usually only one answer.  You can be certain of at least getting that part right, and worry about presentation separately.

As stated earlier, I’m using the Microsoft Word Equation Editor to present my maths work.  This makes it easier to do the non-maths portions of the TMAs, and will make it easier for me to include maths in TMAs in non-maths modules.  The only thing I don’t like so far is that fractional indices are presented vertically instead of horizontally, so I have to manually change those before submitting the TMA.

MST124 TMA01 has a portion about simplifying and rearranging algebraic functions, a portion about how to present work (it seems geared to responses to “story problems”, mostly), a section about solving and graphing linear equations, a section about solving and graphing quadratics, and finally a token portion showing that you can use Maxima.  I’m satisfied with the work shown on all sections, and with the answers.  I’m potentially nervous about the level of detail used in the portion about presenting work, but I’ve done about as well as I can without knowing exactly what they’re looking for.

The only thing that really bugs me about the TMA is that it’s a requirement to hand-draw the graphs.  I’m okay doing it, and I know why it’s necessary.  But I’m a perfectionist, and I had to draw those graphs about fifty times each.  I avoided graphing paper as I’d been warned about scanning it in for TMAs, but next TMA I think I’m going to ignore that advice and just submit it on graphing paper anyway.  I can’t imagine an actual deduction so long as I make it all clear.

Anyway, I normally strongly hedge my expectations for TMAs, but I’m hoping for at least a 95 on this one.

I’ve also done my first iCMA (iCMA41) for MST124.  It covered just algebra and quadratics, and didn’t take too long.  I missed a question because when I was double-checking a surd I’d simplified, I second-guessed my answer.  Still, I think it’ll land me with a 90, and it’s only worth 2% of my OCAS anyway.  And let’s face it, that’s probably the highest iCMA I’ll do.

TM129 has been a major shock for me: The shock is how much I’m enjoying it.  Most of all … I love the ePortfolio!  I was dreading it, but it’s fantastic.  It’s basically carte blanche to show how much I learned, or how deeply I understand something.  They only require a few minutes each, but I’ve been spending up to a couple of hours on them, because they’re just that fun.  They’re like mini-TMA questions, and when it comes down to it, I think I enjoy doing TMAs.

I’m keeping the ePortfolio write-ups as brief as I can, but I jam a lot of information to a few short paragraphs.  On one, I researched articles on the OU Library for a well-rounded answer, rather than the guess the activity asked for.  On another, I resolved the robotics problem put to me, and then resolved all possible similar problems, by altering just a single line of code.  It’s really empowering to stretch your wings and see just how much you can actually accomplish when the parameters aren’t so narrow.

I’m about halfway through TMA01 for TM129, which makes sense as I’m also about halfway through the first block.  As I’m learning the most on the ePortfolio activities, that’s where I’m spending the majority of my time.  I’m starting to get into some psychology in the module that I haven’t been exposed to in MOOCs that I’ve done, so it’s nice to be exploring new areas.

Overall, I’m very happy with both modules.  I’m about to get into some more difficult areas in MST124, and that’s knocking my motivation back a bit, so I’ll have to put some ePortfolio activities to the side until after I can struggle through that.

## Last week of prep for 2017

Six years is a long time to work on anything.  I’ve only had one job which lasted longer than that.  (In fairness, so did my dad … Since he only ever really had one job.)  But it’s a bit of a rush to realise I’ve only got four more final prep weeks ahead of me.

How’d it go this year?  I took many fewer MOOCs, but learned much more.  This summer’s work has been worth well more than twice what I’ve been through with TU100 so far at the OU.  Computer science and object-oriented programming were covered in far more depth than just introductions, abstract program design was probably at introduction level (possibly a bit lower), and my mathematics refresher was very strong: It seems to have covered all of MU123.  And all of it was free!

I’ve also gotten cosy with this year’s modules.

For MST124, as I said, my Khan Academy prep seems to have taken me through everything I would have been exposed to in MU123.  Additionally, I’ve worked through the “boot camp” for MST124 (a series of practice tests and live/recorded tutorials reviewing pre-MST124 maths), and the first two units of MST124.

MST124 is unique compared to other modules I’ve been exposed to or heard about at the OU: They recommend you open your books and start going through the material as soon as you get them.  They know that this stuff is difficult for some people, and give us as much time to get through it as possible.  So even though I’d planned on only getting a week ahead with my study, I’ve done as recommended, and am three or four weeks in.  It’s going really well so far, with only some silly and redundant trigonometric concepts giving me pause.

For anybody considering MST124, here’s my recommendation for preparation: Don’t bother with the “Revise and Refresh” learning materials: They’re rubbish.  But use the quizzes to check your level, and definitely do the tutorials, at least the recorded ones.  For any gaps the quizzes turn up, use Khan Academy.  Or your favourite YouTube resource that explains to your learning style.  (The actual MST124 materials are fantastic, though.)

I’ve even rattled off my first TMA, which I’ll talk about in a different post.

For TM129, there’s not really much prep work for me to do.  TM129 used to be three separate 10 credit modules which have been grouped into a monolithic 30 credit module.  These previous modules are preserved in TM129’s three blocks: robotics, computer networks, and Linux.

The second two blocks don’t need much explanation: I work professionally in both of these fields at a level higher than that covered in the module, so there won’t be much for me to wrap my head around.

I’ve only been through the first week of the robotics block, but it seems I’ve inadvertently had the perfect preparation for that: the Begin Robotics MOOC presented by the University of Reading on FutureLearn.  A lot of the same material is covered, with the academics stripped out of it in the MOOC.  It looks as though the MOOC went into more depth into cybernetics, but I’ll know more later.

So that takes care of the TM129 content, but not its processes: The reports, the studying, assignments … the ePortfolio …

Well, I’ve done prep work for all of that, too, already: It was called TU100.

## TM129 Early Start: TMA00 and exploring the ePortfolio

My TM129 materials finally showed up yesterday.  I’ve already described the box contents, there was nothing unexpected.  I’ve had fun re-reading I, Robot though.

TM129 has one TMA for each of its three blocks, but they won’t be visible to read until closer to their due dates.  (My experience on TU100 tells me that it’s possible the module team isn’t done writing them, yet.)  I gave TMA00 a glance, expecting it be along the lines of write something about why you’re taking the class, and make sure you know how to zip and upload.

On the one hand, I was right: Those things are part of TMA00.  But the second half of it wants us to explore the ePortfolio.

TM129’s ePortfolio is nominally a record of your learning on the module: Activities that are somewhat more involved than practice exercises, and somewhat less involved than TMA questions.  After completing them, you’re asked to discuss the activity, particularly focusing on what skills it demonstrates and what avenues of study it opens up.  The pitch is that you could even show it to prospective employers to show them how much you’ve learned! (Pro tip: Never, ever show the ePortfolio to a prospective employer.  Or anyone.  Ever.)

In reality, the ePortfolio appears to be a tool meant to tie your study to your learning objectives.  And that’s cool!  Because it tells you how to get top grades on your TMAs, EMA, and the module.  The better you can sign-post how your answers match the learning objectives, the better you’re going to do.  In fact, the ePortfolio extra guidance essentially spells out how you can get top marks on your ePortfolio entries and therefore your TMAs.  (It also makes it very, very clear that if you want to half-arse it and just paste a screen shot and a three-line summary, you’re still going to pass TM129.  Welcome to university!)

So how does this fit into TMA00?  You’re asked to make an ePortfolio entry.  Not a fake one, and not a TMA00 specific one.  You’re supposed to read through the ePortfolio and choose any one activity to give a go.  I’d like to shake the hand of the genius who dreamed that up.  It’s a brilliant way to engage the students in A) familiarising themselves with the types of activities contained therein, B) the relative effort levels required, and C) give some thought as to what will be required to complete them.  If they’d asked students to do those things, about a quarter would probably actually spend any thought on it.

I chose an activity from the networking block (of course) and it was something I’d done a million times before: Diagramming my home network.  The trouble with this (and I suspect most things in the networking block … and the Linux block … and possibly the robotics block …) is that if I’ve done those things a million times, how am I going to learn anything, and how am I going to tie not learning anything to my learning objectives?  (Without lying, I mean.  I could take the coward’s way out, but there’s no challenge in that.)

I’m keen to see how my tutor responds to my solution.  To paraphrase Kirk, I changed the conditions of the TMA.  I set myself a challenge that yielded the same result as the proferred activity, but did it in a different way than directed.  (I also did it the way that I was directed, just to cover all the bases.)  I then tied the learning outcomes to the self-created task, and wrote about that, instead.  I highly suspect this will work, but I’ll let you know.

(To be clear, though, students are told to discuss the skills and knowledge displayed by the activity, not to discuss what was learned.)

Anyway, it’s not the only TMA work I’ve done this week.  I’ve also done half of MST124’s TMA01.  I’ve decided to use Word for my TMAs, since that’s likely the only place I’ll need to use written maths skills in the future.  I’ve finished Unit 1, and will complete the rest of the TMA after the module starts and I get through Unit 2.

## MST124 early start

Whilst many of my TM129 peers received their module materials yesterday, I’m still (sort of) waiting for mine.  I’m only sort of waiting, because A) the James May show on the DVD is on YouTube, B) I already have an e-copy of the Microsoft Networking Essentials book, and C) the I, Robot book was a favourite of mine in junior high school.  As these are the only three things in the box, I can probably stop worrying.

I’ve looked a bit at the TM129 online materials, which starts on the Robotics block, but I’m not really bothered by it.  My studying will be very similar in style to TU100 (active reading through bullet-point notes, combined with activities stored in a OneNote notebook on the cloud), so while I probably will start the study a bit early, it’s not really necessary.

MST124, on the other hand … I can’t really figure out how to study this.  The first half of the module or so is going to be revision.  (That’s “review” to any other Yanks in the audience.)  I’ve spent a few hours this weekend trying to “study” it, but all I’m really doing is glancing over the descriptions, then working on the activities.  As it’s all review, I haven’t come across anything that I can’t do, yet, so I don’t know what to do when that happens.

I’ve got two weeks to study each unit, more or less, and there are twelve units.  In that time, I need to get through around 100 pages of text, a few hundred exercises (or at least several dozen), possibly sit through a tutorial, and get through either half of a TMA or an iCMA.  There’s probably more than a few exercises in Maxima thrown in, as well.  It’s not bad at all, it’s just not obvious where to put my time, especially when I’ll have to split it with TM129.  (Thank goodness there isn’t much actual learning to do in TM129.)

I think the first thing I’ll do is hope for recorded online TMAs.  If I can watch a recorded online TMA, I skip the roughly 30% of the time that the tutors give over to sitting around waiting for people to work on examples.  I watched two revision boot-camp tutorials this week, and easily saved 40 minutes on each of them by skipping over empty sections, and more time skipping parts not relevant to me.  The only questions I ever ask during tutorials anyway are those to do with policy.  I mostly sit in because I know the tutors will drop TMA-specific hints.

Next, until I get to differentiation, I’m going to work backwards when necessary.  I’d like to do all the activities in the books to make sure there are no blindspots, and because practice is the best way to retain maths skills.  If there is a blind spot, I’ll back up and run through it, encorporating external resources as necessary.

Finally, once I get to and past differentiation, I think I’m just going to wing it.  Read without notes, try exercises, and practice, practice, practice.  Taking notes just doesn’t make sense to me with maths.  The closest I’ll come is following along the examples with a pen in hand.  I may alternate weeks between MST124 and TM129, as splitting days may throw off my rhythm.

We’ll see how it goes.  My intent is to stay one unit ahead throughout the module.  I’ve fallen afoul of getting too far ahead before, and the motivational issues that causes.  It can also make it a headache for revision.

## 17J modules open: TM129 and MST124

The school I work at is in its second week of the year, things are held together with Sellotape and bailing wire and just about functional, so of course I spent most of my morning dodging in and out of the new module sites for TM129 and MST124.

The nearly-default Moodle theme I familiarised myself with last year has been reskinned with a flat theme.  It’s easy on the eyes and extremely usable on mobile platforms, so thumbs up from me.  (Actually, the high level of usability makes the rest of the OU site a bit embarrassing, really.)  Great UX planning.

MST-124 is about what I expected: A solid university course translated to an online medium.  TM-129 is also about what I expected: Chaos and insanity doled out as if to children.  Well, no, that’s what I expected.  It seems to be more like watered down squash.  It’s what you asked for, just less of it in the same sized glass.

MST-124 (Essential mathematics 1) isn’t bad.  It’s an obviously mature module which has honed its methods over decades.  There’s just the right amount of hand-holding (to me) for things like preparing assignment formatting, progressing from unit to unit, checking knowledge, and asking for help.  The ragged screams and buckets of tears from students in years past have obviously not gone unnoticed, and the result is a very logical, almost soothing trip through intermediate maths.

TM-129 (Technologies in practice) is like someone had a dream about being taught the perfect module, but got it a bit wrong when they woke up and tried to write out all the details before the dream slipped away from memory.  I’m sure somebody thinks it’s highly logical, but it’s really a bit weird.

There are three blocks in TM-129: robotics, networking, and Linux.  The only other organisation to the tutelage is by breaking it into weeks.  So there aren’t units, sections, or sessions, as such.  Just Robotics week 1, Robotics week 2, etc.  It’s my first day with it, but it seems difficult to learn the concepts in a flowing way.  Concepts appear to be explored and limited based on time, rather than a balanced or comprehensive understanding of it.

Thankfully, I’m not here to get an understanding of the topics.  As with TU100, I’m here to gain practice in learning.  I can’t see the networking information, as that’s entirely in a Microsoft book that has yet to be shipped (I hope Microsoft Press isn’t as bad as their edX team), but I don’t see any glaring omissions from the other two topics.  They’re only meant to be introductions, so it’s possible they’re as useless as OpenLearn MOOCs, or they could be dead useful.  I probably won’t be able to offer much of an objective view even after the module’s over, due to my familiarity with all three topics already.

Mostly I’m excited that I can study again.  I enjoy the process.

## LaTeX TMA template

Despite what I said in my last post about how difficult LaTeX was to learn compared to how much use I’d probably get out of it … Well, I’d already invested the time in learning it, so why not give it a proper go?

I decided to make a proper template based off the ideas in MST125 Unit 2 (which is available for OU students to view, but they must be logged in).  For any experts out there who are bothered by the methods used, please keep in mind that this was literally my first day with LaTeX.  It gets the job done, and looks pretty … well, prettier.  Some features of the template:

• Put your name, personal identifier, and TMA number in once, and the title section and footer on every page is updated from it
• Typing \section{} will not just give the new section, but type Question # for you, with # being the next section number
• Subquestions are likewise auto-incremented on every \item
• The text font is a Helvetica sans-serif clone, but the maths font is still serif, making it easier to read

Obviously some parts will need to be cut and pasted, or otherwise modified to your needs.  The actual template I’m using, for instance, is slightly different in that it has a multi-line header instead of a footer, and it’s greyed out rather than having a delineation to match my Word template from last year. (Well, it was.  I’m starting to like this template more.)

Anyway, here’s the template I’m using for MST124.  I’m not taking MST125, so I don’t know whether or not this is part of a TMA question in and of itself.  If it is (or, frankly, even if it isn’t), please keep OU academic integrity practices in mind.

\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{enumitem}
\usepackage{fancyhdr}

\def\identifier{F0000000} % change this to your OU personal identifier
\def\tmanumber{TMA 00} % change this to appropriate TMA number or TMA title
\def\presentation{MST124-17J} % change to module presentation or TMA subtitle

\pagestyle{fancy}
\lfoot{\myname}
\cfoot{Page \thepage}
\rfoot{\identifier}
\renewcommand{\footrulewidth}{1pt}

\author{\myname, \identifier}
\date{} % remove this line to have date printed on title section
\title{\tmanumber\\\bigskip\normalfont\large{\presentation}}

\parindent 0pt % remove for paragraph indent
\parskip 4pt % also remove this for paragraph indent

\usepackage{titlesec}
\titleformat{\section}{\normalfont\Large\bfseries}{Question \thesection}{0em}{ }

\usepackage{nimbussans}
\renewcommand*\familydefault{\sfdefault} % remove for serif font

\begin{document}
\maketitle
\thispagestyle{fancy}
\section{} % writes Question and incremental number
\begin{enumerate}[label=(\alph*)] % auto-formats item decoration
\item First subquestion.
\item Second subquestion.
\item Third subquestion.
\end{enumerate}

\newpage
\section{}

\end{document}

## MST124 Materials arrived

Well that was earlier than expected!  I didn’t expect them to ship the books for MST124 out for another two weeks, but they were waiting for me when I arrived home yesterday.

The box is heavy.  My son picked up just one of the books inside and grunted under the weight.  It seems to be about a quarter acre of rainforest in the box.  The box contains:

• MST124 Book A
• Unit 1: Algebra
• Unit 2: Graphs and equations
• Unit 3: Functions
• MST124 Book B
• Unit 4: Trigonometry
• Unit 5: Coordinate geometry and vectors
• Unit 6: Differentiation
• MST124 Book C
• Unit 7: Differentiation methods and integration
• Unit 8: Integration methods
• Unit 9: Matrices
• MST124 Book D
• Unit 10: Sequences and series
• Unit 11: Taylor polynomials
• Unit 12: Complex numbers
• Computer Algebra Guide (about using Maxima)
• Handbook (74 page cheat-sheet you can take with you into the exam)
• MST124 Guide (as “worth while” as every other OU module guide)
• TMA form PT3 for posting assignments (Ha!)
• Specimen exam paper, new for this year
• Contents list

Here’s an “unboxing” photo with a bonus of my study area:

I had a look through the guide, the handbook, and the computer algebra guide, and then searched through they Labyrinth of Hidden OU “Support” Forums to look for anything interesting to do before the site opens.

The first thing of note was that the guide actually encourages students to start as early as possible on the material (literally as soon as they get the books, and before the site opens) and stay ahead until they’re done and it’s time to revise.  Cool!  Finally a module for the hares!

I downloaded and installed Maxima, and will use it as required, but as soon as the module’s over I’ll go back to doing what I used to do: WolframAlpha.  Maxima basically takes the place of requiring everybody to buy an expensive graphing calculator.

Then I looked into typesetting.  I have a lot of conflicting thoughts on the typesetting.  The first is that during the exam, I won’t have a computer to make my work pretty, so I may want to simply practice writing it out by hand for performance sake.  As I browse through the specimen paper, I don’t think this is much of a concern.

So for computer typsetting of my TMAs, I can either use LaTeX or MS Word’s equations.  (Or OpenOffice, I suppose, but I’m intentionally using MS through this degree course.  Another option would have been to use LibreOffice with the TexMaths LaTeX plugin.)  Last night I went through the guides for both.

Going in, I thought that LaTeX would be the better solution, as everybody glows about it.  It’s more work to learn, but apparently worth it in the long run.  In my opinion, the long run would have to be very, very, very long indeed.  It took about five times as long to learn as Word, because in addition to speaking its language for the maths, you also have to build the entire document around it.  Making a decent TMA template would probably take an initial few hours to get it looking as good as Word, with researching all the required functionality.  That said, if I were doing an entire maths degree, or was writing a book or thesis, it’d probably be worth the investment.  It’s absolutely professional quality.

Word, however, was much easier, quicker to learn, and was just barely behind in professionalism.  The only drawback was that the size of dynamic brackets wasn’t as nice as it was in LaTeX.  In exchange, you get to not worry about the rest of the document, easier and more intuitive codes, the ability to avoid codes altogether and instead point-and-click, instant rendering and feedback, and the data is then extremely portable rather than locked in a PDF.  If I need to write equations in another module (as I had to on every TU100 TMA) or elsewhere in life, the Word experience is also more portable.  If I needed complete control and customisation, then I’d probably opt for LaTex, but don’t see that happening in my current life tragectory.  It’s possibly worth it to learn the LaTeX codes, however, as they can be used in the Open University forums.

There are a few pre-module tutorials they’re running through September, and I’ll probably check one or two out, but I’m not that concerned.  After the Khan Academy prep I did this summer, I’m pretty confident already with about half the module.

## So very done with summer break

Something my nine-year-old self would be horrified to hear me utter: Will summer break just end, please?

In addition to being a part time OU student, I also work in education.  Well, okay, I work in a school.  I’m not sure it has much to do with education.  The point is, both my full time job and my part time studies shift considerably during the summer.

For work, I stop fixing small, day-to-day things, and start fixing enormous things that take months.  It’s normally fun, because I get to do a lot of research and learn a lot of things.  However, this summer I’m alone in my department for various reasons, so don’t have time to do any of the large projects, so we’ve outsourced them all.  I mostly keep things running in between looking over the shoulders of consultants.  It’s frustrating, but hopefully this will be the only year.  (Although we’re converting to an academy, so who knows what to expect next.)

For my studies, I transition to MOOCs of personal interest.  This year has been wonderful for that, because I’ve really come a long way both in terms of programming languages and programming design concepts.  But … It’s just small hobby stuff.  And I can’t get involved in big hobby stuff, because I don’t want it to overlap and eat into my OU studies.

Last summer by this time, there was an Introduction forum open, followed by course-specific early-bird forums.  I’m anticipating early-bird forums amost as much as my grandparents used to anticipate catching dinner at Sizzler at 3 PM.  I hope they still have them.  (The early-bird forums, not the early-bird dinner special.  Though if Sizzler’s around when I retire, I’m definitely down for dinners before the school run.)  It seems like a good way to gel the nation-wide footprint of students for the presentation before splitting us off into tutor groups, so that we can bond and feel more comfortable in the FB groups.

But really, I just want to get stuck in again and be studying properly.  My poor nine-year-old self would have fainted by now.

## MOOC Review: Software Construction: Data Abstraction

Course Title: Software Construction: Data Abstraction
Provider: University of British Colombia via edX
Price: Free
Level: Introductory
Effort: 8-10 hours per week, 6 weeks
Prerequisites: How to Code series or Systematic Program Design series (same tuition)
Completion awards: Verified Certificate for \$125 as part of their Software Development MicroMasters course of 6 similarly price modules

I had amazingly high hopes for this course.  In fact, it’s difficult to judge it fairly because of how high my expectations were, which caused the very wide gulf to reality.  I’ll do my best to judge it on its own merits, but can’t help comparing it against UBCx’s stellar How To Code / Systematic Program Design course linked above.

As I started taking the course, I became ever more sceptical (skeptical for the yanks) of the the entire philosophy of the course.  It doesn’t start with theory, and it doesn’t start with academic information.  It starts with what is claimed to be a practical approach, much like learning a spoken language through immersion.  Except that while immersion is necessary for actual fluency, the best foundations of learning that language generally comes first from an academic study of it before the practical use of it.  Had I not just barely completed the mooc.fi Object Oriented programming with Java course, I would have felt frustration beyond measure.  They never teach enough to do useful things, and often only teach the bare minimum to answer a question after they’ve marked a quiz about it.

Beyond the approach, the technique they teach is … Well, it works.  It’s fair.  But students are expected to accept it as a religion, rather than as an education.  Edicts are handed down from on high, and we’re meant to accept them as though a flaming shrub had demanded them.  We’re not walked through the process of why.  We’re not lead to creating these tools in a meaningful way that they can be internalised and remembered, truly becoming a useful addition to our bag of tricks.  We’re just generally warned, “You must use these techniques … Or else!”  I lost count of how many times I quoted Sir Didymous saying, “Well, if that is how it is done …”

The point of this course is a tests-first abstract design of programs.  Define your program as a series of responsibilities, and devise tests for them, then code to your tests.  In my doubt, I had thought that it didn’t really unleash the power of object oriented programming.  And I was right, it didn’t.  But what it did was even more powerful: It allowed you to bring any tools you wanted to the party to get the job done.

Near the end of the course, I doubled back to an earlier project.  I had used the recommended methods to solve a problem, and they were ridiculous methods that utterly discounted both Java’s power in specific and object oriented programming in general.  I wanted to fix that, and re-wrote nearly all the methods.  But I stayed true to the precepts of the course as I did it.  And what I found was amazing.  I’d already done all the hard work.  I changed nearly EVERY LINE of actual implementation, but nothing more.  I didn’t even have to change the tests!  It took twenty minutes to rewrite eight classes, and then not only was it done, but it was tested, and I was completely confident in it.

So the course teaches good things.  It teaches powerful things.  The lecturer is easy to understand and isn’t boring.  But the things it teaches aren’t very complex, and could be boiled down to a thirty minute lecture, and that lecture would still involve the students more in understanding the reasons and therefore making it more absorbable and useful.

If you’ve got 30 to 50 hours to kill, give it a look.  But don’t reschedule anything, it’s just not that vital.  And definitely learn Java first.

## MOOC Review: Object Oriented programming with Java, MOOC.fi

Course Title: Object Oriented Programming with Java, parts I & II
Provider: University of Helisinki
Price: Free
Level: Beginner
Effort: 2 modules, 6 weeks each (by ECTS reckoning, as many as 300 hours)
Prerequisites: None
Completion awards: Free certificates of completion for each module

In short: highly recommended.

This is not a computer science course, but it doesn’t claim it is.  It really is two (nearly) completely different courses.  The first one is about learning Java syntax and semantics, and the second one is about object-oriented programming in general, and some intermediate Java-specific techniques, as well.

It’s also not a MOOC, making their URL ironic.  It’s online, and it’s open, and a lot of people take it, but it’s not Massive Open Online.  It is an online textbook, and a very cleverly written code testing system.  You’re on your own.  Allegedly there’s someone to answer your questions in a few hours on IRC, but IRC users won’t really need the help, and answers to emails might take a few days, but again, you’ll almost certainly be past that “week” by the time you get an answer.  There’s no online community, no forums, no helping each other.  It’s an online textbook, an IDE, and nothing else.

(As there’s no video of anybody reading the book or walking your through its examples, it strongly parallels Open University modules without the support.  If you’re looking for the perfect module to taste what online study is like, this is it.  Imagine this course, but eight months long instead of a few weeks.)

Part I is a tutorial for basic Java usage, and is brilliant.  It’s quick, it’s informative, it’s very accessible.  It took me a week in my spare time, and was blown away at how quickly I picked up the skills with how they were taught.

Part II has a massive jump in difficulty, especially the week-ending challenges, where you’re welcome to use any programming techniques you care to in order to solve the problem, so long as its behaviour is exactly correct.  It highlights what I really love about programming:  There’s only ever one right answer, but there are countless ways to get there.

Being presented by the University of Helsinki, it’s an English course, and the vast majority of the content is very well written.  There are some peculiarities of language, however.  For example, the course keeps referring to built-in classes as made-up classes, which is … pretty much the antithesis of built-in.  So there are a very few minor confusions.

The certificates you get at the end are very clear about what has been studied, and even states that had it been accompanied by the university’s overseen exams, each would be worth 5 ECTS.  For the 10 credits between them, that’s 20 OU credits, and a little less than TM111 or TM112.  I’m guessing it’s not quite that impressive, but it does highlight that it’s the exact course their students take, and it’s definitely fit for purpose.

I’d like to thank Newbie from a comments page for pointing me in the direction of these modules.  They’re everything the Microsoft course wasn’t.  It’s not perfect.  It doesn’t include recursion, doesn’t discuss why one method is preferable to another, and states that abstraction is very important, but doesn’t teach any actual techniques for it.  Still, it’s a coding course, not a computer science one.

A highlight for me was using both NetBeans and IntelliJ IDEA to write the code and interface it with their testing system.  It’s a slick system, and couldn’t really be better.  It’s by far the best automated evaluation I’ve ever seen of checking code, including the one from CS50.  (Also, I enjoy both NetBeans and IntelliJ, and their ability to both prompt and automate things, but found myself working about twice as fast in IntelliJ.  If you have a student email address, do yourself a favour and get a free license for the full version.  If you don’t, at least check ot the community version.)