Free Code Camp

Over the last few years I’ve tried a number of online training sites like Code School and Codecademy and various MOOC courses at edX and Coursera.

Just recently I was introduced to Free Code Camp and have started on their path to Full Stack Development Certification.

The great thing about Free Code Camp is that, towards the end of your certification, it gives you the opportunity to work on real projects for nonprofit organisations. This clear path to applying your studies to real world situations is a great motivation and something a lot of other online courses do not offer.

I’m currently whizzing through the first batch of tutorials, which cover things I’m already familiar with. You can check out my progress here.


Second Android Course Passed With Distinction

I just received my email today confirming that I have passed the MOOC course Pattern-Oriented Software Architectures: Programming Mobile Services for Android Handheld Systems. As I mentioned in my previous posts, Coursera doesn’t currently let you link to your Statement of Accomplishment (unless you pay), so here is a screenshot of my confirmation page:

POSA Course Passed

This is the second course in a three part specialisation on Mobile Cloud Computing with Android. The third part, Programming Cloud Services for Android Handheld Systems, started last week.


New Android Course Begins

The Android course I completed recently (Programming Mobile Applications for Android Handheld Systems) is part of a three-course MOOC specialisation track on Mobile Cloud Computing with Android.

The second course in the series, Pattern-Oriented Software Architectures: Programming Mobile Services for Android Handheld Systems, starts on 12th May. I’m really looking forward to getting stuck into this and learning more about Android. The course focuses on topics such as threading and concurrency control mechanisms, background service processing, local inter-process communication and application security.

The third course, by the way, starts in July and is Programming Cloud Services for Android Handheld Systems. This one looks interesting as, amongst other things, we’ll be using Java Servlets and the Spring Framework.


iRemember App Demo

For the final project of the Coursera course Programming Mobile Applications for Android Handheld Systems we had to develop our own version of an app, based on skeleton files provided to us.  The app was iRemember, which allows you to capture ‘life stories’ by recording audio and video and taking pictures, as well as saving the date and location of events.

Once the project was completed, we were asked to record a screencast of our working app.  You can see mine here. The video shows the app running on an emulated Galaxy Nexus running Android 4.3 (API Level 18), which is the API level we were asked to test on.

For people not involved in this course, the project required us to implement audio, video and photo recording as well as saving to and retrieving from a database. The layout was provided for us and is very basic. We were not asked to change this for the graded part of the project, although it was suggested that we could extend the project by improving the look and feel of the app. I intend to do this and will upload new new video/screenshots when done.




Over the past few months I have developed a real enthusiasm for MOOCs (Massive Open Online Courses).  The choice of courses can be quite overwhelming, although there are useful aggregator sites such as Class Central and MOOC List that can help you narrow down your search for the right subject.

I’ve signed up for a handful of these courses and have created a dedicated MOOC Courses page to keep track of what I’m studying.  At this stage I’m not sure if all the courses I have enrolled in will be suitable for my existing level of knowledge.  For example, some of the courses cover subjects I have already studied at university.  I’m hoping the courses I have selected will provide a combination of revision on new information. The great thing about them is that they are free to enrol in, so it’s easy to drop ones that turn out to be unsuitable.


Computer Science at Harvard

At the beginning of this year, I enrolled in a Computer Science course run by Harvard University on edX.

This is a introduction course and it may seem strange to be taking this when I already have a Masters in this subject. The reason I decided to enrol was mainly as a refresher and to ensure I remembered all the fundamentals before moving onto more challenging stuff. I intend to take more advanced courses soon, or once I have completed this one, depending on how much free time I have.  I see the main benefits of doing this course as:

  • A refresher of C programming, which I have not used much since completing my Masters
  • The opportunity to learn more about web languages, such as Javascript and PHP
  • The chance to meet and study with a large number of other students (something like 13,000 people have signed up for the online course, although I believe the last time this course was run, only a small proportion of that number completed the whole course)

Depending on the content, I’ll post updates for some Problem Sets as I complete them, however I won’t be posting source code at this stage as other people on the course may not have finished them yet.