An Introduction to Docker and Git

Overview

As a tool, Docker is designed to make the creation, deployment and running of applications easier by using containers. Using containers, you can package up an application with all of the parts it needs, such as libraries and other dependencies, and ship it all out as one package. 

Global Information Tracker (Git) is an open-source version control system that allows developers to track and manage changes to source code projects. At a high level, GitHub is a website and cloud-based service that helps developers store and manage their code, as well as track and control changes to their code.

In this course, you are going to learn the basics of the two above-mentioned technologies. The course is designed in such a way that it covers theoretical and practical aspects. Several real-world situations and examples are covered in the course so that you learn how to correctly apply functionalities.

The course is divided into six weeks of Docker and four weeks of Git and Github. There are several hands-on examples and use-cases so that you learn new ideas and apply them. This makes the course enjoyable and highly useful.

Programme details

Courses starts: 17 Jan 2024

Week 0: Course orientation

Week 1: Overview of Docker and its usefulness. How to install Docker on Linux, MacOS and Windows.

Week 2: The difference between Docker and Virtualisation Software. Docker Architecture. Running your first Docker container.

Week 3: Details of differences between Docker Containers and Images. How to create your own Docker Image.

Week 4: Detailed explanation of the Dockerfile, its contents and instructions.

Week 5: Working with Docker Volumes and Creating Data Containers.

Week 6: Dockerhub, Docker Registries and Example Dockerised Web Applications.

Week 7: Introduction to Version Control Systems Git and GitHub. Installing Git.

Week 8: Creating your first GitHub Repository, Uploading and Downloading Code.

Week 9: Creating Git Branches and how to add, remove, and merge them.

Week 10: Pull Requests, Github Workflows and Exploring the User and Repository Settings.

Certification

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.

Fees

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

Funding

If you are in receipt of a UK state benefit, you are a full-time student in the UK or a student on a low income, you may be eligible for a reduction of 50% of tuition fees. Please see the below link for full details:

Concessionary fees for short courses

Tutor

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: https://scholar.google.com/citations?user=KA4HdnkAAAAJ&hl=en. 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

This course aims to introduce the fundamental concepts of Docker as a containerisation technology and Git as a source code management and version control system. 

Course objectives:

  • Learn the fundamental concepts of Docker and Git.
  • Become able to correctly containerise your application and prepare it for deployment to production environment.
  • Learn how to create custom docker image using Dockerfile.
  • Understand Git and GitHub, what they are, and how to interact with them.
  • Understand Git Branches and how to add, remove and merge them.
  • Understand Pull Requests and Github Workflows.

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 example scripts. Weekly interactive online sessions complement the recordings.

Learning outcomes

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

  • understand the two introduced technologies;
  • become familiar with Docker, its power and usefulness;
  • understand Git and Github and how/when to use it.

After attending this course, students will know:

  • how to correctly dockerise their applications and prepare them for deployment in production environments;
  • how to upload/download docker images to/from docker-hub;
  • how to use Github for source code management and version control;
  • how to add, remove and merge Git Branches;
  • how to create and deal with Pull Requests and Workflows on Github.

Assessment methods

Coursework will be set, one piece of which will count towards the award of 10 CATS points. 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

Application

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 enrolment form (Word) or enrolment form (Pdf).

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)