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).
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:
Virtualisation support is interesting. I read twotutorial and Google’s guide. The former makes reference to command line options not in version 2.2.2. These postssuggest this is a bug, but it may now be default behaviour. First enable that virtualisation in BIOS (check if enabled using “kvm-ok”).
A list of successful project titles from 2013 provides a good idea of expectations. After TM354 it comes as no surprise that specific and measurable are watchwords. There is no shortage of development projects – several using Android. This is where I want to focus. Titles are more specific than my initial ideas – I need to refine.
I’ve got what I think is a sound idea that builds on TT284, M362, TM353 and TM354 so fingers crossed. Its an integrated system developing an Android app, web app and a hardware solution that utilises near field communication (NFC) and is built on a Raspberry Pi B+.
So far my main issue has been getting back on top of Python. I haven’t used it since M269.
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.
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.
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.
Apparently, that makes my name Dougie Richardson, Cert IT & Comp (Open). I think I’ll skip that.
Next stop is the Diploma of Higher Education in Computing and IT, which is 240 credits (currently I have 120 points completed and 60 in progress, with another 30 point module starting in February if I get a place). I can link MS221 to this qualification as my free choice at level 2.
Its encouraging but it still seems like a mountain to climb – I only hope that the government doesn’t do a Darth Vader and alter the bargain further.