Decentralized Finance

Alfred Lehar

Finance is undergoing a revolution with the arrival of blockchain technology and smart contracts. Decentralized Finance (DeFi) is an ecosystem of smart contracts that allow token trading, lending, investing (yield farming), and the handling of non-fungible tokens (NFTs). New innovations arrive constantly as DeFi grew from zero to tens of billions of dollars in the last three years. The underlying technology will have a huge impact on how we do finance.

This class will bring you to the frontier of knowledge in this space. This also has downsides: there is practically no course material, and you will have to do significant amount of independent learning. This is not a class where you will get everything handed to you on a silver platter. To succeed, you need to be self-motivated, be able to teach yourself some skills that you are missing, eager to learn, and be willing to invest a great deal of time.

This class will make you very employable in in a high growth area with many great job opportunities. Please note that students will code in this class. If you do not want to code or cannot code, this class is not for you.


Officially the course has FNCE 317 as a pre-requisite, however that will be waived for students with very good coding skills. Students will need to be able to code and be able to work in a Linux environment. You will have access to a university supercomputer (if needed) to process large amounts of data. We will code in Julia, which is modern language designed for data analytics that is good at parallel computing. It is okay if you have never worked in Julia as long as you have experience in some other programming language and are willing to learn. Julia is freeware. Basic knowledge of SQL might be helpful.

You also need to be interested in Finance and show interest in the underlying economic mechanisms of this new smart contract system.

Application process

Send an email to with (i) a summary of why you want to take this class (ii) what coding experience you have (iii) a recent unofficial transcript and (iv) your CV.

Admissions are on an ongoing basis.
Admission to this class is by instructor approval only.

Selection process

Students will be selected based on their coding skills and their GPA in relevant courses like Math, Statistics, Computer Science, Engineering, and/or quantitative classes in Haskayne. Students may send references to support their application, but this is not required. References should be sent directly to


The Haskayne School places a great emphasis on the importance of ethical decision-making and behaviour by students. You should only sign up for the class if you really want to take it as space is extremely limited. By signing up for this class you also agree to use UofC computing resources responsibly and only for the purposes of this class.