Pre-course work

Hello. Congratulations on enrolling at CodeClan.

Welcome to CodeClan and the introduction to your pre-course work! The aim of the pre-course work is to prepare you for the intensive 14-week Data Analysis course.

This means that before you begin classes, you should:

  • Be comfortable using your laptop for data tasks
  • Have a typing speed that will help you keep pace in class
  • Understand the power of data
  • Have had a first view of the R-language which we will be using throughout the course
  • Remind yourself of any probability you might have once learnt at school


We’ll check-in with you at Meet Your Cohort, but if you have a big blocker stopping you from making progress or any questions, don’t hesitate to get in touch.


Pre-Course work contents

The pre-course work resources are not the course materials that you will use during the 14 weeks. Instead, we have compiled resources we feel will give you exposure to topics and technologies that we will cover on the course in more detail. Learn as much of the terminology as you can before you start the course, as class is very immersive and it will help you in the first few weeks. When completing the pre-coursework, the following is the order that you will tackle the content in:

  • Section 1
  • Section 2
We will cover all of the following topics at some point during the pre-coursework. Specific resources are included under the pre-coursework resources section.

Typing speed

Practicing your typing is very important. An ideal minimum typing speed would be 40-50 words per minute in English. Class can be quite fast paced at times, so to ensure you can keep up, practicing your typing is essential. Practice makes progress! You should test your typing speed and include the result in the form we would like you to fill in at the end of Section 1. If you are having any problems please let an instructor know: we will provide help and resources so you can improve your typing speed.

Computer Familiarity

Your computer is going to be the tool of your trade, so it’s essential that you start becoming comfortable using it. Familiarise yourself with the software you will use on the course (if you are not already), and challenge yourself to learn a keyboard shortcut each day.

Introduction to R

There are a number of languages used for data science and data analysis. During the course we will introduce you to three languages: R, SQL and Python. Most of the programming you do in the course will be in R, so we will introduce you to it in the pre-coursework. R is an open source language, which means it is free to use and you can take it with you into any role at the end of the course. We will use Swirl, a tutorial package available within R, to help you get familiar with both the syntax of the language and RStudio (the tool you will be using to write your code).

Git & Github

All the work you do as an analyst requires careful management to ensure reproducibility. We use tools and utilities to help us manage these files. This gives us a safety net of backups, makes sharing with colleagues easier and helps us speed up analyses. There are many options, but we will use a program called Git. Your laptop will have it installed.

Maths Refresher

The level of maths occurring on the course is roughly equivalent to Standard Grade, GCSE, O-level, Intermediate 2 or National 5. Ideally, you should be OK with:

  • manipulation of numbers (including fractions, powers and negative numbers)
  • numerical reasoning (including interpreting graphs, ratios, proportional change and percentage growth)
  • order of operations (i.e. the order in which you do multiplication, division, addition, raising to powers etc)
  • basic algebra (ideally, solving simple equations and the equation of a line, but this occurs in only a few places in the course and we talk you through it)

However, don’t worry though if some of the topics are unfamiliar: you’ll pick them up as you go along, and we can help you build these skills. Also, you don’t need to memorise how to do these: you will always have access to reference material. General numeracy, interest and a willingness to learn are the most important skills!

Statistics and Probability Refresher

While you don’t need a degree in statistics to become a data analyst, understanding statistics is an important part of many roles. We will study statistics, and the theory of probability underpins statistics, so we would like you to have a reasonable understanding of probability by the end of the course. Don’t worry, we will guide you through everything you need to know, but we include some links to material in the pre-coursework to give you an introduction.

The ability to critically assess numerical data and plots is important, and healthy skepticism is the most powerful tool you can develop as a data analyst. Some of the pre-coursework includes links to get you thinking about data visualisation, interpreting statistics in a meaningful way, and how to skeptically interpret data and plots.

Understand the Power of Data

Data science is a vast and varied field, but it is still relatively new and the terminology is still growing and changing. The pre-coursework provides a summary of commonly used terms and some views on the breadth and importance of data and statistics.


