Blockchain: An Introduction for Software Engineers (Online)

Overview

Skills for blockchain-proficient software engineers are in serious demand. Enterprises world-wide and cross-industry are recognising the value that blockchain brings, and are looking for people who can make the next generation of transactional applications a reality.

This course will teach you everything you need to be a good blockchain software engineer. Starting from complete basics, and through a mixture of taught lecture and hands-on tutorial, you will learn:

  • what is a blockchain and why it is important
  • use-cases that can benefit (and have benefited) from blockchains
  • the technical concepts that underpin blockchains
  • how to design and implement blockchain applications
  • how to create and manage blockchain networks

Blockchain - also known as distributed ledger technology - is setting out to provide the foundation for the next generation of business-to-business applications. 

Taking this course will equip you with the career enhancing skills needed to help you move into this fast-developing area of technology.

Intended Audience

This course is intended for anyone with a technical interest in blockchain. It is particularly relevant for computer science / software engineering professionals seeking to enhance their blockchain skills.

There are no formal pre-requisites for this course, however it is targeted at those with a technical background as it includes discussion of basic computer science concepts and contains (fully guided) programming in JavaScript and TypeScript.

The course will focus mainly on the use of distributed ledgers in business scenarios, and not on the use of (and investment in) cryptocurrencies.
It will look at a range of different blockchain frameworks, with a particular emphasis on technology from the Linux Foundation Hyperledger project. This is an open source collaborative effort created to advance cross-industry blockchain technologies. Tutorials will focus mainly on Hyperledger Fabric for the blockchain ledger implementation.

Programme details

The course consists of six, 90 minute online lectures, and six self-paced labs that each take between one to three hours to complete.
The labs can be taken at your own pace between the taught sessions.

In order to complete the labs, you will use the VS Code editor. This must be installed on your own laptop or home computer.
Software requirements for VS Code are listed here: https://code.visualstudio.com/Docs/supporting/requirements

Course Delivery

This course will run from 15 – 26 March 2021, with online sessions delivered at 12:00 – 13:30 (UK time) on Mondays, Wednesdays and Fridays.

Session dates:

  • Monday 15 and 22 March 2021
  • Wednesday 17 and 24 March 2021
  • Friday 19 and 26 March 2021

A world clock, and time zone converter can be found here: https://bit.ly/3bSPu6D

Lectures and self-paced labs 

Lecture 1: What is Blockchain?

This online series will start by covering the context behind blockchain and understand why it is important. You will be taken through some of the problems that organisations face that are relevant to the adoption of blockchain, and how the technology solves those problems.

Self paced 1: Using a Blockchain

By experiencing a blockchain application from a user’s perspective, this lab will help you to understand the importance of the business network and the benefits of using distributed ledger technology.

Lecture 2: Status, Technologies and Use-Cases

This section of the course will focus on the status of blockchain in 2021, including what they can do and key trends.
We’ll look at the range of blockchain technologies and how they vary, including private vs. public, permissioned vs. un-permissioned and the use of traditional assets, crypto-assets and tokens.

Self-paced 2: Choosing a Blockchain Use-Case

In this session you will consider good blockchain use-cases and form a proposal for a relevant problem that might be applicable for a blockchain solution.

Lecture 3: Designing Blockchain Applications

Effective planning of a blockchain system is critical, and this session goes through the initial set of things you need to consider.
Here we will cover the steps for designing a blockchain system, from choosing the right use-case to ensuring that the assets, business network and transactions get modelled efficiently.

Self-paced 3: Modelling a Blockchain Application

This will be an opportunity for you to create a model for a blockchain application, deciding how the various components can be described programmatically.

Lecture 4: Blockchain Technical Concepts

With our use-case modelled, we will now start diving into the blockchain technology itself, starting with a discussion of the computer science principles that underpin blockchain.

We’ll look at the data structures that typify all blockchain implementations and the different algorithms for implementing consensus between the nodes on the network.

Self-paced 4: Creating a simple blockchain

In this fully-guided lab you will implement a simple blockchain in JavaScript.
In order to complete this lab, you’ll need to install a copy of the free VS Code editor (https://code.visualstudio.com/).

Lecture 5: Hyperledger Fabric Introduction

Creating a blockchain from scratch is not really viable, but luckily there are well established blockchain implementations that are freely available. In this session we’ll look at a commonly used blockchain that is commonly used for private, permissioned networks - the Linux Foundation’s Hyperledger Fabric. We’ll look at key concepts and components, and how to build a network.

Self-paced 5: Development tutorials

It is possible to use a VS Code extension to develop Hyperledger Fabric applications and smart contracts, and this is complemented by a set of comprehensive tutorials that help developers get started. In this session you will use these embedded tutorials to learn the basics of Hyperledger Fabric development and create your first application.

Lecture 6: Blockchain Architectures

From smart contracts, client applications and integration tools, blockchain solutions consist of several distinct assets that need to be properly built. In this session we’ll look at the systems architecture into which blockchain assets can fit, tools for managing the blockchain and the organizational roles that make a blockchain solution endure.

Self-paced 6: Joining a network

Additional tutorials are available that guide users through the process of joining an existing blockchain network and managing the components that comprise their view of it. In this final session you’ll be invited to complete these tutorials and round out your knowledge of the development process, giving you the tools and skills you need to continue your blockchain journey.

Certification

Participants who attend the full course will receive a University of Oxford electronic certificate of attendance. 

The certificate will show your name, the course title and the dates of the course you attended.

You will be required to attend all of the live sessions on the course in order to be considered for an attendance certificate. 

Fees

Description Costs
Course Fee £995.00

Payment

All courses are VAT exempt.

Register immediately online 

Click the “book now” button on this webpage. Payment by credit or debit card is required.

Request an invoice

If you require an invoice for your company or personal records, please complete an online application form. The Course Administrator will then email you an invoice. Payment is accepted online, by credit/debit card, or by bank transfer.
Please do not send card or bank details via email.

Tutor

Matthew Paul Lucas

Tutor

Global Blockchain Engagement, ‎IBM

Matthew Lucas, MSc BSc FBCS, leads IBM's enablement and education initiatives for blockchain.

He is responsible for ensuring that clients, business partners, students and IBMers understand blockchain technologies and apply them correctly.

Matt authors much of IBM's blockchain material, including presentations, tutorials and courses, and regularly lectures at a wide number of universities world-wide.

He is based in IBM’s Hursley development laboratory in the United Kingdom and has worked with IBM for over 20 years on a variety of integration middleware technologies.

Application

Please use the 'Book' or 'Apply' button on this page. Alternatively, please contact us to obtain an application form.

IT requirements

This course is delivered online using Microsoft Teams.

To participate you must be familiar with using a computer for purposes such as sending email and searching the Internet. You will also need regular access to the Internet and a computer meeting our recommended minimum computer specification.

It is advised to use headphones with working speakers and microphone.

In order to complete the labs, you will use the VS Code editor. This must be installed on your own laptop or home computer.
Software requirements for VS Code are listed here: https://code.visualstudio.com/Docs/supporting/requirements