Writing Smart Contracts


USI Winter School: Writing Smart Contracts (WSC)
Blockchain technology enables the automation of business and finance transactions in an efficient, flexible and trustworthy manner. New and specific skills are needed to fuel this digital revolution. Smart contracts require a distinct way of thinking and a novel programming approach, different from standard procedural programming. 
This course introduces students to the relevant theoretical concepts and provides a hands-on introduction to writing smart contracts on a modern blockchain using the Python programming language. The goal is to equip students with the necessary skills and theoretical background for creating simple smart contracts and for deploying them on the Algorand blockchain.

The first USI Winter School: Writing Smart Contracts (WSC) from February 14 to 18, 2022 attracted more than 40 participants. We are currently planning the next round of the WSC school.

Course Objectives
After completing the USI WSC winter school, participants will be able to interact programmatically with the Algorand blockchain, extracting information and executing transactions. They will have learnt how to create their own tokens and NFTs as well as how to express simple governance structures, business processes and financial assets as smart contracts. They will be able to implement these smart contracts in Python and to deploy them on the Algorand blockchain. They will understand the differences between functional and contract-oriented programming, as well as the risks specific to smart contract programming. Beyond the technical skills, they will have learnt how to plan and organize individual and group work on smart contracts. While the practical exercises focus on the Algorand blockchain, teaching will emphasize general concepts to facilitate a transfer the skills to other blockchains.

Target Group and Prerequisites
The course is aimed at master or advanced bachelor students in economics or finance as well as practitioners and PhD students. Participants should have at least basic programming skills in Python and a keen interest in the topic. (Students with little Python experience can alternatively complete online tutorials before the begin of the winter school.) No experience with the blockchain is required. While many examples will be from finance and economics, the course is sufficiently general for students from other fields to profit from it. 

Peter Gruber
Peter Gruber has PhDs in financial economics and particle physics. He is Senior Lecturer at the Università della Svizzera italiana (USI) in Lugano. He has been teaching programming to economics and finance students at USI, St. Gallen, Geneva and Bocconi since 2005. Before this, he was part of the neutrino physics efforts at CERN. His current research interests are asset pricing, blockchain economics, data visualization and data science with non-traditional data sets. 

Course assistants
Stefano Viviano is a student of the second year of the Master in Digital Finance. He has worked with the blockchain and digital assets since 2019 and is interested in helping and raising awareness of the potentials of this disruptive technology.

Vittorio De Francesco is a student of the second year of the Master in Digital Finance. He actively worked with blockchain and crypto assets since 2020. After the completion of the master, he aims to work as blockchain developer. 

Grading and Accreditation
Grading is based on an individual project. Students have six weeks after the end of the winter school for completing the project.

The course can be credited at USI as an elective course with 3 ECTS for the Bachelor in Economics as well as for the Master in Finance, the Master in Financial Technology, the Master in Management and Informatics as well as and the Master in Economics. For other universities, crediting must be ensured by the participant. The number of teaching hours (28) and course work are commensurate with 3 ECTS.

Currently, we invite you to pre-register for the next WSC school. You will be the first to hear about the date and you will have an exclusive opportunity to register before everyone else can do so.

For questions, send a mail to the course assistant mattia.biancaterra@usi.ch.