The pre-coursework needs to be completed and we will check-in with you at Meet Your Cohort to see how you are doing and to provide help with any queries or problems. At the end of each section, you need to complete the relevant checklists below so that we can ensure you’re on track:

If you have any issues, responsibilities or commitments that mean you might struggle to complete the pre-coursework, you need to contact us to let us know and we can offer extra support and guidance.

Using Slack

You will use Slack during the course: this is a messaging service we use at CodeClan for communication between students and staff. We will send you a link to Slack just before Meet Your Cohort and give you an intro on the day.

Pre-course Work Resources

Below is a list of resources that you need to use to complete the pre-coursework: what you need to do, and when you should do it by. The pre-coursework is designed to take up roughly twenty hours of study. However, we understand that everyone works at different speeds and may have different home/work responsibilities. Please let the learning support staff and instructors know if you have any problems.

Section 1

Typing Speed

A moderate typing speed is important to follow along with the codealongs in class. 

Computer familiarity

If you are using a mac:

Introduction to R

R is the core language we teach during the course (although we will also cover SQL and Python at points). In order to get you up to speed with R, we ask that you complete the following:

Watch: Intro to R and R studio environment (
Do: Visit

    • You should already have R and RStudio installed on your machine, so we are starting at Step 3. To get swirl running these are the commands you will need to type into the console window of RStudio, pressing return between each command.


    • We want you to start by using a course called “R Programming: The basics of programming in R” course.
    • Do: Within this R programming course complete lessons 1, 2, 3, 4, 5, 6, 7, 8, 9 and 12. We will cover these concepts again during the course so don’t worry if there are gaps in your knowledge.
  • Read: Intro to R and its uses within data (
  • If you have time and want more R, we suggest working through the “Intro to R” module at this site:

Git and Github

Understand the basics of source code version control and why it is used. Don’t worry if you still feel uncertain about git after completing this section, we have lessons covering this on the course.

End of Week 1: Reflection

Learning to code is hard – we know this, and we appreciate that your first introduction to R might seem overwhelming. We also know that returning to a classroom environment is hard, as is deciding to change careers. In terms of supporting your own learning, we suggest that you download this free e-book which steps through the learning cycle you’ll go through as you learn to code:

We also suggest that you keep a note of any of the content you found hard: first, to track topics you might need to focus on more during the course; and second, so that we can gauge areas in which you might need additional help.

Section 2

Maths refresher

If you haven’t done so already, create a login for yourself on Khan Academy.

The maths on the course is not something to worry about. We understand most people will not have a background in maths or statistics, and that you may not have been in a maths classroom in a long time! We will walk you through statistical concepts that are relevant to the course in more detail. However, the following links will provide you with a good refresher (or starting point, if it’s all new to you).

Statistics and Probability

You don’t have to be a statistician to be a data analyst, but you do have to understand how to use and interpret statistics. This pre-coursework will guide you through an intro to statistics, and the core concept they are grounded on: probability.

Don’t worry if you find any of this learning tough – we will revisit the concepts introduced here throughout the course! Keep your focus more on understanding broad concepts than on following all of the mathematical detail. A detailed understanding will come when you start manipulating and analysing data for yourself.

At the end of each video, try to summarise the contents in a series of mental or written ‘bullet points’. Remember to take frequent breaks!

Intro to statistics and their use in data analysis

Data types

Interpreting and Visualising data

Practical Intro to Summary Statistics in R


Extension Work

If you finish the mandatory pre-coursework you may want to have a look at these extension exercises to prepare yourself further.

Command line

Most people interact with their computer using a Graphical User Interface (GUI) to create, move and delete files. On a Mac this is called “Finder”, while on Windows it’s “Explorer”. Some users prefer to use a Command Line Interface (CLI) where they can perform the same operations by typing commands. Both have their advantages: a GUI is generally easier to work with while an experienced CLI user can accomplish the same tasks much more quickly. The links below will demonstrate how to do the basics on each platform, but it’s entirely up to you which method you use during the course.
If you are using a Mac: 
If you are using Windows:

Understand the power of data

If you have time, you’ll find these resources helpful:

Good luck. You are awesome!

Enter a query in the search input above and hit return to see results.

We'd love your feedback!

Did you find what you were looking for?