An Introduction to Programming in R


R is a popular and free programming language. It is easy to install and works on common platforms such as Windows, Linux and Mac. Even if you have limited or no computer programming experience, R is easy to learn. Its applications span various areas such as statistical significance testing, data analysis and visualisations, data processing, manipulation and summarisation. An example is the fact that it is fairly easy to perform MS Excel, or SQL-like operations with R.  In addition, R is a good choice for machine/deep learning, image analysis and processing and much more. This course starts with the basics of R and its syntax and control statements, then it moves on to data manipulation.

In this course you are going to learn the basics of the popular R programming language and how to use it to manipulate data and perform excel-like operations. The course is designed in such a way that people with minimal or no computer programming experience can use it as a foundation to learn more advanced R topics or transfer their skills to other programming languages.

This course begins with the very basics of R and gradually builds up to cover lots of useful functionalities. For example, the course covers control statements and instructions related to decision making and iterations as well as various types of data structures and functions. After this, you are going to learn how to use R to apply several common data processing and manipulation operations.

Programme details

Courses starts: 21 Apr 2023

Week 0: Course orientation

Week 1: R Introduction (includes R installation): R Reserved Words, Variables & Constants, R Operators and Operator Precedence.

Week 2: Decision and Loop: if…else, for loop, while loop, break & next (if time permits: ifelse() and repeat() functions)

Week 3: Functions: What are they? How to write your own Function, Function Return Value, Environment & Scope.

Week 4: Data Structures - part 1: Vectors, Matrices and Lists.

Week 5: Data Structures - part 2: Data Frames and Factors. Slicing, Selection and Filtering.

Week 6: Basic Graphs & Charts: Bar Plot, Histogram, Pie Chart, Box Plot (includes when to use them and how to interpret them).

Week 7: File Reading and Writing: How to read from and save to text files, csv files and excel sheets.

Week 8: Data Manipulation - part 1: Dealing with Missing and Duplicate Values, Sorting and Data Type Conversion.

Week 9: Data Manipulation - part 2: Merging and Joining Data Frames

Week 10: Data Manipulation - part 3: GroupBy and Pivot Tables. Working with Date/Time Data.


Students who register for CATS points will receive a Record of CATS points on successful completion of their course assessment.

To earn credit (CATS points) you will need to register and pay an additional £10 fee per course. You can do this by ticking the relevant box at the bottom of the enrolment form or when enrolling online.

Coursework is an integral part of all weekly classes and everyone enrolled will be expected to do coursework in order to benefit fully from the course. Only those who have registered for credit will be awarded CATS points for completing work at the required standard.

Students who do not register for CATS points during the enrolment process can either register for CATS points prior to the start of their course or retrospectively from the January 1st after the current full academic year has been completed. If you are enrolled on the Certificate of Higher Education you need to indicate this on the enrolment form but there is no additional registration fee.


Description Costs
Course Fee £260.00
Take this course for CATS points £10.00


Dr Noureddin Sadawi

Dr. Noureddin Sadawi is a consultant in machine/deep learning and data science. He has several years’ experience in various areas involving data manipulation and analysis. He received his PhD from the University of Birmingham, United Kingdom. He is the winner of two international scientific software development contests - at TREC2011 and CLEF2012.

Noureddin is an avid scientific software researcher and developer with a passion for learning and teaching new technologies. A list of his publications can be found here: He is an experienced scientific software developer and data analyst; over the last few years he has been using R and Python as his preferred programming languages. Also, he has been involved in several projects spanning a variety of fields such as bioinformatics, textual/image/video data analysis, drug discovery, omics data analysis and computer network security. He has taught at multiple universities in the UK and has worked as a software engineer in different roles.

Course aims

An introductory overview of the R programming language is covered in this course. Students will learn the basics of R and move on gradually to data processing and performing excel-like operations on tabular data.

Course objectives

1. To introduce programming with R.

2. To introduce how to read data from files.

3. To introduce how to perform excel-like operations with R.

Teaching methods

This is an online course so all lectures will be pre-recorded. Students will be given access to any material used in the lectures such as slides and R scripts. Weekly online interactive sessions complement the recordings.

Learning outcomes

By the end of the course students will be expected to:

1. understand R syntax, basic control flow and program design;

2. understand R data structures and how/when to use them;

3. understand how to perform excel like operations with R.

After attending this course, students will know:

• Foundational programming concepts such as variables, iterative statements, conditionals, functions and data structures.

• How to read and write files, how to generate basic plots and visualisations and how/when to use data structures.

• How to perform several excel-like operations such as sorting and filtering data, joining tables and much more.

Assessment methods

The assessment will be a set of ten questions that will enable students to demonstrate an understanding of the material discussed during each week of the course.

Students must submit a completed Declaration of Authorship form at the end of term when submitting your final piece of work. CATS points cannot be awarded without the aforementioned form - Declaration of Authorship form


We will close for enrolments 7 days prior to the start date to allow us to complete the course set up. We will email you at that time (7 days before the course begins) with further information and joining instructions. As always, students will want to check spam and junk folders during this period to ensure that these emails are received.

To earn credit (CATS points) for your course you will need to register and pay an additional £10 fee per course. You can do this by ticking the relevant box at the bottom of the enrolment form or when enrolling online.

Please use the 'Book' or 'Apply' button on this page. Alternatively, please complete an application form.

Level and demands

Most of the Department's weekly classes have 10 or 20 CATS points assigned to them. 10 CATS points at FHEQ Level 4 usually consist of ten 2-hour sessions. 20 CATS points at FHEQ Level 4 usually consist of twenty 2-hour sessions. It is expected that, for every 2 hours of tuition you are given, you will engage in eight hours of private study.

Credit Accumulation and Transfer Scheme (CATS)