How To: Organise your lecture/school notes

TL;DR Your lower school teachers had a point with those exercise books...
Throughout my GCSE, A-Level and University studies so far I've tried organising my notes in a variety of ways. Now, at university, I think I've settled on a way that works for me. If you're still struggling to effectively manage your notes you might find this useful.

So let's get straight into my "method" then. For the purposes of this post I'll talk about notes I take at university but you can easily apply this to GCSE, A-level or anything else you need to take notes for.

To begin to organise a collection of items (each of the pages of notes that you take) you need some way of categorising them. Like most people I know I categorise notes by the module of study they were taken for. At A-level I organised notes based on what module and subject they were taken for and at university I do it based on what module I take them for - not much change there.

The real change came wh…

Thoughts on using Kotlin to teach programming

Kotlin, initially announced in July 2011, is now fast replacing my use of Java for Android development. In this post I'll consider whether Kotlin could and should replace Java as a teaching language option at GCSE and A-Level. Background I first became aware of Kotlin in the Spring/Summer of 2017. At the time I'd just finished writing my first Android application in Java for the AQA A-Level computing project. I became aware of Kotlin because Google had just announced that Kotlin would become an officially supported language for Android development. A few months later, Android Studio 3.0 was released. This version of the IDE was the first to include native support for Android development with Kotlin, although support had been available previously through the installation of a plugin. But why have I begun to use this new(ish) language over good old Java? What benefits does Kotlin bring to the table, not just for developing Android apps, but for teaching procedural…

The Computing Tutor's end of 2017 review

As 2017 draws to a close (GMT), I'll use this post to reflect upon the progress made on the Computing Tutor project this year as well as the progress I've made personally in my understanding of Computer Science. Reflections on the Computing Tutor project Audience growth and retention In July 2016, I began the development of the Computing Tutor project and by the end of the year the YouTube channel was getting 100-200 views/month (November 2016: 163 views; December 2016: 134 views). Now, at the end of 2017, the channel is getting almost 2,000 views/month (November 2017: 1,914 views; December 2017: 1,860 views*)**.

I consider this growth in views to be very good and it bodes well for 2018. I'm not totally sure how much time I'll have to dedicate to the project in 2018. It should be at least as much time as I put into it in 2017 so I hope to see a continuation of the growth I saw this year.

Of course, view count isn't the only metric by which I can mea…

Using Oxford Brookes University WIFI (eduroam) on a Linux machine

I'm keen to promote the use of Linux based operating systems and with the University currently providing no official WIFI documentation for Linux users I decided to write my own unofficial guide*.Note: I have verified that these instructions work under Linux Mint 18.2 at Wheatley and Headington**. Instructions for other distributions will be similar (particularly if you're running a Ubuntu based distribution) but may not be exactly the same as these instructions.
Step 1 Search for and open "Network Connections" from your programs.

Step 2 Click "Add". Then, when prompted to select a connection type, choose "WIFI". Then click "Create...".

Step 3 Enter a connection name into the text field marked "Connection name:" e.g "Brookes WIFI".
Step 4 Enter "eduroam" into the text field marked "SSID:".
Step 5 Click the tab marked "WI-FI Security".
Step 6 You should see a dropdown marked…

Easily detect a physical Android device with a Ubuntu PC

Setting up a Ubuntu machine to detect a physical Android device can be a complex process particularly for new Linux users. Thankfully there's a easy way to do it using this project. Setting up your Ubuntu machine for Android application debugging would usually involve creating something called a udev* rule for your device yourself. However, thanks to the maintainers of the project linked above, these rules have been created for you.

You can check if your device is supported by going to the 51-android.rules file in the project repository and searching the comments for the name of your device.
For example, here's my phone (Nexus 6P):

You then simply have to run the commands listed in the project document under "Ubuntu"**. I've included them as they were at the time of writing below. It's a good idea to check the latest version of README linked above as there's a chance the commands you need have changed.
I spent a long time getting Ubuntu to reco…

How to complete your A-Level coursework and enhance your CV at the same time

I've just obtained an A grade in the coursework component of my Computing A-Level writing it in Java, a language I'd never programmed in before. Initially I was hesitant about taking this approach to my coursework, but with the right support and attitude to the project, it can really pay off. Background I first started learning to code in year 9 using Python 2 on my Raspberry Pi. Towards the end of year 12 I'd spent about 3 years programming in an exclusively procedural style in Python (with a bit of HTML/CSS on the side). This meant when I had to start thinking about my NEA project, I'd only been exposed to a single programming paradigm in one language and had very few interesting options in terms of project ideas.

As I have an Android phone and am interested in programming, I'd thought about learning to write apps for it before. The NEA turned out to be the perfect opportunity to learn a few things involved with doing this:
OOP in JavaHow to use Android Studi…

Want to get ahead in CS? Google has a guide for you

Google's guide to technical development will give you pointers as to what to study outside of your GCSE, A-Level or University course to give you an edge when it comes to applying for jobs in the technology industry. 
In this article I'll look over the recommendations made to students in Google's guide to technical development and how they might apply to a student following a GCSE -> A-Level -> University progression route in the UK. I'll assume that your taking GCSE, A-Level and University CS. Advice my differ if you, for instance, didn't have the opportunity to take A-Level CS.

Intro to CS Google's first recommendation is that you take an introduction to CS course. The content of the Udacity course that they link to will be covered in one way or another in your GCSE, A-Level and Unviersity courses. However taking their suggested Udacity course might not be a bad idea if you either want to get ahead in your studies or want to brush up on the basics for a…