Study-Unit Description

Study-Unit Description


CODE DLT5401

 
TITLE Smart Contract and dApp Programming

 
UM LEVEL 05 - Postgraduate Modular Diploma or Degree Course

 
MQF LEVEL 7

 
ECTS CREDITS 10

 
DEPARTMENT Centre for Distributed Ledger Technologies

 
DESCRIPTION In this unit students will be exposed to issues of distributed ledger technologies (DLT) and their applications in real life. This unit will cover different smart contract languages and platforms which may include Ethereum, Hyperledger, Cardano, Neo and any other smart contract platform.

The following main topics will be handled in the study-unit:

- Introduction to distributed ledger technologies, how they enable smart contracts and opportunities brought about with this technology;
- An introduction to smart contract platforms, an overview of how they are implemented and related concepts including: a one world computer, virtual machines, and contract structures;
- Smart contract language features;
- Blockchain and DLT specific features;
- Interacting with smart contracts;
- Testing smart contracts;
- Deployment and debugging tools;
- Practical sessions demonstrating the design and implementation of various smart contracts;
- Error, security and privacy considerations;
- Handling of cryptocurrencies;
- Smart contract design patterns;
- Off-chain supporting web based decentralised application (dApp) development;
- Public and private based DLT systems;
- Overview of different programming models and systems.

Study-unit Aims:

- The aim of this unit is to provide students with a more detailed understanding of distributed ledger technologies and the programming of smart contracts and related decentralised applications.
- The students should be able to understand the different forms of smart contract approaches and select an appropriate one for a given use-case.
- In addition, given the risks inherent in smart contracts, an emphasis will be given to appropriate design of smart contract solutions and building in required safeguards necessary in the particular technology.

Learning Outcomes

1. Knowledge & Understanding

- Given a distributed ledger architecture the students will be able to demonstrate a smart contract definition in such an architecture;
- Students will be able to compare different solutions for public and private ledger technologies and explain and justify the ideal choice for a particular use case;
- Given a use case, students will be able to report and justify appropriate a smart contract solution and functionality;
- Students will be able to analyse and report potential vulnerabilities of a given smart contract and propose appropriate design measures to minimise such vulnerabilities.

2. Skills
By the end of the study-unit the student will be able to:

- Discuss and critically analyse different distributed ledger techniques and smart contract platforms and the trade-offs inherent in them;
- Identify scenarios where the different types of techniques are best suited;
- Design smart contract solutions appropriate for a particular problem;
- Set up their own smart contract platform and related decentralised application.

Main Text/s and any supplementary readings:

Main

- Song, J. (2019). Programming Bitcoin: Learn how to Program Bitcoin from Scratch: O/Reilly.
- Antonopoulos A. M., & Wood, G. (2018). Mastering Ethereum: Building Smart Contracts and DApps: O'Reilly.

Supplementary

- Introducing Ethereum and Solidity: Foundations of Cryptocurrency and Blockchain Programming for Beginners ISBN-13: 978-1484225349

Further research papers of cutting-edge smart contract programming languages will also be given to students.

 
STUDY-UNIT TYPE Lecture and Independent Study

 
METHOD OF ASSESSMENT
Assessment Component/s Sept. Asst Session Weighting
Assignment Yes 20%
Assignment Yes 30%
Assignment Yes 50%

 
LECTURER/S Joshua Ellul (Co-ord.)
Gordon J. Pace

 

 
The University makes every effort to ensure that the published Courses Plans, Programmes of Study and Study-Unit information are complete and up-to-date at the time of publication. The University reserves the right to make changes in case errors are detected after publication.
The availability of optional units may be subject to timetabling constraints.
Units not attracting a sufficient number of registrations may be withdrawn without notice.
It should be noted that all the information in the description above applies to study-units available during the academic year 2023/4. It may be subject to change in subsequent years.

https://www.um.edu.mt/course/studyunit