Polkadot-Blockchain-Academy / pba-content

An intensive academic program teaching Blockchain, Substrate, and Polkadot.
https://polkadot-blockchain-academy.github.io/pba-content/
MIT License
57 stars 28 forks source link

[Contracts] Evaluate module content & Outline for content development needs for Berkeley #586

Open nuke-web3 opened 1 year ago

nuke-web3 commented 1 year ago

Of note on decisions already made:

nuke-web3 commented 1 year ago

Some more considerations here:

JoshOrndorff commented 1 year ago

I'll summarize the outcomes of the conversation I just had with @laurenelee, @aaronbassett , and @kianenigma.

This module will be prepared so that it can stand on its own, but, in practice will be taught holistically with module 4 - Blockchain fundamentals. Specifically Smart contracts will start the week and end it, with Blockchain fundamentals coming in the middle. If this content needs to be separated in the future, doing so will be easy, but this time around, we will make this optimization.

Smart Contract Fundamentals - First half of contracts module

80% new content, 20% re-used

Blockchain Fundamentals - All of Blockchain Module

10% new content - 90% reused

Smart Contracts Practical - Second half of contracts module

50% new content - 50% reused

This is one big activity. Instructors introducing 5ish key smart contract ideas (examples follow). Then instructors introduce 4ish key smart contracting languages (examples follow), writing "hello world" or "flipper" or something simple in each language.

Example Smart Contracts:

Example Languages:

Each student is assigned a random smart contract and language pair from the lists. And their task is to implement it. They will naturally be able to collaborate and co-learn with their peers because some of them will have the same contract, and others will have the same language. However, they will scarcely be able to directly plagiarize because only one or two others in the class will have the exact same language-contract pair. This will naturally allow students to compare and contrast the different languages and gain exposure to the various contracts.

This activity could optionally evolve into or lead into the the week 2 assignment.

If there are guest experts available or interested in contributing, either in person or with reference implementations, this would be much appreciated. @notlesh I'm hoping you can be the expert on Solidity, Evm, Vyper here.

Ideally, we will also be able to use Kian's exercise idea here, but if it is not completed yet, no problem.

Start a Blockchain - Capstone activity

50% new content - 50% reused

This is the same "start a blockchain" activity from BA, but this time it will be extended. The chain we launch will have pallet-contracts and frontier already installed. Students will then deploy and interact with their contracts.