The computer labs in this APTS course, as for other APTS courses, will use R. To make this as simple as possible, it is recommended to use a ‘Github Codespace’ (explained below) which has been created for the course. This enables running an RStudio session through a web browser, which eliminates the variability in personal laptop and University lab computer setups. This is not compulsory, but is likely to make life easier and having a Github account may be very useful to you during your PhD.

In order to be able to do this, you will need to complete at least Step 1 below before the first lab of the course. For your own benefit, I’d recommend also doing Step 2+3 at some stage before or after the course, in order to get the most from Github.

If you want a brief background, I explain the tools we will use below. If you just want to get on with it, skip to the numbered steps (1–3) after the introductory blurb.

What is Git? Git is version control software. The idea of version control is to track changes made to code files over time, creating a historical record of edits, additions, and deletions. Although version control is traditionally associated with software development, it has gained prominence in applied and computational statistics and machine learning research. I would highly recommend you adopt version control in your own PhD projects, because they help with backup, reproducibility and transparency, collaboration, project management and more. It is also a highly valuable skill for future careers both inside and outside academia.

What is Github? Github is a company which provides an online web service to which you can synchronise Git projects (called repositories). However, it has grown to encompass a huge amount of associated infrastructure and tools which are useful for software development. Github provide commercial services, but offer students and academics at UK Universities free access to a “Pro” account, which comes bundled with some excellent advanced services, one of which we will use to make the labs more reliable.

What service will we use? We want to make use of Github Codespaces. This is a service which allows you to launch a virtual server at Github, pre-configured with whatever software you want. You can access this server through any web browser and execute code on the remote machine without needing to mess with more advanced networking features such as you might encounter on a University high performance computing cluster. They are particularly useful to ensure a consistent environment for running and testing code, which is why we want to use them in the lab: it ensures everyone can access a consistent RStudio setup via simply a browser, no matter what machine is in front of you. No doubt you have experienced the nightmare at some point in your studies of University lab computers being incorrectly setup, on old versions of software, or allowing you too few priviledges to install software you need.

Although we will only use Github Codespaces and won’t get distracted by version control and other software development tools, I would highly recommend that if you are working on a computational or applied statistics PhD you become familiar with these tools. An excellent resource to get started with this (and much more) is The Turing Way.

1 Create a Github account

  1. Navigate to https://github.com and click on the “Sign Up” button in the top right of the page.
  2. Enter your University email account. Note, it is important to use this address so that you can receive the free “Pro” upgrade. It is possible to link multiple email addresses, so you can also add a personal email account after initial account creation.
  3. Choose a password and username. Note that the username you choose will be visible against all activity you perform on Github, so choose well! Also, if you for example choose myusername then you will have a profile homepage at https://github.com/myusername (eg, mine is https://github.com/louisaslett)
  4. Continue to complete the human verification, then retrieve the code from your email and enter it to complete account creation.
  5. You can either complete the personalisation questionnaire, or skip it using the rather well hidden link near the bottom (you verifying your student status is a different step, you don’t need to do that here).
  6. If everything has gone smoothly, you will land at your new Github Dashboard, a little like below. Feel free to explore this and fill out your profile README etc if you want to. When ready, proceed to verify your student status.

2 Sign up to Github Education

  1. Visit https://education.github.com/pack and click to “Sign up for Student Developer Pack”.
  2. Click “Get student benefits”.
  3. You should arrive at the screen below. Proceed to select your University .ac.uk email account from the list shown, provide the name of your University (tip: provide the full name, ie “University of X” or “X University” etc), and in “How do you plan to use Github?” you can simply state that it is used for some of the taught components of your PhD (and you may add any other ways you plan to use it).
  4. Github will then attempt to do some location detection to speed verification of your student status. If you have done this from your campus network, it will be quicker, but don’t worry if you are not at the University when you do this: you can still verify but might be asked for additional confirmation, like a photo of your campus student card.

3 Confirm “Pro” status

Once you have completed the above steps, you may need to wait briefly for your student status to be confirmed (in some instances this is super fast, others up to a day). To check that you have full “Pro” status, go to your profile page (remember from above, this is at https://github.com/YourUsername). If you can’t get that to work for some reason, just go to https://github.com and click on the circular button in the top right: Then click “Your profile” Finally, scroll down and if your verification has completed successfully, then under the “Highlights” section of the left sidebar you will have a “Pro” badge displayed, like below. If you reach this point and have the “Pro” badge on your profile, then you’re all set to go!

Make sure you’ve also completed the Preliminary Material.