Blockchain: Training the Engineers of Tomorrow

This article is part of a series called "Blockchain Training at EPF"

For the past two years, I have had the opportunity and pleasure to work with students from EPF, a general engineering school where I graduated in 2015. Transitioning to the teaching side of things is no easy task, especially without prior experience, but returning to "my" school has greatly facilitated this change in perspective.

EPF Logo

An engineering school has the heavy responsibility of keeping its curriculum up to date to prepare students as effectively as possible for their entry into the workforce. That is why Talan has developed a partnership with EPF for a series of training programs on the theme of Blockchain for their 4th and 5th year students in the computer science field.

Conveying ideas

Our first challenge was to create a theoretical training program. Working on this relatively young technology with disruptive applications brings strong convictions and ideas about what the blockchain can do, but also, and above all, what it cannot do. The implications of implementing such a distributed system have more impacts on organizations and individuals than the technology itself on information systems. Nevertheless, when facing a student audience, it is necessary to closely examine the technical components of the blockchain to grasp its relevance.

There are numerous ideas to convey, covering a wide range of themes, from the smallest technical details to change management, complex concepts, and governance. Formalizing and organizing these ideas into themes, articulating them logically and coherently, detailing the concepts without delving too deep into the implementation, and adapting to the assumed knowledge of students we do not know…​ These are all challenges to overcome, but not without interest. They are, in fact, the best way to realize which concepts we master and which ones deserve further attention.

Definition of a blockchain in 5 words
Definition of a blockchain in 5 words

Through numerous "dry run" presentations of the material to colleagues, we can identify remaining questions, areas where we rushed through complex points, and, above all, we can refine the interactive and illustrated nature of the discourse to keep it engaging.

From trial by fire to polished presentation

After the first edition of the training program under real conditions, with students who seemed interested and asked dozens of questions, we did not want to stop there. The objective was to transition from a basic training program to a comprehensive journey covering multiple Blockchain and DLT technologies for our clients.

It is clear that a training program on such a rapidly evolving subject must remain alive and evolving, even if it requires constant investment.

Theoretical training @ EPF — 04/06/2019
Theoretical training @ EPF — 04/06/2019

That is why the students from the 2020 cohort benefited from a significantly revised training program, similar to the one we provide to our clients or during BBL (Brown Bag Lunch) sessions.

To avoid losing spontaneity and falling into a routine, I try to change at least one slide per presentation, always adapt the content to the audience or the duration, and even take different angles, such as at ESGI, where I also gave a conference on the risks of the blockchain.

Formation théorique @ EPF — 04/06/2019

Adapting one’s discourse to the audience is essential: when facing a highly skilled and functional audience, we skim over the technical aspects, while with developers, it is often necessary to delve into the depths of the blockchain, discussing consensus algorithms, and so on.

From theory to practice, there’s only the creation of a tutorial

Without a direct request from EPF, we wanted to limit the time devoted to theoretical presentations and allow more time for practical work.

In order to remain relatively accessible and in line with the idea of true decentralization, we initially chose to focus on Ethereum, probably the most accessible blockchain.

But where to start?

CryptoZombies

Our first experiments with Ethereum date back to the end of 2016, before a fully developed ecosystem was in place. However, by keeping an eye on the latest developments, we couldn’t miss the resounding success of [CryptoZombies](https://cryptozombies.io/fr/), which is undoubtedly the best way to learn the Solidity language of Ethereum smart contracts.

CryptoZombies Logo

CryptoZombies was created by [Loom Network](https://loomx.io/) to make learning Solidity easier. Convinced of its relevance, we believe that our students should benefit from these excellent exercises. Beyond the convenience it provides for us, CryptoZombies is well thought out and particularly user-friendly. It would be a shame to create a dedicated training program when the community agrees to use it.

By creating an army of zombies, students acquire the technical basics of smart contract development. It is then time to move on to even more serious things!

Decentralized Voting

For the plunge into the deep end, we chose to develop a decentralized voting application as a practical work (TP).

To ensure that no one is left behind and to facilitate the supervision of this TP, we decided to create the most comprehensive support possible and provide a set of unit tests that validate each step of the development process.

TP Support Cover Page
TP Support Cover Page

This upfront preparation was far from insignificant and took several weeks:

  • Creation of a minimal voting system (allowing the creation of elections with candidates and voting for one of them in each election) and validation of the developments through unit tests.

  • Drafting of a first version of the support material, based on the recent developments that had taken place.

  • Completion of the TP by 10 of our colleagues, based solely on the support material, to gather as much feedback as possible.

  • Correction and improvement of the support material, as well as the exercises to be performed (finding the right balance between providing complete guidance and avoiding confusion in the instructions, establishing an exhaustive list of prerequisites, etc.).

  • New tests under quasi-real conditions, and so on.

And then the day arrives. Around sixty students have to follow our instructions, starting with setting up their development environment. And that’s where the first difficulties arise.

TP @ EPF — 04/06/2019
TP @ EPF — 04/06/2019

Obviously, on a developer’s PC, most of the prerequisites are already in place (mastered environment variables, installed and mastered tools, etc.). But on computers with varying performance and operating systems, with highly heterogeneous levels of mastery and sometimes overlooked instructions, the first barrage of questions is surprising. What seems obvious to us is not so for everyone else, and that is our first lesson. What seems complex to us is not necessarily so for everyone else either, and that is our best surprise.

While we expected difficulties in understanding and writing smart contracts, for example, most of the issues encountered were actually related to calling them from a web page. These notions of smart contracts and their language (Solidity) may be relatively innovative, but for beginners, web development is equally new.

Feedback

We came to share knowledge but also to benefit from the lessons that the students have to offer. By creating an atmosphere of trust (which is easier when we come from the same school), it becomes possible to gather honest feedback and ideas for improvement from those closest to the field.

During these training days, the balance between theory and practice seemed good, but the difficulties encountered in web development hindered the students' experience.

There is no doubt that we take these issues into account in order to address them in the next session. For example, by providing more unit tests that provide stricter guidance or a more satisfying and appealing web interface for everyone.




Watch the video presentation of these training sessions for EPF students conducted by Talan:




Beyond these occasional training sessions of a few days in the 4th and 5th years, Talan Labs has also embarked on supporting a smaller project group (5 in 2018/2019 and 8 in 2019/2020), always focusing on the blockchain theme.