professional learning


Programming and Computer Science

iOS Development, Swift and SwiftUI, Xcode, JavaScript and React, Python, Java

Education & Relevant Experience

University of Southampton, UK

MEng of Software Engineering

2019 - Present

Westminster School, UK

A-Level: Maths (A*), Further Maths (A), Physics Pre-U (D1), Chemistry (A*)

2017 - 2019

Westminster School, UK

GCSE: GCSE: Maths (9), English (9), English Literature (A*), Chemistry (A*), Biology (A*), Physics (A*), History (A*), Chemistry (A*), Computer Science (A*), Electronics (A*), French (A*)

2014 - 2017

Teaching Experience

My teaching experience includes online teaching in areas including Python, Java, and iOS Development. I have a range of experience, including teaching programming from scratch to helping fix and improve university-level coursework. I have also spent the last year teaching Python to three children aged six to twelve and enjoyed introducing children to computing and sharing my passion.
I teach students how to:
- Build a modern iOS app from scratch in Xcode using Swift and UIKit/SwiftUI
- Design and implement your university project and master object-oriented programming in Java
- Get started with algorithmic thinking in a variety of languages: Python, Java, JavaScript and Swift
- Write a state-driven web app with React
- Design an awesome front-end interface for your project

About Andrew G

I've helped several students complete their projects and elevate their final marks by balancing practical implementation examples with detailed explanations of the employed background language constructs. I'm passionate about software. I don't just teach my students how to code, I teach them how to write software in an elegant, expressive, and maintainable way. That means teaching you how to spot mistakes and debug your code, what to watch out for when writing algorithms, and the background theory for why some hard-to-find bugs pop up. After every session, you'll have learnt something new you can use to write better software.

I've always found that it's easier to learn to program if you're excited about the project you're working on. I follow this style by encouraging you, the student, to come to the session with your own project that I can help you with, and if need be, I can suggest new directions in which you can take it. In this way, you're in charge of the session. I'm not just an Educator, I'm an expert whose brain you can pick to answer any question you might have for the topic at hand. There are often many correct answers and incorrect ones, and I'll help you weigh the pros and cons of each possible path so you feel confident in the direction your project is taking. As an Educator, the end goal is to have you leaving your sessions with the ability to write and debug your own code self-sufficiently.