Completing Assignments

Each week, assignments will be completed that allow cadets to practice concepts, develop "code comprehension", write smart contracts, and display mastery. Our approach is authentic tasks- adult learning theory conveys that the ability to directly connect a task to useful skill development is the most effective strategy for asynchronous practice.

In Web3, operational excellence and efficiency are integral to success. Shipping on time and of the highest quality are values that we also reinforce with the out of class work.

Using GitHub

Mastering Github is essential. It is a tool that will be a major component of every developer's professional experience. We thus utilize this tool in every way that will be integrated in the future of our cadets work lives.

The WBA GitHub organization is located here. All cadets will be granted access prior course beginning.

You will be shipping code throughout this course. In order to effectively submit all work you will need to create a new GitHub repository that will hold all of your work. The naming convention that will be followed will be CW Q1 2023. Within this repository we request a subfolder for each segment of this course (i.e., Prereqs, Cluster 1, Cluster 2, etc) to be broken down further by the assignments you will receive for each cluster.

For example, within your CW Q1 2023 repository you should have a sub folder of Pre-Requisites further broken down to the two assignments requiring code shipped (described below):

CW Q1 2023\Prerequisites\RustCrashCourse

CW Q1 2023\Prerequisites\PaulX Escrow Contract

Code Journals

Mastery of a skill come from immersing yourself in the study and use of it in many different ways. In order to complete CODE STUDY JOURNAL assignments you will need to complete the following tasks:

1) Select a piece of code/smart contract. Sometimes this will be your own smart contract, but to start there will be choices provided, or you can select on your own. CW-Plus is a great resource you will learn during this course. It is a collection

CW-Plus is a great resource you will learn during this course. It is a collection of CosmWasm smart contracts, many of which are production ready. The faster you get comfortable with CW Plus, the better off you will be!

2) You should annotate the code -- in other words, make notes on the document explaning what is happening through the code.

a) What are the concepts (i.e., borrowing, ownership, vectors, etc.)

b) What is the organization?

c) What is the contract doing? What is the mechanism?

d) How could it be better? More efficient? Safer?

e) During the first month, you will make changes to the code that you think would make it better...or write your own version all together!

3) Once a month, you will have an assignment to make a video of your code sutdy, and show an example of how you made the code better, test, compile, and deploy it on video.

4) As we get further into the course, you will also be able to select code form other chains/in other languages and convert them into Rust/CW

We ask that you interpret and apply these instructions in the way you understand them. Not everyone will do so the same way. There are no wrong answers -- The only way to fail this part is to not do it and ship on time. We are interested in how YOU do this process.

P4BL - Videos

P4BL refers to multiple ways we gain and show mastery of concepts. The components reflect years of research into learning best practices. During the course, cadets will create and share 3 videos. The first will be a walkthrough of a Rust topic- with code examples, preferably with regards to how these concepts are used in CosmWasm smart contracts. The second will be a choice of a walkthrough of a hacked contract, or the cadet's boilerplate/template contract. Finally, all capstones will be submitted with a video demo. Project, Procedure, and Problem based learning are integral, and we immerse in each one. Perhaps the greatest manifestation of mastery is in Presentation.

Last updated