I was lucky enough to have an opportunity to present Solidity programming to about 150 people at the University of California, Irvine Blockchain association (UCI Blockchain), mostly to computer science students. Thought I’d share a few notes about what I heard and what I saw.
Fortunately for me, I was on after USC Professor Bhaskar Krishnamachari who presented a comprehensive overview of blockchain in a way that resonates with computer science students and, key for me, in a way that I couldn’t do!
What I Learned From the Front of the Room
When it was my turn, I walked them through a step by step build up of a Solidity smart contract locally using Truffle and Ganache. Then we deployed the contract on Rinkeby and had about eight of the students interact with it using MetaMast. It was very close to what I did at Desert Code Camp a few weeks ago.
During my session, a few issues came up that you might find interesting if you’re out there evangelizing on smart contract development. First, I probably started too fast and glossed over what a smart contract is in the first instance. It’s a key concept, and it takes a minute and a few iterations to soak in—even for a bunch of super smart students.
Second, you might need to spend a little more time on the protocol itself. When I showed them how to interact with the contract using Pragma or through Truffle, they missed some of the fundamentals so there were quite a few questions about who would interact with the contract under what terms, which is basic protocol stuff.
What I Learned from the Back of the Room
While there was a heavy emphasis on learning and training at the UCI Blockathon, some of the students stayed and hacked all night. (I’m at an age now where, if I tried that, I’d be paying for it all the way to Wednesday.)
Since I wasn’t mentoring them all night, I was ok with judging the teams. I’m glad I did because I was blown away with what they created overnight (after three very long training sessions).
First, I noticed that five of the seven teams chose to develop on Ethereum using almost exactly the tech stack and workflow I showed them, which I’ll take as a win.
Next, I noticed a few teams struggled to articulate whether their project was appropriate for blockchain. For example, one team sought to build a supply chain project. Supply chain is a great use case for blockchain, but may not be necessary where a simple B2B transactional system would suffice.
Three of the teams nailed the use case almost perfectly, however. The winner created a complete, end to end Dapp for transferring rights in artists works. The next up has a great use case to put academic records on chain. The third was a using blockchain to track real world payments to charities for transparency.
Finally, the leadership team at UCI Blockchain was fantastic. If they keep operating at high levels like that, I’m expecting great things out of their careers!
Thanks for having me!