[Insert project title here]

An Android fitness tracker application. Feedback from the preparation forum was positive, there is enough scope to expand or contract the project as needed. Importantly, it is “substantially within the sphere of information technology”.

Taking approaches from IT Systems Planning for Success (TM353) and an Agile approach from Software Engineering (TM354) meets the requirements. There is a substantial part of the application that needs synchronise with a server, utilising another level 3 module Developing Concurrent Distributed Systems (M362).

What I haven’t decided is the title!

Install Android Studio on Ubuntu

Ubuntu

Android Studio is a great development environment and is available on Ubuntu. I’m using Ubuntu Mate 16.10 “Yakkety Yak”.
 
First install a Java Development Kit (JDK). OpenJDK is pre-installed or you can use Oracle Java 8 (there is a great guide here). I don’t wish to argue over your choice – I need to use the latter (my tutor does). Download Android Studio here. – I extracted it to /opt; ran the installer; and used my home folder for the SDK. If you are using 64 bit, you need the 32 bit GNU standard C++ library:
sudo apt install lib32stdc++6

For Arch you need to enable “multilib” repository:

<code><span class="pln">sudo pacman </span><span class="pun">-</span><span class="typ">Syu</span> <span class="pun">&amp;&amp;</span><span class="pln"> sudo pacman </span><span class="pun">-</span><span class="pln">S multilib</span><span class="pun">/</span><span class="pln">lib32</span><span class="pun">-</span><span class="pln">libstdc</span><span class="pun">++</span><span class="lit">5</span><span class="pln"> multilib</span><span class="pun">/</span><span class="pln">lib32</span><span class="pun">-</span><span class="pln">zlib</span></code>

Virtualisation support is interesting. I read two tutorial and Google’s guide. The former makes reference to command line options not in version 2.2.2. These posts suggest this is a bug, but it may now be default behaviour. First enable that virtualisation in BIOS (check if enabled using “kvm-ok”).

sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils
sudo adduser dougie kvm
sudo adduser dougie libvirtd

This results in an error.
screenshot-at-2016-11-25-21-16-19

Using the system version of libstdc++.so.6 works. Add the following to /etc/environment:

ANDROID_EMULATOR_USE_SYSTEM_LIBS=1

It seems snappy but with no feedback I’m unsure if accelerated.

So I now have a development environment set up for my project. The next hurdle is to choose a title. So far it is a: development project; distributed application; and uses Android.

Developing concurrent distributed systems (M362)

I’ve just started this Open University module. From the module description’s computing requirements:

If you have an Apple Mac or Linux computer – please note that you can only use it for this course by running Windows on it using Boot Camp or a similar dual-boot system.

I started with the OU in 2008 and it’s good to see things have changed – back then it wouldn’t have mentioned Linux at all.

Joking aside things are changing. Algorithms, data structures and computability (M269), which I’m taking concurrently, has Linux software available with instructions on how to install and configure. I can understand why M362 staff would want specific versions of NetBeans and the JDK installed – the forums are already filling up with questions about various incompatibilities and conflicts and that’s just with Windows.

Fortunately the University has a Dreamspark Premium membership – so I was able to download Windows XP and a license key to install in a VirtualBox instance.

Virtual Box running OU software

I hope we continue to see progress with regards to platform neutrality – I’d like to spend more time learning computer science and mathematics and less time worrying about my choice of operating system.

Developing concurrent distributed systems (M362)

Module materials for Developing concurrent distributed systems (M362) just arrived and I’m a little daunted. I completed the now discontinued Object-oriented programming with Java (M255) in 2008 so I think it would be wise to read over the module notes – thankfully I still have them as PDF.

Thoughts on Web Technologies (TT284)

OU

TT284 Web Technologies is a level two Open University module now in its second year of presentation and compulsory on the solutions development pathway of BSc (Hons) Computing and IT (B62). From the module description:

This course will give you an insight into architectures, protocols, standards, languages, tools and techniques; an understanding of approaches to more dynamic and mobile content; and demonstrate how you can analyse requirements, plan, design, implement and test a range of web applications.

Continue reading “Thoughts on Web Technologies (TT284)”

Completing BSc (Honours) Computing and IT

With ten years remaining in my contract and the government’s intentions unclear, I’ve decided to get my finger out and focus on completing the BSc (Honours) Computing and IT (B62). It can use 120 points from four completed modules – M150T175MST121 and M255 as well as 30 points from MS221, which I have already started.

At level two I’m taking two courses on top of MS221 which I intend to study concurrently, so as to be half way through by the end of next year:

  • T215 – Communication and information technologies (60)
  • MT264 – Designing applications with Visual Basic (30)

Leaving 120 points at level 3:

  • M359 – Relational databases: theory and practice (30)
  • M364 – Fundamentals of interaction design (30)
  • M366 – Natural and artificial intelligence (30)
  • TM470 – The computing and IT project (30)