UIUC Fall 2019–Spring 2020 Course List for Cryptography, Cryptocurrencies, and Blockchain (PBFT) — SIG Blockchain Course List

SIG Blockchain@UIUC
4 min readDec 29, 2019

--

🎉(This is our main Facebook banner pic, so you know it’s us lol) . 🎉

I’m making this article after a friend of mine, who leads Design Innovation at UIUC, made a couple of articles (for Fall 2019 and Spring 2020) on course lists for UIUC students, and members of his Registered Student Organization (RSO), interested in design-related topics. (As side note, I recommend Design Innovation’s articles to anyone interested in seriously learning about the front-end web design; while their articles are not focused on web design, they do list some relevant courses for front-end dev that will diversify your skill-set in this multi-skill-demanding industry: CS 465 User Interface Design, IS 351 The Design of Usable Information Interfaces, IS 555 Usability Engineering, and IS 390 Web Technologies & Techniques are the few that stand out).

I also decided to try to form a new daily habit of doing things for other collectives when I find myself feeling bored or tired and try psychologically engineering feelings of gratitude and intrinsic motivation, i.e., I think doing things for other collective groups of people when I become bored or tired will help combat those feelings and repurpose them in a positive way.

Now for what you are all here for… [T]he following are courses currently (or previously) offered at UIUC that are related to cryptography, cryptocurrencies, and practical byzantine fault-tolerant networks (i.e., “blockchains”).

🎉 Courses on 🎉:

Cryptography:

  • ECE498AC/CS498AM: Applied Cryptography, Fall 2019

This course is taught by Andrew Miller, who has been at UIUC for ~5 years now, and is:

  • an “Assistant Professor at the University of Illinois, Urbana-Champaign, in Electrical and Computer Engineering and affiliate in Computer Science”,
  • Associate Director of the Initiative for Cryptocurrencies and Contracts (IC3),
  • Chairman and Treasurer of the Zcash Foundation (he is also one of the ‘founder’s’ (if you want to call it that) of Zcash, albeit currently apart of the “Foundation” side of things as opposed to Wilcox’s “Company”), and
  • and a board member of the Ethereum Enterprise Alliance.

If any course, take this course. You probably will struggle (depending on your level of computer science and skill in problem-solving), but the struggle is well-worth the sheer amount of learning that is done in this course. An added bonus is that you will be able to read current research/technical papers in the industry (e.g. Chia, Arbitrum, Filecoin, etc.). You will also read topics such as Lattice Cryptography, Homomorphic Encryption, Multi-Party Computation, Shamir’s Secret Sharing, and Zero-Knowledge.

In the past, Andrew Miller has taught the following courses as well:

(NO LONGER OFFERED, but interesting to note) ECE 398 SC: Smart Contracts and Blockchain Security, Spring 2018 (2nd half)

(NO LONGER OFFERED, but interesting to note) ECE/CS 598AM: Cryptocurrency Security, Fall 2016

  • CS 598: Special Topics in Cryptography, Fall 2019

Consensus:

  • CS 598: Consensus Algorithms, Fall 2019

Blockchains:

  • ECE 598: Principles of Blockchains, Spring 2020

Taught by Pramod Viswanath, also in the Department of Electrical of Engineering. He has recently dived in to research on blockchains (e.g.

  • Prism: a consensus algorithm that meets information-theoretic limits on throughput, latency, reliability — a roughly 3 order improvement over Bitcoin, while maintaining the same security guarantees. [Paper] [Short Video]
  • Polyshard: a coded sharding architecture for scalable storage in blockchains; it brings up the role of coding theory for distributed computations in blockchains.
  • Spider: an off-chain networking stack bringing best practices of data networking (routing with cycles!) to blockchains.
  • Dandelion: redesigning Bitcoin networking for anonymity. Network-level anonymity properties in Bitcoin. [Short Video]
  • Incentives: equitable designs for proof of stake blockchains.

🎉 Courses outside of UIUC 🎉:

This Udemy course is by far the best course I have found that shows a complete view of how complicated coding for dapps can be. Stephen walks you through not only how to code a smart contract with Solidity and Remix (Solidity’s most popular IDE), but also shows you how to build an interactive front-end using React.js and Next.js by building a kickstarter-like dapp. Since this course requires certain old versions of software and libraries for dev, if you are looking for more rigor beyond this course, I would highly recommend going through the entire course with all your software and library versions up-to-date. Using the most current versions will help you learn how to problem solve by debugging, reading documentation, understanding error outputs, and most of all, how to use other people as people to learn from (i.e., StackExchange, StackOverflow, GitHub, Slack Channels, etc.)!

For any questions, requests for updates, and feedback, feel free to email us at sigblockchain.uiuc@gmail.com

Lastly, get prepared for our upcoming blockchain themed hackathon April 4th and April 5th, 2020! 😉

--

--

SIG Blockchain@UIUC

University of Illinois at Urbana-Champaign ACM Chapter’s Blockchain Special Interest Group.